2020
2121const char * atomicCounterEmulatedWatermark = " // Non-opaque atomic uniform converted to SSBO" ;
2222
23- #if !defined(__APPLE__)
24- char * (*MesaConvertShader)(const char *src, unsigned int type, unsigned int glsl, unsigned int essl);
25- #endif
26-
2723static TBuiltInResource InitResources ()
2824{
2925 TBuiltInResource Resources{};
@@ -353,7 +349,8 @@ std::string GLSLtoGLSLES(const char* glsl_code, GLenum glsl_type, uint essl_vers
353349 }
354350
355351 return_code = -1 ;
356- std::string converted = glsl_version<140 ? GLSLtoGLSLES_1 (glsl_code, glsl_type, essl_version, return_code):GLSLtoGLSLES_2 (glsl_code, glsl_type, essl_version, return_code);
352+ // std::string converted = glsl_version<140? GLSLtoGLSLES_1(glsl_code, glsl_type, essl_version, return_code):GLSLtoGLSLES_2(glsl_code, glsl_type, essl_version, return_code);
353+ std::string converted = GLSLtoGLSLES_2 (glsl_code, glsl_type, essl_version, return_code);
357354 if (return_code >= 0 && !converted.empty ()) {
358355 converted = process_uniform_declarations (converted);
359356 Cache::get_instance ().put (sha256_string.c_str (), converted.c_str ());
@@ -762,9 +759,14 @@ std::string preprocess_glsl(const std::string& glsl, GLenum shaderType, bool* at
762759int get_or_add_glsl_version (std::string& glsl) {
763760 int glsl_version = getGLSLVersion (glsl.c_str ());
764761 if (glsl_version == -1 ) {
765- glsl_version = 140 ;
766- glsl.insert (0 , " #version 140\n " );
762+ glsl_version = 150 ;
763+ glsl.insert (0 , " #version 150\n " );
764+ } else if (glsl_version < 140 ) {
765+ // force upgrade glsl version
766+ glsl = replace_line_starting_with (glsl, " #version" , " #version 150 compatibility\n " );
767+ glsl_version = 150 ;
767768 }
769+
768770 LOG_D (" GLSL version: %d" ,glsl_version)
769771 return glsl_version;
770772}
@@ -912,7 +914,8 @@ std::string GLSLtoGLSLES_2(const char *glsl_code, GLenum glsl_type, uint essl_ve
912914 return essl;
913915}
914916
915- std::string GLSLtoGLSLES_1 (const char *glsl_code, GLenum glsl_type, uint esversion, int & return_code) {
917+ std::string GLSLtoGLSLES_1 (const char *glsl_code, GLenum glsl_type, uint esversion, int & return_code) { // useless now
918+ /*
916919#if !defined(__APPLE__)
917920 LOG_W("Warning: use glsl optimizer to convert shader.")
918921 if (esversion < 300) esversion = 300;
@@ -924,4 +927,5 @@ std::string GLSLtoGLSLES_1(const char *glsl_code, GLenum glsl_type, uint esversi
924927 LOG_W_FORCE("Cannot convert glsl with version %d in MacOS/iOS", esversion);
925928 return std::string(glsl_code);
926929#endif
930+ */
927931}
0 commit comments