diff options
author | Marek Olšák <[email protected]> | 2017-11-07 02:02:21 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2018-07-12 16:48:12 -0400 |
commit | 2e0b00ab7d135f393c0cf7531317100f91725ffc (patch) | |
tree | d5d947df8fba924d3f159c479f9b3383d93e9ecd /src/amd/common | |
parent | e8dc3c0c36e830f4b134151ac1e18d979e70f0c6 (diff) |
radeonsi: add support for Vega20
Reviewed-by: Alex Deucher <[email protected]>
Diffstat (limited to 'src/amd/common')
-rw-r--r-- | src/amd/common/ac_llvm_util.c | 4 | ||||
-rw-r--r-- | src/amd/common/ac_surface.c | 4 | ||||
-rw-r--r-- | src/amd/common/amd_family.h | 1 | ||||
-rw-r--r-- | src/amd/common/gfx9d.h | 1 |
4 files changed, 9 insertions, 1 deletions
diff --git a/src/amd/common/ac_llvm_util.c b/src/amd/common/ac_llvm_util.c index 5e04452d5a8..8d73df4e311 100644 --- a/src/amd/common/ac_llvm_util.c +++ b/src/amd/common/ac_llvm_util.c @@ -128,6 +128,8 @@ const char *ac_get_llvm_processor_name(enum radeon_family family) return "gfx902"; case CHIP_VEGA12: return HAVE_LLVM >= 0x0700 ? "gfx904" : "gfx902"; + case CHIP_VEGA20: + return HAVE_LLVM >= 0x0700 ? "gfx906" : "gfx902"; default: return ""; } @@ -141,7 +143,7 @@ static LLVMTargetMachineRef ac_create_target_machine(enum radeon_family family, char features[256]; const char *triple = (tm_options & AC_TM_SUPPORTS_SPILL) ? "amdgcn-mesa-mesa3d" : "amdgcn--"; LLVMTargetRef target = ac_get_llvm_target(triple); - bool barrier_does_waitcnt = true; /* TODO: not for Vega20 */ + bool barrier_does_waitcnt = family != CHIP_VEGA20; snprintf(features, sizeof(features), "+DumpCode,+vgpr-spilling,-fp32-denormals,+fp64-denormals%s%s%s%s%s", diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c index 9eb63bab038..959e7b3d735 100644 --- a/src/amd/common/ac_surface.c +++ b/src/amd/common/ac_surface.c @@ -143,6 +143,10 @@ static void addrlib_family_rev_id(enum radeon_family family, *addrlib_family = FAMILY_AI; *addrlib_revid = get_first(AMDGPU_VEGA12_RANGE); break; + case CHIP_VEGA20: + *addrlib_family = FAMILY_AI; + *addrlib_revid = get_first(AMDGPU_VEGA20_RANGE); + break; case CHIP_RAVEN: *addrlib_family = FAMILY_RV; *addrlib_revid = get_first(AMDGPU_RAVEN_RANGE); diff --git a/src/amd/common/amd_family.h b/src/amd/common/amd_family.h index 6410368f2f8..a282898be06 100644 --- a/src/amd/common/amd_family.h +++ b/src/amd/common/amd_family.h @@ -95,6 +95,7 @@ enum radeon_family { CHIP_VEGAM, CHIP_VEGA10, CHIP_VEGA12, + CHIP_VEGA20, CHIP_RAVEN, CHIP_LAST, }; diff --git a/src/amd/common/gfx9d.h b/src/amd/common/gfx9d.h index 485fd7d0fed..d18e6655d33 100644 --- a/src/amd/common/gfx9d.h +++ b/src/amd/common/gfx9d.h @@ -5764,6 +5764,7 @@ #define S_02883C_USE_PROVOKING_ZW(x) (((unsigned)(x) & 0x1) << 4) #define G_02883C_USE_PROVOKING_ZW(x) (((x) >> 4) & 0x1) #define C_02883C_USE_PROVOKING_ZW 0xFFFFFFEF +#define R_028840_PA_STEREO_CNTL 0x028840 #define R_028A00_PA_SU_POINT_SIZE 0x028A00 #define S_028A00_HEIGHT(x) (((unsigned)(x) & 0xFFFF) << 0) #define G_028A00_HEIGHT(x) (((x) >> 0) & 0xFFFF) |