Mesa (master): r600/compute: add support for emitting compute image/ buffer atoms

Dave Airlie airlied at kemper.freedesktop.org
Wed Dec 6 23:22:22 UTC 2017


Module: Mesa
Branch: master
Commit: f51458637cce0fc19d968cc19a02f78a880f2fba
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f51458637cce0fc19d968cc19a02f78a880f2fba

Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Nov  3 11:47:55 2017 +1000

r600/compute: add support for emitting compute image/buffer atoms

Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 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 688ea58ae4..0f97bbe3cb 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 */




More information about the mesa-commit mailing list