From: Tom Stellard Date: Wed, 1 Aug 2012 20:42:53 +0000 (+0000) Subject: r600g: Invalidate texture cache when creating vertex buffers for compute v2 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=69b387fbdc42883fb2e9c27942f97e62ca06be4d;p=mesa.git 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 --- 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);