vc4: Drop VC4_DIRTY_TEXSTATE in favor of the per-stage flags.
authorEric Anholt <eric@anholt.net>
Fri, 15 Jul 2016 00:38:43 +0000 (17:38 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 15 Jul 2016 20:54:00 +0000 (13:54 -0700)
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
src/gallium/drivers/vc4/vc4_program.c
src/gallium/drivers/vc4/vc4_state.c
src/gallium/drivers/vc4/vc4_uniforms.c

index a7c25a8bb0dc97cdec8db0bf4ad7b0964d327e29..7da2b554e4908088d444fd9d9b562df7ebc668b7 100644 (file)
@@ -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)
index 521f971272acbfbf3c67d0b47fba7072fa346a89..b4b62e3869ad0748ce1957b5a80318af4c192c3f 100644 (file)
@@ -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))) {
index 0912ca5b8d7a162dfb1c6a2ea414b6b9baef684c..bf4e0232daf3b96b9fe9672ddc1b3ce37e6d6c2b 100644 (file)
@@ -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;
index ee21771dd89f603f01541b518a4873cd360d61c3..c9d6b5377205747dd97dfd5bdbd3431db5af55d8 100644 (file)
@@ -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: