On Sat, Apr 2, 2016 at 3:10 PM, Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> wrote: > Also removes PKT3_CONTEXT_CONTROL as that is already being done > by si_begin_new_cs, when emitting init_config. > > Signed-off-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> > --- > src/gallium/drivers/radeonsi/si_compute.c | 69 > +++++++++++++++------------- > src/gallium/drivers/radeonsi/si_hw_context.c | 2 + > src/gallium/drivers/radeonsi/si_pipe.h | 1 + > 3 files changed, 40 insertions(+), 32 deletions(-) > > diff --git a/src/gallium/drivers/radeonsi/si_compute.c > b/src/gallium/drivers/radeonsi/si_compute.c > index 9c25335..7320ace 100644 > --- a/src/gallium/drivers/radeonsi/si_compute.c > +++ b/src/gallium/drivers/radeonsi/si_compute.c > @@ -226,6 +226,39 @@ static unsigned compute_num_waves_for_scratch( > return scratch_waves; > } > > +static void si_initialize_compute(struct si_context *sctx) > +{ > + struct radeon_winsys_cs *cs = sctx->b.gfx.cs; > + > + radeon_emit(cs, PKT3(PKT3_SET_SH_REG, 3, 0)); > + radeon_emit(cs, (R_00B810_COMPUTE_START_X - SI_SH_REG_OFFSET) >> 2);
Please use radeon_set_sh_reg_seq. > + radeon_emit(cs, 0); > + radeon_emit(cs, 0); > + radeon_emit(cs, 0); > + > + radeon_emit(cs, PKT3(PKT3_SET_SH_REG, 3, 0)); > + radeon_emit(cs, (R_00B854_COMPUTE_RESOURCE_LIMITS - SI_SH_REG_OFFSET) > >> 2); Same here. > + radeon_emit(cs, 0); > + radeon_emit(cs, S_00B858_SH0_CU_EN(0xffff) | > S_00B858_SH1_CU_EN(0xffff)); > + radeon_emit(cs, S_00B85C_SH0_CU_EN(0xffff) | > S_00B85C_SH1_CU_EN(0xffff)); Please add a comment that these two write COMPUTE_STATIC_THREAD_MGMT_SE0-1. We should also write COMPUTE_STATIC_THREAD_MGMT_SE2 and 3 on CIK and later chips. They are not in the docs, but sid.h defines them. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev