From 1e6a2c10590bc6b4112ec2e54e1de7d8f9fd349d Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 29 Feb 2012 08:29:39 -0800 Subject: [PATCH] glsl: Make gl_InstanceID available with GL_ARB_draw_instanced extension MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/glsl/builtin_variables.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/glsl/builtin_variables.cpp b/src/glsl/builtin_variables.cpp index ed6b922..66b3abd 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"; } } -- 2.7.4