summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2016-10-15 13:57:59 +0200
committerMarek Olšák <[email protected]>2017-03-30 14:44:33 +0200
commit68d6d097f15dbe17c1d0c8cb57157d9fd0005bdc (patch)
treeece1db330f02f6ca1a1cbb6b82006c3ca2063656 /src
parent5691e14735eda27afe1f2ede369b80127b90f6a1 (diff)
radeonsi/gfx9: add GFX9 and VEGA10 enums
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/amd/common/amd_family.h8
-rw-r--r--src/gallium/drivers/radeon/r600_pipe_common.c1
-rw-r--r--src/gallium/drivers/radeonsi/si_pipe.c4
-rw-r--r--src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c7
4 files changed, 15 insertions, 5 deletions
diff --git a/src/amd/common/amd_family.h b/src/amd/common/amd_family.h
index b09bbb89a3f..8a6dad6f9a1 100644
--- a/src/amd/common/amd_family.h
+++ b/src/amd/common/amd_family.h
@@ -92,6 +92,7 @@ enum radeon_family {
CHIP_POLARIS10,
CHIP_POLARIS11,
CHIP_POLARIS12,
+ CHIP_VEGA10,
CHIP_LAST,
};
@@ -104,9 +105,10 @@ enum chip_class {
R700,
EVERGREEN,
CAYMAN,
- SI,
- CIK,
- VI,
+ SI, /* GFX6 */
+ CIK, /* GFX7 */
+ VI, /* GFX8 */
+ GFX9,
};
#endif
diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c
index b3b925e09c6..7ec57031412 100644
--- a/src/gallium/drivers/radeon/r600_pipe_common.c
+++ b/src/gallium/drivers/radeon/r600_pipe_common.c
@@ -779,6 +779,7 @@ static const char* r600_get_chip_name(struct r600_common_screen *rscreen)
case CHIP_POLARIS11: return "AMD POLARIS11";
case CHIP_POLARIS12: return "AMD POLARIS12";
case CHIP_STONEY: return "AMD STONEY";
+ case CHIP_VEGA10: return "AMD VEGA10";
default: return "AMD unknown";
}
}
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
index 277fa286416..c66203e0add 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -751,7 +751,9 @@ static void si_handle_env_var_force_family(struct si_screen *sscreen)
/* Override family and chip_class. */
sscreen->b.family = sscreen->b.info.family = i;
- if (i >= CHIP_TONGA)
+ if (i >= CHIP_VEGA10)
+ sscreen->b.chip_class = sscreen->b.info.chip_class = GFX9;
+ else if (i >= CHIP_TONGA)
sscreen->b.chip_class = sscreen->b.info.chip_class = VI;
else if (i >= CHIP_BONAIRE)
sscreen->b.chip_class = sscreen->b.info.chip_class = CIK;
diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
index 37e01403113..25f08ef0acd 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
@@ -219,7 +219,9 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, int fd)
goto fail;
}
- if (ws->info.family >= CHIP_TONGA)
+ if (ws->info.family >= CHIP_VEGA10)
+ ws->info.chip_class = GFX9;
+ else if (ws->info.family >= CHIP_TONGA)
ws->info.chip_class = VI;
else if (ws->info.family >= CHIP_BONAIRE)
ws->info.chip_class = CIK;
@@ -303,6 +305,9 @@ static bool do_winsys_init(struct amdgpu_winsys *ws, int fd)
case CHIP_POLARIS12:
ws->family = FAMILY_VI;
ws->rev_id = VI_POLARIS12_V_A0;
+ case CHIP_VEGA10:
+ ws->family = FAMILY_AI;
+ ws->rev_id = AI_VEGA10_P_A0;
break;
default:
fprintf(stderr, "amdgpu: Unknown family.\n");