OpenGL: support GLSL 3.3 core profile
authorMike Erwin <significant.bit@gmail.com>
Fri, 7 Apr 2017 16:50:44 +0000 (12:50 -0400)
committerMike Erwin <significant.bit@gmail.com>
Fri, 7 Apr 2017 16:51:11 +0000 (12:51 -0400)
When WITH_LEGACY_OPENGL = OFF.

This is our final target for Blender 2.8, all previous versions will be dropped in the future. GLSL 3.3 is richer so we don't require as many extensions.

source/blender/gpu/intern/gpu_shader.c

index 7e705662ac514b06124059fbe8a9e2dae9a9b15a..cea03b098436503cf720eefd473d0d30debd0623 100644 (file)
@@ -178,6 +178,7 @@ static void shader_print_errors(const char *task, const char *log, const char **
 
 static const char *gpu_shader_version(void)
 {
+#ifdef WITH_LEGACY_OPENGL
        if (GLEW_VERSION_3_3) {
                if (GPU_legacy_support()) {
                        return "#version 330 compatibility\n";
@@ -201,9 +202,11 @@ static const char *gpu_shader_version(void)
                return "#version 120\n";
                /* minimum supported */
        }
+#else
+       return "#version 330\n";
+#endif
 }
 
-
 static void gpu_shader_standard_extensions(char defines[MAX_EXT_DEFINE_LENGTH], bool use_geometry_shader)
 {
        /* enable extensions for features that are not part of our base GLSL version
@@ -215,6 +218,7 @@ static void gpu_shader_standard_extensions(char defines[MAX_EXT_DEFINE_LENGTH],
                strcat(defines, "#extension GL_ARB_texture_query_lod: enable\n");
        }
 
+#ifdef WITH_LEGACY_OPENGL
        if (use_geometry_shader && GPU_geometry_shader_support_via_extension()) {
                strcat(defines, "#extension GL_EXT_geometry_shader4: enable\n");
        }
@@ -232,6 +236,9 @@ static void gpu_shader_standard_extensions(char defines[MAX_EXT_DEFINE_LENGTH],
                        strcat(defines, "#extension GL_EXT_gpu_shader4: require\n");
                }
        }
+#else
+       (void)use_geometry_shader;
+#endif
 }
 
 static void gpu_shader_standard_defines(char defines[MAX_DEFINE_LENGTH],