v2: incorporate comments from Marek
v3: add missing fiji case in winsys init
    use tonga raster config (double check this)
v4: rebase on harvest patch

Reviewed-by: Marek Olšák <marek.ol...@amd.com> (v3)
Reviewed-by: Christian König <christian.koe...@amd.com> (v3)
Reviewed-by: David Zhang <david1.zh...@amd.com> (v3)
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
 src/gallium/drivers/radeon/r600_pipe_common.c | 2 ++
 src/gallium/drivers/radeon/radeon_winsys.h    | 1 +
 src/gallium/drivers/radeonsi/si_state.c       | 5 +++++
 src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c | 4 ++++
 4 files changed, 12 insertions(+)

diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c 
b/src/gallium/drivers/radeon/r600_pipe_common.c
index 57a752f..f657adb 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -405,6 +405,7 @@ static const char* r600_get_name(struct pipe_screen* 
pscreen)
        case CHIP_TONGA: return "AMD TONGA";
        case CHIP_ICELAND: return "AMD ICELAND";
        case CHIP_CARRIZO: return "AMD CARRIZO";
+       case CHIP_FIJI: return "AMD FIJI";
        default: return "AMD unknown";
        }
 }
@@ -525,6 +526,7 @@ const char *r600_get_llvm_processor_name(enum radeon_family 
family)
        case CHIP_TONGA: return "tonga";
        case CHIP_ICELAND: return "iceland";
        case CHIP_CARRIZO: return "carrizo";
+       case CHIP_FIJI: return "fiji";
        default: return "";
        }
 }
diff --git a/src/gallium/drivers/radeon/radeon_winsys.h 
b/src/gallium/drivers/radeon/radeon_winsys.h
index b1e91eb..513c2f9 100644
--- a/src/gallium/drivers/radeon/radeon_winsys.h
+++ b/src/gallium/drivers/radeon/radeon_winsys.h
@@ -136,6 +136,7 @@ enum radeon_family {
     CHIP_TONGA,
     CHIP_ICELAND,
     CHIP_CARRIZO,
+    CHIP_FIJI,
     CHIP_LAST,
 };
 
diff --git a/src/gallium/drivers/radeonsi/si_state.c 
b/src/gallium/drivers/radeonsi/si_state.c
index daa3131..d16f402 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -3149,6 +3149,11 @@ void si_init_config(struct si_context *sctx)
                raster_config = 0x3a00161a;
                raster_config_1 = 0x0000002e;
                break;
+       case CHIP_FIJI:
+               /* Fiji should be same as Hawaii, but that causes corruption in 
some cases */
+               raster_config = 0x16000012; /* 0x3a00161a */
+               raster_config_1 = 0x0000002a; /* 0x0000002e */
+               break;
        case CHIP_TONGA:
                raster_config = 0x16000012;
                raster_config_1 = 0x0000002a;
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c 
b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
index e3b7577..7e003e4 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
@@ -228,6 +228,10 @@ static boolean do_winsys_init(struct amdgpu_winsys *ws)
       ws->family = FAMILY_CZ;
       ws->rev_id = CZ_CARRIZO_A0;
       break;
+   case CHIP_FIJI:
+      ws->family = FAMILY_VI;
+      ws->rev_id = VI_FIJI_P_A0;
+      break;
    default:
       fprintf(stderr, "amdgpu: Unknown family.\n");
       goto fail;
-- 
1.8.3.1

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

Reply via email to