summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2016-03-29 12:07:37 -0700
committerKenneth Graunke <[email protected]>2016-04-01 22:05:18 -0700
commit98c22c04036da4f0a7fcc396dc6c5e0bfe5890e5 (patch)
tree7117669a26b80ab2d42e2306f484c0a20a635997 /src
parent6e8b9d5bdd200a8e65cdefe1d2f97bacc5a2c63d (diff)
glsl: Add all system variables to the input resource list.
System values are just built-in input variables that we've opted to special-case out of convenience. We need to consider all inputs, regardless of how we've classified them. Unfortunately, there's one exception: we shouldn't add gl_BaseVertex unless ARB_shader_draw_parameters is enabled, because it doesn't actually exist in the language, and shouldn't be counted in the GL_ACTIVE_RESOURCES query. Fixes dEQP-GLES31.functional.program_interface_query.program_input. resource_list.compute.empty, which expects gl_NumWorkGroups to appear in the resource list. v2: Delete more code Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/compiler/glsl/linker.cpp10
-rw-r--r--src/mesa/main/shader_query.cpp9
2 files changed, 1 insertions, 18 deletions
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index 0005d4965e1..19f4641c724 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -3531,17 +3531,7 @@ add_interface_variables(struct gl_shader_program *shProg,
continue;
switch (var->data.mode) {
- /* From GL 4.3 core spec, section 11.1.1 (Vertex Attributes):
- * "For GetActiveAttrib, all active vertex shader input variables
- * are enumerated, including the special built-in inputs gl_VertexID
- * and gl_InstanceID."
- */
case ir_var_system_value:
- if (var->data.location != SYSTEM_VALUE_VERTEX_ID &&
- var->data.location != SYSTEM_VALUE_VERTEX_ID_ZERO_BASE &&
- var->data.location != SYSTEM_VALUE_INSTANCE_ID)
- continue;
- /* FALLTHROUGH */
case ir_var_shader_in:
if (programInterface != GL_PROGRAM_INPUT)
continue;
diff --git a/src/mesa/main/shader_query.cpp b/src/mesa/main/shader_query.cpp
index 993dc863220..e85e81d897c 100644
--- a/src/mesa/main/shader_query.cpp
+++ b/src/mesa/main/shader_query.cpp
@@ -112,14 +112,7 @@ is_active_attrib(const gl_shader_variable *var)
return var->location != -1;
case ir_var_system_value:
- /* From GL 4.3 core spec, section 11.1.1 (Vertex Attributes):
- * "For GetActiveAttrib, all active vertex shader input variables
- * are enumerated, including the special built-in inputs gl_VertexID
- * and gl_InstanceID."
- */
- return var->location == SYSTEM_VALUE_VERTEX_ID ||
- var->location == SYSTEM_VALUE_VERTEX_ID_ZERO_BASE ||
- var->location == SYSTEM_VALUE_INSTANCE_ID;
+ return true;
default:
return false;