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

Marek Olšák maraeo at gmail.com
Tue Jul 24 21:26:20 PDT 2012


On Tue, Jul 24, 2012 at 8:36 PM, Tom Stellard <tstellar at gmail.com> wrote:
> ---
>  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);

If I am not mistaken, the "cs" parameter is missing here and it's
fixed in the patch 5. I think it would be better to squash this patch
into the patch 5.

Marek


More information about the mesa-dev mailing list