Module: Mesa Branch: master Commit: 1556f16e46ba3037c3901808c2e1ac5df8e2b20e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1556f16e46ba3037c3901808c2e1ac5df8e2b20e
Author: Kenneth Graunke <kenn...@whitecape.org> Date: Thu Jun 23 23:12:45 2016 -0700 glsl: Fix the program resource names of gl_TessLevelOuter/Inner[]. These are lowered to gl_TessLevel{Outer,Inner}MESA. We need them to appear in the program resource list with their original names and types. Cc: mesa-sta...@lists.freedesktop.org Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> Reviewed-by: Timothy Arceri <timothy.arc...@collabora.com> --- src/compiler/glsl/linker.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 6d45a02..2271676 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -3702,6 +3702,18 @@ create_shader_variable(struct gl_shader_program *shProg, if (in->data.mode == ir_var_system_value && in->data.location == SYSTEM_VALUE_VERTEX_ID_ZERO_BASE) { out->name = ralloc_strdup(shProg, "gl_VertexID"); + } else if ((in->data.mode == ir_var_shader_out && + in->data.location == VARYING_SLOT_TESS_LEVEL_OUTER) || + (in->data.mode == ir_var_system_value && + in->data.location == SYSTEM_VALUE_TESS_LEVEL_OUTER)) { + out->name = ralloc_strdup(shProg, "gl_TessLevelOuter"); + type = glsl_type::get_array_instance(glsl_type::float_type, 4); + } else if ((in->data.mode == ir_var_shader_out && + in->data.location == VARYING_SLOT_TESS_LEVEL_INNER) || + (in->data.mode == ir_var_system_value && + in->data.location == SYSTEM_VALUE_TESS_LEVEL_INNER)) { + out->name = ralloc_strdup(shProg, "gl_TessLevelInner"); + type = glsl_type::get_array_instance(glsl_type::float_type, 2); } else { out->name = ralloc_strdup(shProg, name); } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit