From: Ian Romanick Date: Wed, 29 Feb 2012 16:29:39 +0000 (-0800) Subject: glsl: Make gl_InstanceID available with GL_ARB_draw_instanced extension X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1e6a2c10590bc6b4112ec2e54e1de7d8f9fd349d;p=mesa.git glsl: Make gl_InstanceID available with GL_ARB_draw_instanced extension Originally ARB_draw_instanced only specified that ARB decorated name. Since no vendor actually implemented that behavior and some apps use the undecorated name, the extension now specifies that both names are available. Signed-off-by: Ian Romanick Reviewed-by: Kenneth Graunke Reviewed-by: Marek Olšák --- diff --git a/src/glsl/builtin_variables.cpp b/src/glsl/builtin_variables.cpp index ed6b922ca62..66b3abdd84c 100644 --- a/src/glsl/builtin_variables.cpp +++ b/src/glsl/builtin_variables.cpp @@ -870,13 +870,25 @@ generate_ARB_draw_instanced_variables(exec_list *instructions, /* gl_InstanceIDARB is only available in the vertex shader. */ if (target == vertex_shader) { - ir_variable *const inst = + ir_variable *inst = add_variable(instructions, state->symbols, "gl_InstanceIDARB", glsl_type::int_type, ir_var_system_value, SYSTEM_VALUE_INSTANCE_ID); if (warn) inst->warn_extension = "GL_ARB_draw_instanced"; + + /* Originally ARB_draw_instanced only specified that ARB decorated name. + * Since no vendor actually implemented that behavior and some apps use + * the undecorated name, the extension now specifies that both names are + * available. + */ + inst = add_variable(instructions, state->symbols, + "gl_InstanceID", glsl_type::int_type, + ir_var_system_value, SYSTEM_VALUE_INSTANCE_ID); + + if (warn) + inst->warn_extension = "GL_ARB_draw_instanced"; } }