summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2016-11-22 18:50:03 +1100
committerTimothy Arceri <[email protected]>2017-01-19 17:05:26 +1100
commit0a9d102ddc3af65a136a936ff4fb02bcc15377c0 (patch)
treea34531b73dc508062cf25ad82d9c675aca65803b
parentceeedb9bb0f935569f4afdfef716154f612298e2 (diff)
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 <[email protected]>
-rw-r--r--src/compiler/glsl/glsl_parser_extras.cpp2
-rw-r--r--src/compiler/glsl/linker.cpp8
-rw-r--r--src/mesa/main/mtypes.h9
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;
};