Store name in NVIDIAIlluminationController to avoid setting it in detector

This commit is contained in:
Adam Honse 2025-08-14 11:38:43 -05:00
parent 9470cb69fd
commit a34d796059
4 changed files with 49 additions and 41 deletions

View file

@ -116,9 +116,8 @@ void DetectNVIDIAIllumGPUs()
case NVIDIA_ILLUMINATION_V1:
{
nvapi_accessor* new_nvapi = new nvapi_accessor(gpu_handles[gpu_idx]);
NVIDIAIlluminationV1Controller* controller = new NVIDIAIlluminationV1Controller(new_nvapi, device_list[dev_idx].treats_rgbw_as_rgb);
NVIDIAIlluminationV1Controller* controller = new NVIDIAIlluminationV1Controller(new_nvapi, device_list[dev_idx].treats_rgbw_as_rgb, device_list[dev_idx].name);
RGBController_NVIDIAIlluminationV1* rgb_controller = new RGBController_NVIDIAIlluminationV1(controller);
rgb_controller->name = device_list[dev_idx].name;
ResourceManager::get()->RegisterRGBController(rgb_controller);
}

View file

@ -11,14 +11,21 @@
#include "NVIDIAIlluminationV1Controller_Windows_Linux.h"
NVIDIAIlluminationV1Controller::NVIDIAIlluminationV1Controller(nvapi_accessor* nvapi_ptr, bool treats_rgbw_as_rgb)
NVIDIAIlluminationV1Controller::NVIDIAIlluminationV1Controller(nvapi_accessor* nvapi_ptr, bool treats_rgbw_as_rgb, std::string dev_name)
{
nvapi = nvapi_ptr;
_treats_rgbw_as_rgb = treats_rgbw_as_rgb;
name = dev_name;
}
NVIDIAIlluminationV1Controller::~NVIDIAIlluminationV1Controller()
{
}
std::string NVIDIAIlluminationV1Controller::GetName()
{
return(name);
}
void NVIDIAIlluminationV1Controller::checkNVAPIreturn()

View file

@ -36,9 +36,11 @@ enum
class NVIDIAIlluminationV1Controller
{
public:
NVIDIAIlluminationV1Controller(nvapi_accessor* nvapi_ptr, bool treats_rgbw_as_rgb);
NVIDIAIlluminationV1Controller(nvapi_accessor* nvapi_ptr, bool treats_rgbw_as_rgb, std::string dev_name);
~NVIDIAIlluminationV1Controller();
std::string GetName();
void getControl();
void setControl();
bool allZero(std::array<uint8_t, 4> colors);
@ -49,11 +51,12 @@ class NVIDIAIlluminationV1Controller
std::vector<NV_GPU_CLIENT_ILLUM_ZONE_TYPE> getInfo();
private:
void checkNVAPIreturn();
nvapi_accessor* nvapi;
bool _treats_rgbw_as_rgb;
NV_GPU_CLIENT_ILLUM_ZONE_CONTROL_PARAMS zone_params;
NV_STATUS nvapi_return = 0;
const std::array<uint8_t, 4> all_zeros = {0, 0, 0, 0};
std::string name;
void checkNVAPIreturn();
};

View file

@ -52,10 +52,9 @@ RGBController_NVIDIAIlluminationV1::RGBController_NVIDIAIlluminationV1(NVIDIAIll
{
controller = controller_ptr;
name = "NVIDIA Illumination GPU";
name = controller->GetName();
vendor = "NVIDIA";
description = "NVIDIA Illumination RGB GPU Device";
type = DEVICE_TYPE_GPU;
mode Off;