summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2016-07-14 17:38:43 -0700
committerEric Anholt <[email protected]>2016-07-15 13:54:00 -0700
commit88152d7dc0e2cf233cd2c38a4e9affb1ea73fa97 (patch)
tree31c6f89aaacd84b05bdb48f5ab09fbd36d48b258
parent5db82e0c897da46867dec5886bae1607d3124abc (diff)
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.
-rw-r--r--src/gallium/drivers/vc4/vc4_context.h1
-rw-r--r--src/gallium/drivers/vc4/vc4_program.c2
-rw-r--r--src/gallium/drivers/vc4/vc4_state.c4
-rw-r--r--src/gallium/drivers/vc4/vc4_uniforms.c5
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 a7c25a8bb0d..7da2b554e49 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 521f971272a..b4b62e3869a 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 0912ca5b8d7..bf4e0232daf 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 ee21771dd89..c9d6b537720 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: