This is only used by gl_linked_shader as a temp during linking so use a temp there instead. --- src/compiler/glsl/glsl_parser_extras.cpp | 2 +- src/compiler/glsl/linker.cpp | 8 +++----- src/mesa/main/mtypes.h | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp index 6d7da29..2711b71 100644 --- a/src/compiler/glsl/glsl_parser_extras.cpp +++ b/src/compiler/glsl/glsl_parser_extras.cpp @@ -1806,7 +1806,7 @@ set_shader_inout_layout(struct gl_shader *shader, case MESA_SHADER_FRAGMENT: 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->pixel_center_integer = state->fs_pixel_center_integer; shader->origin_upper_left = state->fs_origin_upper_left; shader->ARB_fragment_coord_conventions_enable = state->ARB_fragment_coord_conventions_enable; diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index a8fe922..8bbbf7a 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; bool origin_upper_left = false; - linked_shader->info.pixel_center_integer = false; + bool pixel_center_integer = false; if (linked_shader->Stage != MESA_SHADER_FRAGMENT || (prog->data->Version < 150 && @@ -1858,8 +1858,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog, */ if (redeclares_gl_fragcoord && shader->redeclares_gl_fragcoord && (shader->origin_upper_left != origin_upper_left || - shader->info.pixel_center_integer != - linked_shader->info.pixel_center_integer)) { + shader->pixel_center_integer != pixel_center_integer)) { linker_error(prog, "fragment shader defined with conflicting " "layout qualifiers for gl_FragCoord\n"); } @@ -1873,8 +1872,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog, redeclares_gl_fragcoord = shader->redeclares_gl_fragcoord; uses_gl_fragcoord |= shader->uses_gl_fragcoord; origin_upper_left = shader->origin_upper_left; - linked_shader->info.pixel_center_integer = - shader->info.pixel_center_integer; + pixel_center_integer = shader->pixel_center_integer; } linked_shader->Program->info.fs.early_fragment_tests |= diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 610285d..1a38830 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -2234,8 +2234,6 @@ struct gl_subroutine_function */ struct gl_shader_info { - bool pixel_center_integer; - struct { /** Global xfb_stride out qualifier if any */ GLuint BufferStride[MAX_FEEDBACK_BUFFERS]; @@ -2421,6 +2419,7 @@ struct gl_shader * Fragment shader state from GLSL 1.50 layout qualifiers. */ bool origin_upper_left; + bool pixel_center_integer; struct gl_shader_info info; }; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev