Update zluda.py (gfx gpu names)

-expanded GPU gfx names
-added RDNA4, RDNA3.5, ...
-added missing Polaris cards to prevent 'gfx1010' and 'gfx1030' fallback
-kept gfx designation mostly the same, based on available custom lib's for hip57/62

might need some post adjustments
This commit is contained in:
Rando717 2025-09-08 17:55:29 +02:00 committed by GitHub
parent ddb1e3da47
commit 675d6d8f4c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -94,42 +94,70 @@ def gpu_name_to_gfx(gpu_name):
"""
gpu_name_lower = gpu_name.lower()
# RDNA4 (gfx12xx)
if any(x in gpu_name_lower for x in ['rx 9070', 'r9070', 'rx 9060']):
if 'rx 9060' in gpu_name_lower:
return 'gfx1200' # Navi 44 (gfx1200)
elif 'rx 9070' in gpu_name_lower or 'r9070' in gpu_name_lower:
return 'gfx1201' # Navi 48 (gfx1201)
# RDNA3.5 (gfx115x)
elif '890m' in gpu_name_lower:
return 'gfx1150' # Strix Point (gfx1150)
elif any(x in gpu_name_lower for x in ['8060s', '8050s', '8040s', '880m']):
return 'gfx1151' # Strix Halo (gfx1151)
elif any(x in gpu_name_lower for x in ['860m', '840m', '820m']):
return 'gfx1152' # Krackan Point (gfx1152)
# RDNA3 (gfx11xx)
if any(x in gpu_name_lower for x in ['rx 7900', 'rx 7800', 'rx 7700', 'rx 7600', 'rx 7500']):
if 'rx 7900' in gpu_name_lower:
return 'gfx1100' # Navi 31
elif 'rx 7800' in gpu_name_lower or 'rx 7700' in gpu_name_lower:
return 'gfx1101' # Navi 32
elif 'rx 7600' in gpu_name_lower or 'rx 7500' in gpu_name_lower:
return 'gfx1102' # Navi 33
elif any(x in gpu_name_lower for x in ['rx 7900', 'w7900', 'w7800']):
return 'gfx1100' # Navi 31 (gfx1100)
elif any(x in gpu_name_lower for x in ['rx 7800', 'rx 7700', 'w7700']):
return 'gfx1101' # Navi 32 (gfx1101)
elif any(x in gpu_name_lower for x in ['rx 7700s', 'rx 7650', 'w7600', 'rx 7600', 'w7500', 'w7400', 'rx 7400']):
return 'gfx1102' # Navi 33 (gfx1102)
elif any(x in gpu_name_lower for x in ['780m', '760m', '740m']):
return 'gfx1100' # Hawk Point (gfx1103)
# RDNA2 (gfx10xx)
elif any(x in gpu_name_lower for x in ['rx 6950', 'rx 6900', 'rx 6800', 'rx 6750', 'rx 6700']):
return 'gfx1030' # Navi 21/22
elif any(x in gpu_name_lower for x in ['rx 6650', 'rx 6600', 'rx 6500', 'rx 6400']):
return 'gfx1032' # Navi 23/24
elif any(x in gpu_name_lower for x in ['rx 6950', 'rx 6900', 'w6800', 'rx 6800']):
return 'gfx1030' # Navi 21 (gfx1030)
elif any(x in gpu_name_lower for x in ['rx 6850', 'rx 6800m', 'rx 6750', 'rx 6700']):
return 'gfx1030' # Navi 22 (gfx1031)
elif any(x in gpu_name_lower for x in ['rx 6800s', 'rx 6700s', 'rx 6650', 'rx 6600', 'w6600', 'rx 6550', 'rx 6500', 'rx 6450', 'rx 6400', 'rx 6300']):
return 'gfx1032' # Navi 23 (gfx1032)
elif any(x in gpu_name_lower for x in ['rx 6550', 'rx 6500', 'w6500', 'rx 6450', 'rx 6400', 'w6400', 'rx 6300', 'w6300']):
return 'gfx1032' # Navi 24 (gfx1034)
elif '680m' in gpu_name_lower or '660m' in gpu_name_lower:
return 'gfx1030' # Rembrandt (gfx1035)
# RDNA1 (gfx10xx)
elif any(x in gpu_name_lower for x in ['rx 5700', 'rx 5600', 'rx 5500']):
return 'gfx1010' # Navi 10
elif any(x in gpu_name_lower for x in ['rx 5700', 'w5700', 'rx 5600']):
return 'gfx1010' # Navi 10 (gfx1010)
elif any(x in gpu_name_lower for x in ['rx 5500', 'w5500','rx 5300', 'w5300']):
return 'gfx1010' # Navi 14 (gfx1012)
# Vega (gfx9xx)
elif any(x in gpu_name_lower for x in ['vega 64', 'vega 56', 'vega 20', 'radeon vii']):
return 'gfx900' # Vega 10/20
elif 'vega 11' in gpu_name_lower or 'vega 8' in gpu_name_lower:
return 'gfx902' # Raven Ridge APU
elif any(x in gpu_name_lower for x in ['vega 64', 'vega 56', 'frontier']):
return 'gfx900' # Vega 10 (gfx900, gfx901)
elif 'radeon vii' in gpu_name_lower or 'radeon pro vii' in gpu_name_lower:
return 'gfx900' # Vega 20 (gfx906, gfx907)
elif any(x in gpu_name_lower for x in ['vega 11', 'vega 10', 'vega 9', 'vega 8', 'vega 6', 'vega 3']):
return 'gfx902' # Raven Ridge APU (gfx902, gfx903)
elif 'radeon graphics' in gpu_name_lower: # Without (tm)
return 'gfx902' # Vega APUs (gfx90c) - Barcelo, Cezanne, Lucienne, Renoir
# Polaris (gfx8xx)
elif any(x in gpu_name_lower for x in ['rx 580', 'rx 570', 'rx 480', 'rx 470']):
return 'gfx803' # Polaris 10/20
elif any(x in gpu_name_lower for x in ['rx 560', 'rx 550', 'rx 460']):
return 'gfx803' # Polaris 11/12
elif any(x in gpu_name_lower for x in ['rx 590', 'rx 580', 'rx 570', 'rx 560', 'rx 480', 'rx 470', 'rx 460']):
return 'gfx803' # Polaris 10/11/20/21/30/31 (gfx803)
elif any(x in gpu_name_lower for x in ['rx 640', 'rx 550', 'rx 540']):
return 'gfx803' # Polaris 12/22/23 (gfx804)
# Default fallback - try to extract numbers and make educated guess
if 'rx 9' in gpu_name_lower: # Future RDNA4?
return 'gfx1200' # Anticipated next gen
elif 'rx 8' in gpu_name_lower: # Future RDNA4?
return 'gfx1150' # Anticipated next gen
return 'gfx1200' # Default RDNA4
elif 'rx 8' in gpu_name_lower: # Future RDNA3.5?
return 'gfx1150' # Default RDNA3.5
elif 'rx 7' in gpu_name_lower:
return 'gfx1100' # Default RDNA3
elif 'rx 6' in gpu_name_lower: