Update RGA devices list to include RDNA2

* We also drop everything gfx804 to keep the device list from being too bloated,
  as well as AMD planning to remove support for these devices soon.
This commit is contained in:
baldurk
2021-08-18 14:17:29 +01:00
parent cab76389c7
commit a76aa1dede
8 changed files with 31 additions and 18 deletions
+6 -1
View File
@@ -26,10 +26,15 @@
#include "common/common.h"
#include "common/formatting.h"
#include "core/plugins.h"
#include "core/settings.h"
#include "os/os_specific.h"
#include "strings/string_utils.h"
#include "amd_isa_devices.h"
RDOC_CONFIG(bool, AMD_ISA_ShowLegacyASICs, false,
"Show legacy ASICs for AMD shader disassembly targets. Note that depending on the "
"environment if driver support is required, these may not be available.");
namespace GCNISA
{
#if ENABLED(RDOC_WIN32)
@@ -162,7 +167,7 @@ void GetTargets(GraphicsAPI api, rdcarray<rdcstr> &targets)
{
targets.push_back("AMDIL");
for(int i = 0; i < asicCount; i++)
for(int i = AMD_ISA_ShowLegacyASICs() ? 0 : legacyAsicCount; i < asicCount; i++)
targets.push_back(asicInfo[i].name);
}
else
+6 -3
View File
@@ -54,10 +54,13 @@ const GCNISA::asic GCNISA::asicInfo[] = {
// Arctic Islands
{"GCN (gfx900)", "900", FAMILY_AI, AI_GD_P0, "gfx900"},
{"GCN (gfx902)", "902", FAMILY_AI, AI_GD_P0, "gfx902"},
{"GCN (Vega 20)", "906", FAMILY_AI, AI_VEGA20_P_A0, "gfx906"},
{"GCN (gfx906)", "906", FAMILY_AI, AI_VEGA20_P_A0, "gfx906"},
// Navi
{"RDNA (Navi 10)", "1010", FAMILY_NV, NV_NAVI10_P_A0, "gfx1010"},
{"RDNA (Navi 14)", "1012", FAMILY_NV, NV_NAVI14_M_A0, "gfx1012"},
{"RDNA (gfx1010)", "1010", FAMILY_NV, NV_NAVI10_P_A0, "gfx1010"},
{"RDNA (gfx1012)", "1012", FAMILY_NV, NV_NAVI14_M_A0, "gfx1012"},
{"RDNA2 (gfx1030)", "1030", FAMILY_NV, NV_NAVI21_P_A0, "gfx1030"},
{"RDNA2 (gfx1031)", "1031", FAMILY_NV, NV_NAVI22_P_A0, "gfx1031"},
{"RDNA2 (gfx1032)", "1032", FAMILY_NV, NV_NAVI23_P_A0, "gfx1032"},
};
RDCCOMPILE_ASSERT(ARRAY_COUNT(GCNISA::asicInfo) == GCNISA::asicCount, "Mismatched array count");
+2 -1
View File
@@ -35,7 +35,8 @@ struct asic
const char *targetName;
};
const int asicCount = 26;
const int legacyAsicCount = 20;
const int asicCount = 29;
extern const asic asicInfo[];
}; // namespace GCNISA
@@ -109,7 +109,11 @@ enum {
enum {
NV_NAVI10_P_A0 = 1,
NV_NAVI14_M_A0 = 20
NV_NAVI12_P_A0 = 10,
NV_NAVI14_M_A0 = 20,
NV_NAVI21_P_A0 = 40,
NV_NAVI22_P_A0 = 50,
NV_NAVI23_P_A0 = 60,
};
enum {
+3 -3
View File
@@ -52,11 +52,11 @@ class D3D11_Shader_ISA(rdtest.TestCase):
raise rdtest.TestFailureException(
"AMDIL ISA doesn't contain '{}' as expected: {}".format(fragment, disasm))
if 'RDNA (Navi 10)' not in isas:
if 'RDNA (gfx1010)' not in isas:
raise rdtest.TestFailureException(
"RDNA (Navi 10) is not an available disassembly target. Are you missing plugins?")
"RDNA (gfx1010) is not an available disassembly target. Are you missing plugins?")
disasm: str = self.controller.DisassembleShader(pipe.GetGraphicsPipelineObject(), refl, 'RDNA (Navi 10)')
disasm: str = self.controller.DisassembleShader(pipe.GetGraphicsPipelineObject(), refl, 'RDNA (gfx1010)')
expected = [
'asic(GFX10)',
+3 -3
View File
@@ -52,11 +52,11 @@ class D3D12_Shader_ISA(rdtest.TestCase):
raise rdtest.TestFailureException(
"AMDIL ISA doesn't contain '{}' as expected: {}".format(fragment, disasm))
if 'RDNA (Navi 10)' not in isas:
if 'RDNA (gfx1010)' not in isas:
raise rdtest.TestFailureException(
"RDNA (Navi 10) is not an available disassembly target. Are you missing plugins?")
"RDNA (gfx1010) is not an available disassembly target. Are you missing plugins?")
disasm: str = self.controller.DisassembleShader(pipe.GetGraphicsPipelineObject(), refl, 'RDNA (Navi 10)')
disasm: str = self.controller.DisassembleShader(pipe.GetGraphicsPipelineObject(), refl, 'RDNA (gfx1010)')
expected = [
'asic(GFX10)',
+3 -3
View File
@@ -61,11 +61,11 @@ class GL_Shader_ISA(rdtest.TestCase):
raise rdtest.TestFailureException(
"AMDIL ISA doesn't contain '{}' as expected: {}".format(fragment, disasm))
if 'RDNA (Navi 10)' not in isas:
if 'RDNA (gfx1010)' not in isas:
raise rdtest.TestFailureException(
"RDNA (Navi 10) is not an available disassembly target. Are you missing plugins?")
"RDNA (gfx1010) is not an available disassembly target. Are you missing plugins?")
disasm: str = self.controller.DisassembleShader(pipe.GetGraphicsPipelineObject(), refl, 'RDNA (Navi 10)')
disasm: str = self.controller.DisassembleShader(pipe.GetGraphicsPipelineObject(), refl, 'RDNA (gfx1010)')
expected = [
'asic(GFX10)',
+3 -3
View File
@@ -52,11 +52,11 @@ class VK_Shader_ISA(rdtest.TestCase):
raise rdtest.TestFailureException(
"AMDIL ISA doesn't contain '{}' as expected: {}".format(fragment, disasm))
if 'RDNA (Navi 10)' not in isas:
if 'RDNA (gfx1010)' not in isas:
raise rdtest.TestFailureException(
"RDNA (Navi 10) is not an available disassembly target. Are you missing plugins?")
"RDNA (gfx1010) is not an available disassembly target. Are you missing plugins?")
disasm: str = self.controller.DisassembleShader(pipe.GetGraphicsPipelineObject(), refl, 'RDNA (Navi 10)')
disasm: str = self.controller.DisassembleShader(pipe.GetGraphicsPipelineObject(), refl, 'RDNA (gfx1010)')
expected = [
'asic(GFX10)',