1- namespace StabilityMatrix . Core . Helper . HardwareInfo ;
1+ using StabilityMatrix . Core . Models . Rocm ;
2+
3+ namespace StabilityMatrix . Core . Helper . HardwareInfo ;
24
35public record GpuInfo
46{
@@ -62,11 +64,7 @@ public bool IsLegacyNvidiaGpu()
6264
6365 public bool IsWindowsRocmSupportedGpu ( )
6466 {
65- var gfx = GetAmdGfxArch ( ) ;
66- if ( gfx is null )
67- return false ;
68-
69- return gfx . StartsWith ( "gfx110" ) || gfx . StartsWith ( "gfx120" ) || gfx . Equals ( "gfx1151" ) ;
67+ return WindowsRocmSupport . IsSupportedGpu ( this ) ;
7068 }
7169
7270 public bool IsAmd => Name ? . Contains ( "amd" , StringComparison . OrdinalIgnoreCase ) ?? false ;
@@ -84,7 +82,7 @@ public bool IsWindowsRocmSupportedGpu()
8482 return name switch
8583 {
8684 // RDNA4
87- _ when Has ( "R9700" ) || Has ( "9070" ) => "gfx1201" ,
85+ _ when Has ( "R9700" ) || Has ( "R9600" ) || Has ( " 9070") => "gfx1201" ,
8886 _ when Has ( "9060" ) => "gfx1200" ,
8987
9088 // RDNA3.5 APUs
@@ -100,7 +98,7 @@ _ when Has("740M") || Has("760M") || Has("780M") || Has("Z1") || Has("Z2") => "g
10098 _ when Has ( "7400" ) || Has ( "7500" ) || Has ( "7600" ) || Has ( "7650" ) || Has ( "7700S" ) => "gfx1102" ,
10199
102100 // RDNA3 dGPU Navi32
103- _ when Has ( "7700" ) || Has ( "RX 7800" ) || HasNoSpace ( "RX7800" ) => "gfx1101" ,
101+ _ when Has ( "7700" ) || Has ( "RX 7800" ) || Has ( "v710" ) || HasNoSpace ( "RX7800" ) => "gfx1101" ,
104102
105103 // RDNA3 dGPU Navi31 (incl. Pro)
106104 _ when Has ( "W7800" ) || Has ( "7900" ) || Has ( "7950" ) || Has ( "7990" ) => "gfx1100" ,
@@ -112,15 +110,31 @@ _ when Has("660M") || Has("680M") => "gfx1035",
112110 _ when Has ( "6300" ) || Has ( "6400" ) || Has ( "6450" ) || Has ( "6500" ) || Has ( "6550" ) || Has ( "6500M" ) =>
113111 "gfx1034" ,
114112
113+ // RDNA2 Steam Deck APU
114+ _ when Has ( "Van Gogh" ) || Has ( "Sephiroth" ) => "gfx1033" ,
115+
115116 // RDNA2 Navi23
116117 _ when Has ( "6600" ) || Has ( "6650" ) || Has ( "6700S" ) || Has ( "6800S" ) || Has ( "6600M" ) => "gfx1032" ,
117118
118119 // RDNA2 Navi22 (note: desktop 6800 is NOT here; that’s Navi21/gfx1030)
119120 _ when Has ( "6700" ) || Has ( "6750" ) || Has ( "6800M" ) || Has ( "6850M" ) => "gfx1031" ,
120121
121122 // RDNA2 Navi21 (big die)
122- _ when Has ( "6800" ) || Has ( "6900" ) || Has ( "6950" ) => "gfx1030" ,
123+ _ when Has ( "6800" ) || Has ( "6900" ) || Has ( "6950" ) || Has ( "v620" ) => "gfx1030" ,
124+
125+ // RDNA1 Navi10 XTX
126+ _ when Has ( "5500" ) => "gfx1012" ,
127+
128+ //RDNA1 Pro Card
129+ _ when Has ( "v520" ) => "gfx1011" ,
130+
131+ // RDNA1 Navi10 XT
132+ _ when Has ( "5600" ) || Has ( "5700" ) => "gfx1010" ,
123133
134+ // Vega/GCN5 Dedicated GPUs
135+ _ when Has ( "rx vega" ) || Has ( "vega 64" ) || Has ( "vega 56" ) || Has ( "vega frontier" ) => "gfx900" ,
136+ _ when Has ( "radeon vii" ) || HasNoSpace ( "radeonvii" ) || Has ( "pro vii" ) || HasNoSpace ( "provii" ) =>
137+ "gfx906" ,
124138 _ => null ,
125139 } ;
126140
0 commit comments