Tested-by: Mark Janes <mark.a.ja...@intel.com> Tapani Pälli <tapani.pa...@intel.com> writes:
> Refactoring done on active attribute queries did not take in to > account special built-in inputs for the vertex stage. This commit > sets them referenced by vertex stage so that they get enumerated > properly. > > Fixes Piglit test 'get-active-attrib-returns-all-inputs' failure. > > Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90243 > --- > src/glsl/linker.cpp | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp > index 21fde94..6064f2f 100644 > --- a/src/glsl/linker.cpp > +++ b/src/glsl/linker.cpp > @@ -2556,6 +2556,7 @@ add_interface_variables(struct gl_shader_program > *shProg, > { > foreach_in_list(ir_instruction, node, sh->ir) { > ir_variable *var = node->as_variable(); > + uint8_t mask = 0; > > if (!var) > continue; > @@ -2571,6 +2572,10 @@ add_interface_variables(struct gl_shader_program > *shProg, > var->data.location != SYSTEM_VALUE_VERTEX_ID_ZERO_BASE && > var->data.location != SYSTEM_VALUE_INSTANCE_ID) > continue; > + /* Mark special built-in inputs referenced by the vertex stage so > + * that they are considered active by the shader queries. > + */ > + mask = (1 << (MESA_SHADER_VERTEX)); > /* FALLTHROUGH */ > case ir_var_shader_in: > if (programInterface != GL_PROGRAM_INPUT) > @@ -2585,7 +2590,7 @@ add_interface_variables(struct gl_shader_program > *shProg, > }; > > if (!add_program_resource(shProg, programInterface, var, > - build_stageref(shProg, var->name))) > + build_stageref(shProg, var->name) | mask)) > return false; > } > return true; > -- > 2.1.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev