mesa/glsl: move pixel_center_integer to gl_shader
authorTimothy Arceri <timothy.arceri@collabora.com>
Tue, 22 Nov 2016 08:47:48 +0000 (19:47 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Thu, 19 Jan 2017 06:05:26 +0000 (17:05 +1100)
This is only used by gl_linked_shader as a temp during linking
so use a temp there instead.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/compiler/glsl/glsl_parser_extras.cpp
src/compiler/glsl/linker.cpp
src/mesa/main/mtypes.h

index fe494235066b097f319e942580dfc9a347a93f53..70bde069e7abdbf63c990521f24b140cf530e427 100644 (file)
@@ -1810,7 +1810,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;
index 6db48f9808b58917b726078b7020dccb4f45d75a..5f96a7e7447d008fc50ca16d734519ed0fa48c33 100644 (file)
@@ -1829,7 +1829,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 &&
@@ -1859,8 +1859,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");
       }
@@ -1874,8 +1873,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 |=
index cf06674ebfeec22a16be69da57cb9761ae6a6742..7b8be09d77825863111369a8bee829b37efe3855 100644 (file)
@@ -2245,8 +2245,6 @@ struct gl_shader_info
    bool PostDepthCoverage;
    bool InnerCoverage;
 
-   bool pixel_center_integer;
-
    struct {
       /** Global xfb_stride out qualifier if any */
       GLuint BufferStride[MAX_FEEDBACK_BUFFERS];
@@ -2436,6 +2434,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;
 };