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 <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Marek Olšák <maraeo@gmail.com>
This commit is contained in:
committed by
Kenneth Graunke
parent
767ba60831
commit
1e6a2c1059
@@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user