diff options
author | Tom Stellard <[email protected]> | 2012-08-01 20:42:53 +0000 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2012-09-19 14:58:53 -0400 |
commit | 69b387fbdc42883fb2e9c27942f97e62ca06be4d (patch) | |
tree | 0424b2efde3478445351365df9cd7051501d3bb6 | |
parent | 810345492eca34c2ad12728b5491a4691cc62ec2 (diff) |
r600g: Invalidate texture cache when creating vertex buffers for compute v2
Compute shaders fetch data from vertex buffers via the texture cache, so
we need to make sure the texture cache is flushed.
v2:
- Fix rebase mistake
- Fix spelling in comment
Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r-- | src/gallium/drivers/r600/evergreen_compute.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c index 1056cf297a0..2c66306ebc3 100644 --- a/src/gallium/drivers/r600/evergreen_compute.c +++ b/src/gallium/drivers/r600/evergreen_compute.c @@ -96,7 +96,9 @@ static void evergreen_cs_set_vertex_buffer( vb->buffer = buffer; vb->user_buffer = NULL; - rctx->flags |= rctx->has_vertex_cache ? R600_CONTEXT_VTX_FLUSH : R600_CONTEXT_TEX_FLUSH; + /* The vertex instructions in the compute shaders use the texture cache, + * so we need to invalidate it. */ + rctx->flags |= R600_CONTEXT_TEX_FLUSH; state->enabled_mask |= 1 << vb_index; state->dirty_mask |= 1 << vb_index; r600_atom_dirty(rctx, &state->atom); |