glsl: set patch outputs written directly in shader_info
authorTimothy Arceri <timothy.arceri@collabora.com>
Thu, 20 Oct 2016 05:25:28 +0000 (16:25 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Wed, 26 Oct 2016 03:29:36 +0000 (14:29 +1100)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/compiler/glsl/ir_set_program_inouts.cpp
src/compiler/shader_info.c
src/mesa/main/mtypes.h

index 91fa0fc..d8c4d70 100644 (file)
@@ -128,7 +128,7 @@ mark(struct gl_program *prog, ir_variable *var, int offset, int len,
       } else {
          assert(var->data.mode == ir_var_shader_out);
          if (is_patch_generic) {
-            prog->PatchOutputsWritten |= bitfield;
+            prog->info.patch_outputs_written |= bitfield;
          } else if (!var->data.read_only) {
             prog->info.outputs_written |= bitfield;
             if (var->data.index > 0)
@@ -431,7 +431,7 @@ do_set_program_inouts(exec_list *instructions, struct gl_program *prog,
    prog->SecondaryOutputsWritten = 0;
    prog->info.outputs_read = 0;
    prog->info.patch_inputs_read = 0;
-   prog->PatchOutputsWritten = 0;
+   prog->info.patch_outputs_written = 0;
    prog->SystemValuesRead = 0;
    if (shader_stage == MESA_SHADER_FRAGMENT) {
       prog->info.fs.uses_sample_qualifier = false;
index d33a271..fcda73a 100644 (file)
@@ -30,7 +30,6 @@ copy_shader_info(const struct gl_shader_program *shader_prog,
 {
    shader_info *info = &sh->Program->info;
 
-   info->patch_outputs_written = sh->Program->PatchOutputsWritten;
    info->system_values_read = sh->Program->SystemValuesRead;
    info->uses_texture_gather = sh->Program->UsesGather;
 }
index 0469da5..67910de 100644 (file)
@@ -1923,7 +1923,6 @@ struct gl_program
    struct shader_info info;
 
    GLbitfield64 SecondaryOutputsWritten; /**< Subset of OutputsWritten outputs written with non-zero index. */
-   GLbitfield PatchOutputsWritten; /**< VAR[0..31] usage for patch outputs (user-defined only) */
    GLbitfield SystemValuesRead;   /**< Bitmask of SYSTEM_VALUE_x inputs used */
    GLbitfield TexturesUsed[MAX_COMBINED_TEXTURE_IMAGE_UNITS];  /**< TEXTURE_x_BIT bitmask */
    GLbitfield SamplersUsed;   /**< Bitfield of which samplers are used */