Fix T45491 not all GPUs support those extensions, use check for

opensubdiv to enable.
This commit is contained in:
2015-08-20 16:05:24 +03:00
parent f9791155e4
commit 3fd89df6e7

View File

@@ -1550,16 +1550,19 @@ static const char *gpu_shader_version(bool use_opensubdiv)
}
static void gpu_shader_standard_extensions(char defines[MAX_EXT_DEFINE_LENGTH])
static void gpu_shader_standard_extensions(char defines[MAX_EXT_DEFINE_LENGTH], bool use_opensubdiv)
{
#ifdef WITH_OPENSUBDIV
strcat(defines, "#extension GL_ARB_texture_query_lod: enable\n"
"#extension GL_ARB_gpu_shader5 : enable\n"
"#extension GL_ARB_explicit_attrib_location : require\n");
if (use_opensubdiv) {
strcat(defines, "#extension GL_ARB_texture_query_lod: enable\n"
"#extension GL_ARB_gpu_shader5 : enable\n"
"#extension GL_ARB_explicit_attrib_location : require\n");
}
#else
/* need this extension for high quality bump mapping */
if (GPU_bicubic_bump_support())
strcat(defines, "#extension GL_ARB_texture_query_lod: enable\n");
(void) use_opensubdiv;
#endif
if (GPU_geometry_shader_support())
@@ -1719,7 +1722,7 @@ GPUShader *GPU_shader_create(const char *vertexcode, const char *fragcode, const
}
gpu_shader_standard_defines(use_opensubdiv, standard_defines);
gpu_shader_standard_extensions(standard_extensions);
gpu_shader_standard_extensions(standard_extensions, use_opensubdiv);
if (vertexcode) {
const char *source[5];