radeonsi: don't pass scratch buffer to user SGPRs
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sat, 2 Apr 2016 10:48:05 +0000 (12:48 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tue, 19 Apr 2016 16:10:31 +0000 (18:10 +0200)
As far as I can see we use relocations for clover too.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/radeonsi/si_compute.c

index f5ec6f31d16730a0b1b18fe726b582802a8e254a..a3ba450bdad0df458442da0e65157e204a07ec8d 100644 (file)
@@ -287,7 +287,6 @@ static void si_launch_grid(
        struct radeon_winsys_cs *cs = sctx->b.gfx.cs;
        struct si_compute *program = sctx->cs_shader_state.program;
        struct si_pm4_state *pm4 = CALLOC_STRUCT(si_pm4_state);
-       uint64_t scratch_buffer_va = 0;
        uint64_t shader_va;
        unsigned i;
        struct si_shader *shader = &program->shader;
@@ -329,15 +328,8 @@ static void si_launch_grid(
                                          shader->scratch_bo,
                                          RADEON_USAGE_READWRITE,
                                          RADEON_PRIO_SCRATCH_BUFFER);
-
-               scratch_buffer_va = shader->scratch_bo->gpu_address;
        }
 
-       si_pm4_set_reg(pm4, R_00B900_COMPUTE_USER_DATA_0 + 8, scratch_buffer_va);
-       si_pm4_set_reg(pm4, R_00B900_COMPUTE_USER_DATA_0 + 12,
-               S_008F04_BASE_ADDRESS_HI(scratch_buffer_va >> 32)
-               |  S_008F04_STRIDE(shader->config.scratch_bytes_per_wave / 64));
-
        si_pm4_set_reg(pm4, R_00B810_COMPUTE_START_X, 0);
        si_pm4_set_reg(pm4, R_00B814_COMPUTE_START_Y, 0);
        si_pm4_set_reg(pm4, R_00B818_COMPUTE_START_Z, 0);