Module: Mesa Branch: master Commit: 66a6050ad8a56d4d04624870e6845579bd0581b2 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=66a6050ad8a56d4d04624870e6845579bd0581b2
Author: Timothy Arceri <timothy.arc...@collabora.com> Date: Tue Nov 22 18:25:20 2016 +1100 mesa/glsl: move redeclares_gl_fragcoord to gl_shader This is never used in gl_linked_shader other than as a temp during linking so just use a temp instead. Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com> --- src/compiler/glsl/glsl_parser_extras.cpp | 3 +-- src/compiler/glsl/linker.cpp | 21 ++++++++------------- src/mesa/main/mtypes.h | 3 ++- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index d84a3f8..99bdfcc 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -1808,8 +1808,7 @@ set_shader_inout_layout(struct gl_shader *shader, break; case MESA_SHADER_FRAGMENT: - shader->info.redeclares_gl_fragcoord = - state->fs_redeclares_gl_fragcoord; + shader->redeclares_gl_fragcoord = state->fs_redeclares_gl_fragcoord; shader->info.uses_gl_fragcoord = state->fs_uses_gl_fragcoord; shader->info.pixel_center_integer = state->fs_pixel_center_integer; shader->info.origin_upper_left = state->fs_origin_upper_left; diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 3846679..6876151 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -1826,7 +1826,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog, struct gl_shader **shader_list, unsigned num_shaders) { - linked_shader->info.redeclares_gl_fragcoord = false; + bool redeclares_gl_fragcoord = false; linked_shader->info.uses_gl_fragcoord = false; linked_shader->info.origin_upper_left = false; linked_shader->info.pixel_center_integer = false; @@ -1844,12 +1844,10 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog, * it must be redeclared in all the fragment shaders in that program * that have a static use gl_FragCoord." */ - if ((linked_shader->info.redeclares_gl_fragcoord - && !shader->info.redeclares_gl_fragcoord - && shader->info.uses_gl_fragcoord) - || (shader->info.redeclares_gl_fragcoord - && !linked_shader->info.redeclares_gl_fragcoord - && linked_shader->info.uses_gl_fragcoord)) { + if ((redeclares_gl_fragcoord && !shader->redeclares_gl_fragcoord && + shader->info.uses_gl_fragcoord) + || (shader->redeclares_gl_fragcoord && !redeclares_gl_fragcoord && + linked_shader->info.uses_gl_fragcoord)) { linker_error(prog, "fragment shader defined with conflicting " "layout qualifiers for gl_FragCoord\n"); } @@ -1859,8 +1857,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog, * "All redeclarations of gl_FragCoord in all fragment shaders in a * single program must have the same set of qualifiers." */ - if (linked_shader->info.redeclares_gl_fragcoord && - shader->info.redeclares_gl_fragcoord && + if (redeclares_gl_fragcoord && shader->redeclares_gl_fragcoord && (shader->info.origin_upper_left != linked_shader->info.origin_upper_left || shader->info.pixel_center_integer != @@ -1874,10 +1871,8 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog, * are multiple redeclarations, all the fields except uses_gl_fragcoord * are already known to be the same. */ - if (shader->info.redeclares_gl_fragcoord || - shader->info.uses_gl_fragcoord) { - linked_shader->info.redeclares_gl_fragcoord = - shader->info.redeclares_gl_fragcoord; + if (shader->redeclares_gl_fragcoord || shader->info.uses_gl_fragcoord) { + redeclares_gl_fragcoord = shader->redeclares_gl_fragcoord; linked_shader->info.uses_gl_fragcoord = linked_shader->info.uses_gl_fragcoord || shader->info.uses_gl_fragcoord; diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index cb35aa1..cbf2e95 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2243,7 +2243,6 @@ struct gl_subroutine_function struct gl_shader_info { bool uses_gl_fragcoord; - bool redeclares_gl_fragcoord; bool PostDepthCoverage; bool InnerCoverage; @@ -2435,6 +2434,8 @@ struct gl_shader bool ARB_fragment_coord_conventions_enable; + bool redeclares_gl_fragcoord; + struct gl_shader_info info; }; _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit