From: Marek Olšák <marek.ol...@amd.com>

---
 src/gallium/drivers/radeonsi/cik_sdma.c         | 4 ++--
 src/gallium/drivers/radeonsi/si_perfcounter.c   | 1 +
 src/gallium/drivers/radeonsi/si_pipe.c          | 1 +
 src/gallium/drivers/radeonsi/si_state_shaders.c | 1 +
 4 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/cik_sdma.c 
b/src/gallium/drivers/radeonsi/cik_sdma.c
index bee35cd..fdcf22f 100644
--- a/src/gallium/drivers/radeonsi/cik_sdma.c
+++ b/src/gallium/drivers/radeonsi/cik_sdma.c
@@ -422,23 +422,23 @@ static bool cik_sdma_copy_texture(struct si_context *sctx,
            src_mode >= RADEON_SURF_MODE_1D &&
            /* check if these fit into the bitfields */
            src_address % 256 == 0 &&
            dst_address % 256 == 0 &&
            rsrc->surface.tile_split <= 4096 &&
            rdst->surface.tile_split <= 4096 &&
            dstx % 8 == 0 &&
            dsty % 8 == 0 &&
            srcx % 8 == 0 &&
            srcy % 8 == 0 &&
-           /* this can either be equal, or display->rotated (VI only) */
+           /* this can either be equal, or display->rotated (VI+ only) */
            (src_micro_mode == dst_micro_mode ||
-            (sctx->b.chip_class == VI &&
+            (sctx->b.chip_class >= VI &&
              src_micro_mode == V_009910_ADDR_SURF_DISPLAY_MICRO_TILING &&
              dst_micro_mode == V_009910_ADDR_SURF_ROTATED_MICRO_TILING))) {
                assert(src_pitch % 8 == 0);
                assert(dst_pitch % 8 == 0);
                assert(src_slice_pitch % 64 == 0);
                assert(dst_slice_pitch % 64 == 0);
                unsigned src_pitch_tile_max = src_pitch / 8 - 1;
                unsigned dst_pitch_tile_max = dst_pitch / 8 - 1;
                unsigned src_slice_tile_max = src_slice_pitch / 64 - 1;
                unsigned dst_slice_tile_max = dst_slice_pitch / 64 - 1;
diff --git a/src/gallium/drivers/radeonsi/si_perfcounter.c 
b/src/gallium/drivers/radeonsi/si_perfcounter.c
index 00db2c4..41dd52e 100644
--- a/src/gallium/drivers/radeonsi/si_perfcounter.c
+++ b/src/gallium/drivers/radeonsi/si_perfcounter.c
@@ -665,20 +665,21 @@ void si_init_perfcounters(struct si_screen *screen)
        switch (screen->b.chip_class) {
        case CIK:
                blocks = groups_CIK;
                num_blocks = ARRAY_SIZE(groups_CIK);
                break;
        case VI:
                blocks = groups_VI;
                num_blocks = ARRAY_SIZE(groups_VI);
                break;
        case SI:
+       case GFX9:
        default:
                return; /* not implemented */
        }
 
        if (screen->b.info.max_sh_per_se != 1) {
                /* This should not happen on non-SI chips. */
                fprintf(stderr, "si_init_perfcounters: max_sh_per_se = %d not "
                        "supported (inaccurate performance counters)\n",
                        screen->b.info.max_sh_per_se);
        }
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c 
b/src/gallium/drivers/radeonsi/si_pipe.c
index c66203e..7f0b445 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -724,20 +724,21 @@ static bool si_init_gs_info(struct si_screen *sscreen)
        case CHIP_TAHITI:
        case CHIP_PITCAIRN:
        case CHIP_VERDE:
        case CHIP_BONAIRE:
        case CHIP_HAWAII:
        case CHIP_TONGA:
        case CHIP_FIJI:
        case CHIP_POLARIS10:
        case CHIP_POLARIS11:
        case CHIP_POLARIS12:
+       case CHIP_VEGA10:
                sscreen->gs_table_depth = 32;
                return true;
        default:
                return false;
        }
 }
 
 static void si_handle_env_var_force_family(struct si_screen *sscreen)
 {
        const char *family = debug_get_option("SI_FORCE_FAMILY", NULL);
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c 
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 3596f5a..f778cd7 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -2382,20 +2382,21 @@ static void si_init_tess_factor_ring(struct si_context 
*sctx)
        case 4096:
                offchip_granularity = V_03093C_X_4K_DWORDS;
                break;
        }
 
        switch (sctx->b.chip_class) {
        case SI:
                max_offchip_buffers = MIN2(max_offchip_buffers, 126);
                break;
        case CIK:
+       case GFX9:
                max_offchip_buffers = MIN2(max_offchip_buffers, 508);
                break;
        case VI:
        default:
                max_offchip_buffers = MIN2(max_offchip_buffers, 512);
                break;
        }
 
        assert(!sctx->tf_ring);
        sctx->tf_ring = r600_aligned_buffer_create(sctx->b.b.screen,
-- 
2.7.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to