Mesa (master): glsl: Add all system variables to the input resource list.
Kenneth Graunke
kwg at kemper.freedesktop.org
Sat Apr 2 05:05:34 UTC 2016
Module: Mesa
Branch: master
Commit: 98c22c04036da4f0a7fcc396dc6c5e0bfe5890e5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=98c22c04036da4f0a7fcc396dc6c5e0bfe5890e5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Mar 29 12:07:37 2016 -0700
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 <kenneth at whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
---
src/compiler/glsl/linker.cpp | 10 ----------
src/mesa/main/shader_query.cpp | 9 +--------
2 files changed, 1 insertion(+), 18 deletions(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index 0005d49..19f4641 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 993dc86..e85e81d 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;
More information about the mesa-commit
mailing list