On Sat, Sep 20, 2014 at 6:11 AM, Marek Olšák <mar...@gmail.com> wrote:
> From: Marek Olšák <marek.ol...@amd.com>
>

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 <alexander.deuc...@amd.com>

> ---
>  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
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to