From 33ea73aac2ee3dc1f972403f4449943acb905d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mal=C3=BD?= Date: Sun, 9 Mar 2025 17:03:25 +0100 Subject: [PATCH] Add support for Sapphire Radeon RX 9070 XT Nitro+ --- .../SapphireGPUControllerDetect.cpp | 1 + .../RGBController_SapphireNitroGlowV3.cpp | 15 ++++++++++++++- pci_ids/pci_ids.h | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Controllers/SapphireGPUController/SapphireGPUControllerDetect.cpp b/Controllers/SapphireGPUController/SapphireGPUControllerDetect.cpp index af3e6730..a4eddad8 100644 --- a/Controllers/SapphireGPUController/SapphireGPUControllerDetect.cpp +++ b/Controllers/SapphireGPUController/SapphireGPUControllerDetect.cpp @@ -108,3 +108,4 @@ REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 7700 XT Nitro+", REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 7800 XT Nitro+", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI32_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI32_7800XT_NITRO_PLUS_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR); REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 7900 GRE Nitro+", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI31_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI31_GRE_NITRO_PLUS_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR); REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 7900 XTX Nitro+", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI31_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI31_NITRO_PLUS_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR); +REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 9070 XT Nitro+", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI48_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI48_NITRO_PLUS_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR); diff --git a/Controllers/SapphireGPUController/SapphireNitroGlowV3Controller/RGBController_SapphireNitroGlowV3.cpp b/Controllers/SapphireGPUController/SapphireNitroGlowV3Controller/RGBController_SapphireNitroGlowV3.cpp index a73e408c..9f125cf1 100644 --- a/Controllers/SapphireGPUController/SapphireNitroGlowV3Controller/RGBController_SapphireNitroGlowV3.cpp +++ b/Controllers/SapphireGPUController/SapphireNitroGlowV3Controller/RGBController_SapphireNitroGlowV3.cpp @@ -82,6 +82,13 @@ RGBController_SapphireNitroGlowV3::RGBController_SapphireNitroGlowV3(SapphireNit External.color_mode = MODE_COLORS_NONE; modes.push_back(External); + mode Off; + Off.name = "Off"; + Off.value = SAPPHIRE_NITRO_GLOW_V3_MODE_OFF; + Off.flags = 0; + Off.color_mode = MODE_COLORS_NONE; + modes.push_back(Off); + SetupZones(); ReadConfiguration(); @@ -161,7 +168,7 @@ void RGBController_SapphireNitroGlowV3::ReadConfiguration() break; case SAPPHIRE_NITRO_GLOW_V3_MODE_OFF: - active_mode = 0; + active_mode = 6; colors[0] = ToRGBColor(0, 0, 0); break; @@ -236,5 +243,11 @@ void RGBController_SapphireNitroGlowV3::DeviceUpdateMode() case SAPPHIRE_NITRO_GLOW_V3_MODE_EXTERNAL_CONTROL: controller->SetExternalControl(true); break; + + case SAPPHIRE_NITRO_GLOW_V3_MODE_OFF: + controller->SetExternalControl(false); + controller->SetColor(0, 0, 0); + controller->SetMode(mode.value); + break; } } diff --git a/pci_ids/pci_ids.h b/pci_ids/pci_ids.h index b3e52569..62342dc8 100644 --- a/pci_ids/pci_ids.h +++ b/pci_ids/pci_ids.h @@ -42,6 +42,7 @@ #define AMD_NAVI31_DEV 0x744C #define AMD_NAVI32_DEV 0x747E #define AMD_NAVI33_DEV 0x7480 +#define AMD_NAVI48_DEV 0x7550 /*-----------------------------------------------------*\ | Intel Device IDs | @@ -829,6 +830,7 @@ #define SAPPHIRE_NAVI21_TOXIC_SUB_DEV 0xF440 #define SAPPHIRE_NAVI21_TOXIC_SUB_DEV1 0xF441 #define SAPPHIRE_NAVI31_NITRO_PLUS_SUB_DEV 0xE471 +#define SAPPHIRE_NAVI48_NITRO_PLUS_SUB_DEV 0xE489 #define SAPPHIRE_NAVI31_GRE_NITRO_PLUS_SUB_DEV 0xE475 #define SAPPHIRE_NAVI32_7800XT_NITRO_PLUS_SUB_DEV 0xD475 #define SAPPHIRE_NAVI32_7700XT_NITRO_PLUS_SUB_DEV 0xF475