On Sat, Sep 20, 2014 at 6:11 AM, Marek Olšák <[email protected]> wrote: > From: Marek Olšák <[email protected]> >
Looks good. Tom should probably take a look as well. As a further improvement, it would be nice to be able to use the compute rings for compute rather than gfx, but I'm not sure how much additional effort it would take to clean that up. Reviewed-by: Alex Deucher <[email protected]> > --- > src/gallium/drivers/radeonsi/si_compute.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/gallium/drivers/radeonsi/si_compute.c > b/src/gallium/drivers/radeonsi/si_compute.c > index 4b2662d..3ad9182 100644 > --- a/src/gallium/drivers/radeonsi/si_compute.c > +++ b/src/gallium/drivers/radeonsi/si_compute.c > @@ -168,6 +168,7 @@ static void si_launch_grid( > uint32_t pc, const void *input) > { > struct si_context *sctx = (struct si_context*)ctx; > + struct radeon_winsys_cs *cs = sctx->b.rings.gfx.cs; > struct si_compute *program = sctx->cs_shader_state.program; > struct si_pm4_state *pm4 = CALLOC_STRUCT(si_pm4_state); > struct r600_resource *input_buffer = program->input_buffer; > @@ -184,8 +185,11 @@ static void si_launch_grid( > unsigned lds_blocks; > unsigned num_waves_for_scratch; > > + radeon_emit(cs, PKT3(PKT3_CONTEXT_CONTROL, 1, 0) | > PKT3_SHADER_TYPE_S(1)); > + radeon_emit(cs, 0x80000000); > + radeon_emit(cs, 0x80000000); > + > pm4->compute_pkt = true; > - si_cmd_context_control(pm4); > > si_pm4_cmd_begin(pm4, PKT3_EVENT_WRITE); > si_pm4_cmd_add(pm4, EVENT_TYPE(EVENT_TYPE_CACHE_FLUSH) | > -- > 1.9.1 > > _______________________________________________ > mesa-dev mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
