Module: Mesa Branch: master Commit: 64e201ab8f08daa2c189ab615a4096daf60c27c5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=64e201ab8f08daa2c189ab615a4096daf60c27c5
Author: Timothy Arceri <timothy.arc...@collabora.com> Date: Sun Nov 20 22:23:17 2016 +1100 glsl: use last_vert_prog to get last {clip,cull}_distance_array_size Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> --- src/compiler/glsl/link_varyings.cpp | 6 ++++-- src/compiler/glsl/linker.cpp | 14 -------------- src/mesa/main/mtypes.h | 7 ------- 3 files changed, 4 insertions(+), 23 deletions(-) diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp index eef215d..f0df3d6 100644 --- a/src/compiler/glsl/link_varyings.cpp +++ b/src/compiler/glsl/link_varyings.cpp @@ -745,10 +745,12 @@ tfeedback_decl::assign_location(struct gl_context *ctx, unsigned actual_array_size; switch (this->lowered_builtin_array_variable) { case clip_distance: - actual_array_size = prog->LastClipDistanceArraySize; + actual_array_size = prog->last_vert_prog ? + prog->last_vert_prog->info.clip_distance_array_size : 0; break; case cull_distance: - actual_array_size = prog->LastCullDistanceArraySize; + actual_array_size = prog->last_vert_prog ? + prog->last_vert_prog->info.cull_distance_array_size : 0; break; case tess_level_outer: actual_array_size = 4; diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 261ac23..1664c9f 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -4775,20 +4775,6 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) } } - if (num_shaders[MESA_SHADER_GEOMETRY] > 0) { - prog->LastClipDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_GEOMETRY]->Program->info.clip_distance_array_size; - prog->LastCullDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_GEOMETRY]->Program->info.cull_distance_array_size; - } else if (num_shaders[MESA_SHADER_TESS_EVAL] > 0) { - prog->LastClipDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_TESS_EVAL]->Program->info.clip_distance_array_size; - prog->LastCullDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_TESS_EVAL]->Program->info.cull_distance_array_size; - } else if (num_shaders[MESA_SHADER_VERTEX] > 0) { - prog->LastClipDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_VERTEX]->Program->info.clip_distance_array_size; - prog->LastCullDistanceArraySize = prog->_LinkedShaders[MESA_SHADER_VERTEX]->Program->info.cull_distance_array_size; - } else { - prog->LastClipDistanceArraySize = 0; /* Not used */ - prog->LastCullDistanceArraySize = 0; /* Not used */ - } - /* Here begins the inter-stage linking phase. Some initial validation is * performed, then locations are assigned for uniforms, attributes, and * varyings. diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 274dbd5..56ab614 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2794,13 +2794,6 @@ struct gl_shader_program struct exec_list EmptyUniformLocations; /** - * Size of the gl_ClipDistance array that is output from the last pipeline - * stage before the fragment shader. - */ - unsigned LastClipDistanceArraySize; - unsigned LastCullDistanceArraySize; - - /** * Total number of explicit uniform location including inactive uniforms. */ unsigned NumExplicitUniformLocations; _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit