Mesa (master): vc4: Drop VC4_DIRTY_TEXSTATE in favor of the per-stage flags.

Eric Anholt anholt at kemper.freedesktop.org
Fri Jul 15 21:00:20 UTC 2016


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

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Jul 14 17:38:43 2016 -0700

vc4: Drop VC4_DIRTY_TEXSTATE in favor of the per-stage flags.

The compiler uses the per-stage flags already, so it didn't need this.
vc4_uniforms was using it, so just replace it with both of the stage flags
for now.

---

 src/gallium/drivers/vc4/vc4_context.h  | 1 -
 src/gallium/drivers/vc4/vc4_program.c  | 2 --
 src/gallium/drivers/vc4/vc4_state.c    | 4 ----
 src/gallium/drivers/vc4/vc4_uniforms.c | 5 ++++-
 4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/gallium/drivers/vc4/vc4_context.h b/src/gallium/drivers/vc4/vc4_context.h
index a7c25a8..7da2b55 100644
--- a/src/gallium/drivers/vc4/vc4_context.h
+++ b/src/gallium/drivers/vc4/vc4_context.h
@@ -49,7 +49,6 @@
 #define VC4_DIRTY_ZSA           (1 <<  2)
 #define VC4_DIRTY_FRAGTEX       (1 <<  3)
 #define VC4_DIRTY_VERTTEX       (1 <<  4)
-#define VC4_DIRTY_TEXSTATE      (1 <<  5)
 
 #define VC4_DIRTY_BLEND_COLOR   (1 <<  7)
 #define VC4_DIRTY_STENCIL_REF   (1 <<  8)
diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c
index 521f971..b4b62e3 100644
--- a/src/gallium/drivers/vc4/vc4_program.c
+++ b/src/gallium/drivers/vc4/vc4_program.c
@@ -2352,7 +2352,6 @@ vc4_update_compiled_fs(struct vc4_context *vc4, uint8_t prim_mode)
                             VC4_DIRTY_RASTERIZER |
                             VC4_DIRTY_SAMPLE_MASK |
                             VC4_DIRTY_FRAGTEX |
-                            VC4_DIRTY_TEXSTATE |
                             VC4_DIRTY_UNCOMPILED_FS))) {
                 return;
         }
@@ -2421,7 +2420,6 @@ vc4_update_compiled_vs(struct vc4_context *vc4, uint8_t prim_mode)
         if (!(vc4->dirty & (VC4_DIRTY_PRIM_MODE |
                             VC4_DIRTY_RASTERIZER |
                             VC4_DIRTY_VERTTEX |
-                            VC4_DIRTY_TEXSTATE |
                             VC4_DIRTY_VTXSTATE |
                             VC4_DIRTY_UNCOMPILED_VS |
                             VC4_DIRTY_COMPILED_FS))) {
diff --git a/src/gallium/drivers/vc4/vc4_state.c b/src/gallium/drivers/vc4/vc4_state.c
index 0912ca5..bf4e023 100644
--- a/src/gallium/drivers/vc4/vc4_state.c
+++ b/src/gallium/drivers/vc4/vc4_state.c
@@ -482,8 +482,6 @@ vc4_set_framebuffer_state(struct pipe_context *pctx,
 static struct vc4_texture_stateobj *
 vc4_get_stage_tex(struct vc4_context *vc4, unsigned shader)
 {
-        vc4->dirty |= VC4_DIRTY_TEXSTATE;
-
         switch (shader) {
         case PIPE_SHADER_FRAGMENT:
                 vc4->dirty |= VC4_DIRTY_FRAGTEX;
@@ -668,8 +666,6 @@ vc4_set_sampler_views(struct pipe_context *pctx, unsigned shader,
 
         assert(start == 0);
 
-        vc4->dirty |= VC4_DIRTY_TEXSTATE;
-
         for (i = 0; i < nr; i++) {
                 if (views[i])
                         new_nr = i + 1;
diff --git a/src/gallium/drivers/vc4/vc4_uniforms.c b/src/gallium/drivers/vc4/vc4_uniforms.c
index ee21771..c9d6b53 100644
--- a/src/gallium/drivers/vc4/vc4_uniforms.c
+++ b/src/gallium/drivers/vc4/vc4_uniforms.c
@@ -375,7 +375,10 @@ vc4_set_shader_uniform_dirty_flags(struct vc4_compiled_shader *shader)
                 case QUNIFORM_TEXTURE_MSAA_ADDR:
                 case QUNIFORM_TEXRECT_SCALE_X:
                 case QUNIFORM_TEXRECT_SCALE_Y:
-                        dirty |= VC4_DIRTY_TEXSTATE;
+                        /* We could flag this on just the stage we're
+                         * compiling for, but it's not passed in.
+                         */
+                        dirty |= VC4_DIRTY_FRAGTEX | VC4_DIRTY_VERTTEX;
                         break;
 
                 case QUNIFORM_BLEND_CONST_COLOR_X:




More information about the mesa-commit mailing list