From 0a9d102ddc3af65a136a936ff4fb02bcc15377c0 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Tue, 22 Nov 2016 18:50:03 +1100 Subject: [PATCH] mesa/glsl: move origin_upper_left to gl_shader This is only used by gl_linked_shader as a temp during linking so use a temp there instead. Reviewed-by: Lionel Landwerlin --- src/compiler/glsl/glsl_parser_extras.cpp | 2 +- src/compiler/glsl/linker.cpp | 8 +++----- src/mesa/main/mtypes.h | 9 +++++---- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index afb7260ddda..fe494235066 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -1811,7 +1811,7 @@ set_shader_inout_layout(struct gl_shader *shader, shader->redeclares_gl_fragcoord = state->fs_redeclares_gl_fragcoord; shader->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; + shader->origin_upper_left = state->fs_origin_upper_left; shader->ARB_fragment_coord_conventions_enable = state->ARB_fragment_coord_conventions_enable; shader->EarlyFragmentTests = state->fs_early_fragment_tests; diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 332455430a2..6db48f9808b 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -1828,7 +1828,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog, { bool redeclares_gl_fragcoord = false; bool uses_gl_fragcoord = false; - linked_shader->info.origin_upper_left = false; + bool origin_upper_left = false; linked_shader->info.pixel_center_integer = false; if (linked_shader->Stage != MESA_SHADER_FRAGMENT || @@ -1858,8 +1858,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog, * single program must have the same set of qualifiers." */ if (redeclares_gl_fragcoord && shader->redeclares_gl_fragcoord && - (shader->info.origin_upper_left != - linked_shader->info.origin_upper_left || + (shader->origin_upper_left != origin_upper_left || shader->info.pixel_center_integer != linked_shader->info.pixel_center_integer)) { linker_error(prog, "fragment shader defined with conflicting " @@ -1874,8 +1873,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog, if (shader->redeclares_gl_fragcoord || shader->uses_gl_fragcoord) { redeclares_gl_fragcoord = shader->redeclares_gl_fragcoord; uses_gl_fragcoord |= shader->uses_gl_fragcoord; - linked_shader->info.origin_upper_left = - shader->info.origin_upper_left; + origin_upper_left = shader->origin_upper_left; linked_shader->info.pixel_center_integer = shader->info.pixel_center_integer; } diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 5548827a992..cf06674ebfe 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2245,10 +2245,6 @@ struct gl_shader_info bool PostDepthCoverage; bool InnerCoverage; - /** - * Fragment shader state from GLSL 1.50 layout qualifiers. - */ - bool origin_upper_left; bool pixel_center_integer; struct { @@ -2436,6 +2432,11 @@ struct gl_shader bool redeclares_gl_fragcoord; bool uses_gl_fragcoord; + /** + * Fragment shader state from GLSL 1.50 layout qualifiers. + */ + bool origin_upper_left; + struct gl_shader_info info; }; -- 2.30.2