[Mesa-dev] [PATCH 3/5] r600g: Emit CB_TARGET_MASK in compute_emit_cs()

Tom Stellard tstellar at gmail.com
Tue Jul 24 11:36:57 PDT 2012


---
 src/gallium/drivers/r600/evergreen_compute.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c
index dd9b341..3822694 100644
--- a/src/gallium/drivers/r600/evergreen_compute.c
+++ b/src/gallium/drivers/r600/evergreen_compute.c
@@ -265,11 +265,7 @@ void evergreen_direct_dispatch(
 	struct evergreen_compute_resource* res = get_empty_res(shader,
 		COMPUTE_RESOURCE_DISPATCH, 0);
 
-	/* Set CB_TARGET_MASK */
-	evergreen_reg_set(res, R_028238_CB_TARGET_MASK, rctx->compute_cb_target_mask);
-
 	evergreen_reg_set(res, R_008958_VGT_PRIMITIVE_TYPE, V_008958_DI_PT_POINTLIST);
-
 	evergreen_reg_set(res, R_00899C_VGT_COMPUTE_START_X, 0);
 	evergreen_reg_set(res, R_0089A0_VGT_COMPUTE_START_Y, 0);
 	evergreen_reg_set(res, R_0089A4_VGT_COMPUTE_START_Z, 0);
@@ -332,6 +328,11 @@ static void compute_emit_cs(struct r600_context *ctx)
         cb_state = ctx->states[R600_PIPE_STATE_FRAMEBUFFER];
 	r600_context_pipe_state_emit(ctx, cb_state, RADEON_CP_PACKET3_COMPUTE_MODE);
 
+	/* Set CB_TARGET_MASK  XXX: Use cb_misc_state */
+	r600_write_compute_context_reg(R_028238_CB_TARGET_MASK,
+					rctx->compute_cb_target_mask);
+
+
 	/* Emit vertex buffer state */
 	ctx->cs_vertex_buffer_state.atom.num_dw = 12 * util_bitcount(ctx->cs_vertex_buffer_state.dirty_mask);
 	r600_emit_atom(ctx, &ctx->cs_vertex_buffer_state.atom);
-- 
1.7.7.6



More information about the mesa-dev mailing list