Mesa (master): glsl: set InnerCoverage directly in gl_program

Timothy Arceri tarceri at kemper.freedesktop.org
Thu Jan 19 06:05:39 UTC 2017


Module: Mesa
Branch: master
Commit: 7983ed5f657e71a52735dbee046adcbe1a0ab373
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7983ed5f657e71a52735dbee046adcbe1a0ab373

Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Tue Dec 20 09:44:20 2016 +1100

glsl: set InnerCoverage directly in gl_program

Also move out of the shared gl_shader_info.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

---

 src/compiler/glsl/glsl_parser_extras.cpp | 2 +-
 src/compiler/glsl/linker.cpp             | 3 +--
 src/mesa/main/mtypes.h                   | 3 +--
 src/mesa/main/shaderapi.c                | 1 -
 4 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp
index 063ca45..a6b695c 100644
--- a/src/compiler/glsl/glsl_parser_extras.cpp
+++ b/src/compiler/glsl/glsl_parser_extras.cpp
@@ -1815,7 +1815,7 @@ set_shader_inout_layout(struct gl_shader *shader,
       shader->ARB_fragment_coord_conventions_enable =
          state->ARB_fragment_coord_conventions_enable;
       shader->EarlyFragmentTests = state->fs_early_fragment_tests;
-      shader->info.InnerCoverage = state->fs_inner_coverage;
+      shader->InnerCoverage = state->fs_inner_coverage;
       shader->PostDepthCoverage = state->fs_post_depth_coverage;
       shader->BlendSupport = state->fs_blend_support;
       break;
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index 2bb080a..35f1d8b 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -1878,8 +1878,7 @@ link_fs_inout_layout_qualifiers(struct gl_shader_program *prog,
 
       linked_shader->Program->info.fs.early_fragment_tests |=
          shader->EarlyFragmentTests;
-      linked_shader->info.InnerCoverage |=
-         shader->info.InnerCoverage;
+      linked_shader->Program->info.fs.inner_coverage |= shader->InnerCoverage;
       linked_shader->Program->info.fs.post_depth_coverage |=
          shader->PostDepthCoverage;
 
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index d0e721e..d036958 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2242,8 +2242,6 @@ struct gl_subroutine_function
  */
 struct gl_shader_info
 {
-   bool InnerCoverage;
-
    struct {
       /** Global xfb_stride out qualifier if any */
       GLuint BufferStride[MAX_FEEDBACK_BUFFERS];
@@ -2430,6 +2428,7 @@ struct gl_shader
    bool uses_gl_fragcoord;
 
    bool PostDepthCoverage;
+   bool InnerCoverage;
 
    /**
     * Fragment shader state from GLSL 1.50 layout qualifiers.
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index 2a7f0a2..c87ba09 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -2232,7 +2232,6 @@ _mesa_copy_linked_program_data(const struct gl_shader_program *src,
    }
    case MESA_SHADER_FRAGMENT: {
       dst->info.fs.depth_layout = src->FragDepthLayout;
-      dst->info.fs.inner_coverage = dst_sh->info.InnerCoverage;
       break;
    }
    case MESA_SHADER_COMPUTE: {




More information about the mesa-commit mailing list