From f51458637cce0fc19d968cc19a02f78a880f2fba Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 3 Nov 2017 11:47:55 +1000 Subject: [PATCH] r600/compute: add support for emitting compute image/buffer atoms Signed-off-by: Dave Airlie --- src/gallium/drivers/r600/evergreen_compute.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c index 688ea58..0f97bbe 100644 --- a/src/gallium/drivers/r600/evergreen_compute.c +++ b/src/gallium/drivers/r600/evergreen_compute.c @@ -697,6 +697,8 @@ static void compute_emit_cs(struct r600_context *rctx, rctx->b.dma.flush(rctx, PIPE_FLUSH_ASYNC, NULL); } + r600_update_compressed_resource_state(rctx, true); + r600_need_cs_space(rctx, 0, true); if (rctx->cs_shader_state.shader->ir_type == PIPE_SHADER_IR_TGSI) { r600_shader_select(&rctx->b.b, rctx->cs_shader_state.shader->sel, &compute_dirty); @@ -759,7 +761,13 @@ static void compute_emit_cs(struct r600_context *rctx, /* Emit sampler view (texture resource) state */ r600_emit_atom(rctx, &rctx->samplers[PIPE_SHADER_COMPUTE].views.atom); - /* Emit compute shader state */ + /* Emit images state */ + r600_emit_atom(rctx, &rctx->compute_images.atom); + + /* Emit buffers state */ + r600_emit_atom(rctx, &rctx->compute_buffers.atom); + + /* Emit shader state */ r600_emit_atom(rctx, &rctx->cs_shader_state.atom); /* Emit dispatch state and dispatch packet */ -- 2.7.4