summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r600/r600_state.c')
-rw-r--r--src/gallium/drivers/r600/r600_state.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c
index f2e0bfc537c..7b3d813d610 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -1176,6 +1176,9 @@ static void r600_set_sampler_views(struct r600_context *rctx,
struct r600_pipe_sampler_view **rviews = (struct r600_pipe_sampler_view **)views;
unsigned i;
+ if (count)
+ r600_inval_texture_cache(rctx);
+
for (i = 0; i < count; i++) {
if (rviews[i]) {
if (((struct r600_resource_texture *)rviews[i]->base.texture)->depth)
@@ -1610,7 +1613,7 @@ static void r600_set_framebuffer_state(struct pipe_context *ctx,
if (rstate == NULL)
return;
- r600_context_flush_dest_caches(rctx);
+ r600_flush_framebuffer(rctx, false);
rctx->num_dest_buffers = state->nr_cbufs;
/* unreference old buffer and reference new one */
@@ -1700,17 +1703,6 @@ static void r600_set_framebuffer_state(struct pipe_context *ctx,
}
}
-static void r600_texture_barrier(struct pipe_context *ctx)
-{
- struct r600_context *rctx = (struct r600_context *)ctx;
-
- r600_context_flush_all(rctx, S_0085F0_TC_ACTION_ENA(1) | S_0085F0_CB_ACTION_ENA(1) |
- S_0085F0_CB0_DEST_BASE_ENA(1) | S_0085F0_CB1_DEST_BASE_ENA(1) |
- S_0085F0_CB2_DEST_BASE_ENA(1) | S_0085F0_CB3_DEST_BASE_ENA(1) |
- S_0085F0_CB4_DEST_BASE_ENA(1) | S_0085F0_CB5_DEST_BASE_ENA(1) |
- S_0085F0_CB6_DEST_BASE_ENA(1) | S_0085F0_CB7_DEST_BASE_ENA(1));
-}
-
void r600_init_state_functions(struct r600_context *rctx)
{
rctx->context.create_blend_state = r600_create_blend_state;