Module: Mesa Branch: master Commit: 42699e12711668a142b7acf11c168cf4301c1295 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=42699e12711668a142b7acf11c168cf4301c1295
Author: Kenneth Graunke <[email protected]> Date: Sat Jan 7 12:55:17 2017 -0800 glsl: Make is_fixed_function_array actually check for varyings. We can't check VARYING_SLOT_* locations until we've determined that the variable is actually a varying. Fixes assert failures in drivers which actually use this path, such as radeonsi and i915. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99314 Signed-off-by: Kenneth Graunke <[email protected]> --- src/compiler/glsl/ir_set_program_inouts.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/compiler/glsl/ir_set_program_inouts.cpp b/src/compiler/glsl/ir_set_program_inouts.cpp index 376d9c6..354b533 100644 --- a/src/compiler/glsl/ir_set_program_inouts.cpp +++ b/src/compiler/glsl/ir_set_program_inouts.cpp @@ -337,6 +337,10 @@ is_multiple_vertices(gl_shader_stage stage, ir_variable *var) static bool is_fixed_function_array(ir_variable *var) { + if (var->data.mode != ir_var_shader_in && + var->data.mode != ir_var_shader_out) + return false; + switch (var->data.location) { case VARYING_SLOT_TESS_LEVEL_OUTER: case VARYING_SLOT_TESS_LEVEL_INNER: _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
