mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-05-06 21:57:57 -04:00
Adding MSI 3090 Suprim 24G GPU
* Code clean up for the MSI GPU V1 * Registered detector in `MSIGPUControllerDetect.cpp` * Link to [webpage](https://www.msi.com/Graphics-Card/GeForce-RTX-3090- SUPRIM-24G/Specification)
This commit is contained in:
@@ -12,46 +12,53 @@
|
||||
|
||||
typedef unsigned char msi_gpu_dev_id;
|
||||
|
||||
#define MSI_GPU_SPEED_MIN 0
|
||||
#define MSI_GPU_SPEED_MID 1
|
||||
#define MSI_GPU_SPEED_MAX 2
|
||||
#define MSI_GPU_BRIGHTNESS_MIN 0
|
||||
#define MSI_GPU_BRIGHTNESS_MAX 5
|
||||
#define MSI_GPU_BRIGHTNESS_MULTI 20
|
||||
|
||||
enum
|
||||
{
|
||||
MSI_GPU_REG_BRIGHTNESS = 0x36, /* MSI GPU Brightness Register */
|
||||
MSI_GPU_REG_SPEED = 0x38, /* MSI GPU Speed Register */
|
||||
MSI_GPU_REG_UNKNOWN = 0x26, /* MSI GPU Unknown Register */
|
||||
MSI_GPU_REG_R1 = 0x30, /* MSI GPU R1 Register */
|
||||
MSI_GPU_REG_G1 = 0x31, /* MSI GPU G1 Register */
|
||||
MSI_GPU_REG_B1 = 0x32, /* MSI GPU B1 Register */
|
||||
MSI_GPU_REG_R2 = 0x27, /* MSI GPU R2 Register */
|
||||
MSI_GPU_REG_G2 = 0x28, /* MSI GPU G2 Register */
|
||||
MSI_GPU_REG_B2 = 0x29, /* MSI GPU B2 Register */
|
||||
MSI_GPU_REG_R3 = 0x2a, /* MSI GPU R3 Register */
|
||||
MSI_GPU_REG_G3 = 0x2b, /* MSI GPU G3 Register */
|
||||
MSI_GPU_REG_B3 = 0x2c, /* MSI GPU B3 Register */
|
||||
MSI_GPU_REG_MODE = 0x22, /* MSI GPU Mode Selection Register */
|
||||
MSI_GPU_REG_SAVE = 0x3f, /* MSI GPU Save Changes Register */
|
||||
MSI_GPU_REG_BRIGHTNESS = 0x36, /* MSI GPU Brightness Register */
|
||||
MSI_GPU_REG_SPEED = 0x38, /* MSI GPU Speed Register */
|
||||
MSI_GPU_REG_UNKNOWN = 0x26, /* MSI GPU Unknown Register */
|
||||
MSI_GPU_REG_R1 = 0x30, /* MSI GPU R1 Register */
|
||||
MSI_GPU_REG_G1 = 0x31, /* MSI GPU G1 Register */
|
||||
MSI_GPU_REG_B1 = 0x32, /* MSI GPU B1 Register */
|
||||
MSI_GPU_REG_R2 = 0x27, /* MSI GPU R2 Register */
|
||||
MSI_GPU_REG_G2 = 0x28, /* MSI GPU G2 Register */
|
||||
MSI_GPU_REG_B2 = 0x29, /* MSI GPU B2 Register */
|
||||
MSI_GPU_REG_R3 = 0x2A, /* MSI GPU R3 Register */
|
||||
MSI_GPU_REG_G3 = 0x2B, /* MSI GPU G3 Register */
|
||||
MSI_GPU_REG_B3 = 0x2C, /* MSI GPU B3 Register */
|
||||
MSI_GPU_REG_MODE = 0x22, /* MSI GPU Mode Selection Register */
|
||||
MSI_GPU_REG_SAVE = 0x3F, /* MSI GPU Save Changes Register */
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
MSI_GPU_MODE_OFF = 0x01, /* OFF mode */
|
||||
MSI_GPU_MODE_RAINBOW = 0x08, /* Rainbow effect mode */
|
||||
MSI_GPU_MODE_STATIC = 0x13, /* Static color mode */
|
||||
MSI_GPU_MODE_RAINDROP = 0x1a, /* Raindrop effect mode */
|
||||
MSI_GPU_MODE_MAGIC = 0x07, /* Magic effect mode */
|
||||
MSI_GPU_MODE_PATROLLING = 0x05, /* Patrolling effect mode */
|
||||
MSI_GPU_MODE_STREAMING = 0x06, /* Streaming effect mode */
|
||||
MSI_GPU_MODE_LIGHTNING = 0x15, /* Lightning effect mode */
|
||||
MSI_GPU_MODE_WAVE = 0x1f, /* Wave effect mode */
|
||||
MSI_GPU_MODE_METEOR = 0x16, /* Meteor effect mode */
|
||||
MSI_GPU_MODE_STACK = 0x0d, /* Stack effect mode */
|
||||
MSI_GPU_MODE_RHYTHM = 0x0b, /* Rhythm effect mode */
|
||||
MSI_GPU_MODE_FLOWING = 0x09, /* Flowing effect mode */
|
||||
MSI_GPU_MODE_WHIRLING = 0x0f, /* Whirling effect mode */
|
||||
MSI_GPU_MODE_TWISTING = 0x11, /* Twisting effect mode */
|
||||
MSI_GPU_MODE_LAMINATING = 0x1d, /* Laminating effect mode */
|
||||
MSI_GPU_MODE_FADEIN = 0x14, /* Fadein effect mode */
|
||||
MSI_GPU_MODE_BREATHING = 0x04, /* Breathing effect mode */
|
||||
MSI_GPU_MODE_FLASHING = 0x02, /* Flashing effect mode */
|
||||
MSI_GPU_MODE_DOUBLEFLASHING = 0x03, /* Doubleflashing effect mode */
|
||||
MSI_GPU_MODE_OFF = 0x01, /* OFF mode */
|
||||
MSI_GPU_MODE_RAINBOW = 0x08, /* Rainbow effect mode */
|
||||
MSI_GPU_MODE_STATIC = 0x13, /* Static color mode */
|
||||
MSI_GPU_MODE_RAINDROP = 0x1A, /* Raindrop effect mode */
|
||||
MSI_GPU_MODE_MAGIC = 0x07, /* Magic effect mode */
|
||||
MSI_GPU_MODE_PATROLLING = 0x05, /* Patrolling effect mode */
|
||||
MSI_GPU_MODE_STREAMING = 0x06, /* Streaming effect mode */
|
||||
MSI_GPU_MODE_LIGHTNING = 0x15, /* Lightning effect mode */
|
||||
MSI_GPU_MODE_WAVE = 0x1F, /* Wave effect mode */
|
||||
MSI_GPU_MODE_METEOR = 0x16, /* Meteor effect mode */
|
||||
MSI_GPU_MODE_STACK = 0x0D, /* Stack effect mode */
|
||||
MSI_GPU_MODE_RHYTHM = 0x0B, /* Rhythm effect mode */
|
||||
MSI_GPU_MODE_FLOWING = 0x09, /* Flowing effect mode */
|
||||
MSI_GPU_MODE_WHIRLING = 0x0F, /* Whirling effect mode */
|
||||
MSI_GPU_MODE_TWISTING = 0x11, /* Twisting effect mode */
|
||||
MSI_GPU_MODE_LAMINATING = 0x1D, /* Laminating effect mode */
|
||||
MSI_GPU_MODE_FADEIN = 0x14, /* Fadein effect mode */
|
||||
MSI_GPU_MODE_BREATHING = 0x04, /* Breathing effect mode */
|
||||
MSI_GPU_MODE_FLASHING = 0x02, /* Flashing effect mode */
|
||||
MSI_GPU_MODE_DOUBLEFLASHING = 0x03, /* Doubleflashing effect mode */
|
||||
};
|
||||
|
||||
class MSIGPUController
|
||||
|
||||
@@ -98,6 +98,7 @@ REGISTER_I2C_PCI_DETECTOR("MSI GeForce RTX 3080 12GB Gaming Z Trio LHR", Dete
|
||||
REGISTER_I2C_PCI_DETECTOR("MSI GeForce RTX 3080 Ti Gaming X Trio 12G", DetectMSIGPUControllers, NVIDIA_VEN, NVIDIA_RTX3080TI_DEV, MSI_SUB_VEN, MSI_RTX3080TI_GAMING_X_TRIO_SUB_DEV, 0x68);
|
||||
REGISTER_I2C_PCI_DETECTOR("MSI GeForce RTX 3080 Ti Suprim X 12G", DetectMSIGPUControllers, NVIDIA_VEN, NVIDIA_RTX3080TI_DEV, MSI_SUB_VEN, MSI_RTX3080TI_SUPRIM_X_SUB_DEV, 0x68);
|
||||
REGISTER_I2C_PCI_DETECTOR("MSI GeForce RTX 3090 24GB Gaming X Trio", DetectMSIGPUControllers, NVIDIA_VEN, NVIDIA_RTX3090_DEV, MSI_SUB_VEN, MSI_RTX3090_GAMING_X_TRIO_SUB_DEV, 0x68);
|
||||
REGISTER_I2C_PCI_DETECTOR("MSI GeForce RTX 3090 Suprim 24G", DetectMSIGPUControllers, NVIDIA_VEN, NVIDIA_RTX3090_DEV, MSI_SUB_VEN, MSI_RTX3090_SUPRIM_SUB_DEV, 0x68);
|
||||
REGISTER_I2C_PCI_DETECTOR("MSI GeForce RTX 3090 Suprim X 24G", DetectMSIGPUControllers, NVIDIA_VEN, NVIDIA_RTX3090_DEV, MSI_SUB_VEN, MSI_RTX3090_SUPRIM_X_SUB_DEV, 0x68);
|
||||
REGISTER_I2C_PCI_DETECTOR("MSI GeForce RTX 3090 Ti Suprim X 24G", DetectMSIGPUControllers, NVIDIA_VEN, NVIDIA_RTX3090TI_DEV, MSI_SUB_VEN, MSI_RTX3090TI_SUPRIM_X_SUB_DEV, 0x68);
|
||||
REGISTER_I2C_PCI_DETECTOR("MSI GeForce RTX 3090 Ti Gaming X Trio 24G", DetectMSIGPUControllers, NVIDIA_VEN, NVIDIA_RTX3090TI_DEV, MSI_SUB_VEN, MSI_RTX3090TI_GAMING_X_TRIO_SUB_DEV, 0x68);
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "RGBController_MSIGPU.h"
|
||||
#include <array>
|
||||
|
||||
static const std::array<unsigned char, 5> brightness_values = { 0x14, 0x28, 0x3c, 0x50, 0x64 };
|
||||
static const std::array<unsigned char, 3> speed_values = { 0x04, 0x02, 0x01 };
|
||||
|
||||
int RGBController_MSIGPU::GetDeviceMode()
|
||||
@@ -42,21 +41,6 @@ int RGBController_MSIGPU::GetModeSpeed()
|
||||
return 0;
|
||||
}
|
||||
|
||||
int RGBController_MSIGPU::GetModeBrightness()
|
||||
{
|
||||
unsigned char mode_brightness = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_BRIGHTNESS);
|
||||
|
||||
for(std::size_t brightness = 0; brightness < brightness_values.size(); brightness++)
|
||||
{
|
||||
if (brightness_values[brightness] == mode_brightness)
|
||||
{
|
||||
return brightness;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**------------------------------------------------------------------*\
|
||||
@name MSI GPU
|
||||
@category GPU
|
||||
@@ -75,265 +59,265 @@ RGBController_MSIGPU::RGBController_MSIGPU(MSIGPUController * msi_gpu_ptr)
|
||||
name = "MSI GPU Device";
|
||||
vendor = "MSI";
|
||||
type = DEVICE_TYPE_GPU;
|
||||
description = "MSI GPU Device";
|
||||
description = name;
|
||||
location = msi_gpu->GetDeviceLocation();
|
||||
|
||||
mode Off;
|
||||
Off.name = "Off";
|
||||
Off.value = MSI_GPU_MODE_OFF;
|
||||
Off.flags = MODE_FLAG_MANUAL_SAVE;
|
||||
Off.color_mode = MODE_COLORS_NONE;
|
||||
modes.push_back(Off);
|
||||
|
||||
mode Rainbow;
|
||||
Rainbow.name = "Rainbow";
|
||||
Rainbow.value = MSI_GPU_MODE_RAINBOW;
|
||||
Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
|
||||
Rainbow.speed_min = 0;
|
||||
Rainbow.speed = 0;
|
||||
Rainbow.speed_max = 2;
|
||||
Rainbow.brightness_min = 0;
|
||||
Rainbow.brightness = 2;
|
||||
Rainbow.brightness_max = 4;
|
||||
Rainbow.color_mode = MODE_COLORS_NONE;
|
||||
modes.push_back(Rainbow);
|
||||
|
||||
mode Direct;
|
||||
Direct.name = "Direct";
|
||||
Direct.value = MSI_GPU_MODE_STATIC;
|
||||
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
|
||||
Direct.color_mode = MODE_COLORS_PER_LED;
|
||||
Direct.brightness_min = 0;
|
||||
Direct.brightness = 2;
|
||||
Direct.brightness_max = 4;
|
||||
Direct.name = "Direct";
|
||||
Direct.value = MSI_GPU_MODE_STATIC;
|
||||
Direct.flags = MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
|
||||
Direct.color_mode = MODE_COLORS_PER_LED;
|
||||
Direct.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Direct.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Direct.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
modes.push_back(Direct);
|
||||
|
||||
mode Rainbow;
|
||||
Rainbow.name = "Rainbow";
|
||||
Rainbow.value = MSI_GPU_MODE_RAINBOW;
|
||||
Rainbow.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
|
||||
Rainbow.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Rainbow.speed = MSI_GPU_SPEED_MID;
|
||||
Rainbow.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Rainbow.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Rainbow.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Rainbow.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Rainbow.color_mode = MODE_COLORS_NONE;
|
||||
modes.push_back(Rainbow);
|
||||
|
||||
mode Raindrop;
|
||||
Raindrop.name = "Raindrop";
|
||||
Raindrop.value = MSI_GPU_MODE_RAINDROP;
|
||||
Raindrop.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Raindrop.speed_min = 0;
|
||||
Raindrop.speed = 0;
|
||||
Raindrop.speed_max = 2;
|
||||
Raindrop.brightness_min = 0;
|
||||
Raindrop.brightness = 2;
|
||||
Raindrop.brightness_max = 4;
|
||||
Raindrop.color_mode = MODE_COLORS_PER_LED;
|
||||
Raindrop.name = "Raindrop";
|
||||
Raindrop.value = MSI_GPU_MODE_RAINDROP;
|
||||
Raindrop.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Raindrop.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Raindrop.speed = MSI_GPU_SPEED_MID;
|
||||
Raindrop.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Raindrop.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Raindrop.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Raindrop.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Raindrop.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Raindrop);
|
||||
|
||||
mode Magic;
|
||||
Magic.name = "Magic";
|
||||
Magic.value = MSI_GPU_MODE_MAGIC;
|
||||
Magic.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
|
||||
Magic.speed_min = 0;
|
||||
Magic.speed = 0;
|
||||
Magic.speed_max = 2;
|
||||
Magic.brightness_min = 0;
|
||||
Magic.brightness = 2;
|
||||
Magic.brightness_max = 4;
|
||||
Magic.color_mode = MODE_COLORS_NONE;
|
||||
Magic.name = "Magic";
|
||||
Magic.value = MSI_GPU_MODE_MAGIC;
|
||||
Magic.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
|
||||
Magic.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Magic.speed = MSI_GPU_SPEED_MID;
|
||||
Magic.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Magic.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Magic.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Magic.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Magic.color_mode = MODE_COLORS_NONE;
|
||||
modes.push_back(Magic);
|
||||
|
||||
mode Patrolling;
|
||||
Patrolling.name = "Patrolling";
|
||||
Patrolling.value = MSI_GPU_MODE_PATROLLING;
|
||||
Patrolling.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Patrolling.speed_min = 0;
|
||||
Patrolling.speed = 0;
|
||||
Patrolling.speed_max = 2;
|
||||
Patrolling.brightness_min = 0;
|
||||
Patrolling.brightness = 2;
|
||||
Patrolling.brightness_max = 4;
|
||||
Patrolling.color_mode = MODE_COLORS_PER_LED;
|
||||
Patrolling.name = "Patrolling";
|
||||
Patrolling.value = MSI_GPU_MODE_PATROLLING;
|
||||
Patrolling.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Patrolling.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Patrolling.speed = MSI_GPU_SPEED_MID;
|
||||
Patrolling.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Patrolling.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Patrolling.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Patrolling.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Patrolling.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Patrolling);
|
||||
|
||||
mode Streaming;
|
||||
Streaming.name = "Streaming";
|
||||
Streaming.value = MSI_GPU_MODE_STREAMING;
|
||||
Streaming.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
|
||||
Streaming.speed_min = 0;
|
||||
Streaming.speed = 0;
|
||||
Streaming.speed_max = 2;
|
||||
Streaming.brightness_min = 0;
|
||||
Streaming.brightness = 2;
|
||||
Streaming.brightness_max = 4;
|
||||
Streaming.color_mode = MODE_COLORS_NONE;
|
||||
Streaming.name = "Streaming";
|
||||
Streaming.value = MSI_GPU_MODE_STREAMING;
|
||||
Streaming.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
|
||||
Streaming.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Streaming.speed = MSI_GPU_SPEED_MID;
|
||||
Streaming.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Streaming.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Streaming.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Streaming.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Streaming.color_mode = MODE_COLORS_NONE;
|
||||
modes.push_back(Streaming);
|
||||
|
||||
mode Lightning;
|
||||
Lightning.name = "Lightning";
|
||||
Lightning.value = MSI_GPU_MODE_LIGHTNING;
|
||||
Lightning.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
|
||||
Lightning.speed_min = 0;
|
||||
Lightning.speed = 0;
|
||||
Lightning.speed_max = 2;
|
||||
Lightning.brightness_min = 0;
|
||||
Lightning.brightness = 2;
|
||||
Lightning.brightness_max = 4;
|
||||
Lightning.color_mode = MODE_COLORS_NONE;
|
||||
Lightning.name = "Lightning";
|
||||
Lightning.value = MSI_GPU_MODE_LIGHTNING;
|
||||
Lightning.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_MANUAL_SAVE;
|
||||
Lightning.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Lightning.speed = MSI_GPU_SPEED_MID;
|
||||
Lightning.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Lightning.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Lightning.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Lightning.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Lightning.color_mode = MODE_COLORS_NONE;
|
||||
modes.push_back(Lightning);
|
||||
|
||||
mode Wave;
|
||||
Wave.name = "Wave";
|
||||
Wave.value = MSI_GPU_MODE_WAVE;
|
||||
Wave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Wave.speed_min = 0;
|
||||
Wave.speed = 0;
|
||||
Wave.speed_max = 2;
|
||||
Wave.brightness_min = 0;
|
||||
Wave.brightness = 2;
|
||||
Wave.brightness_max = 4;
|
||||
Wave.color_mode = MODE_COLORS_PER_LED;
|
||||
Wave.name = "Wave";
|
||||
Wave.value = MSI_GPU_MODE_WAVE;
|
||||
Wave.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Wave.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Wave.speed = MSI_GPU_SPEED_MID;
|
||||
Wave.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Wave.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Wave.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Wave.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Wave.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Wave);
|
||||
|
||||
mode Meteor;
|
||||
Meteor.name = "Meteor";
|
||||
Meteor.value = MSI_GPU_MODE_METEOR;
|
||||
Meteor.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Meteor.speed_min = 0;
|
||||
Meteor.speed = 0;
|
||||
Meteor.speed_max = 2;
|
||||
Meteor.brightness_min = 0;
|
||||
Meteor.brightness = 2;
|
||||
Meteor.brightness_max = 4;
|
||||
Meteor.color_mode = MODE_COLORS_PER_LED;
|
||||
Meteor.name = "Meteor";
|
||||
Meteor.value = MSI_GPU_MODE_METEOR;
|
||||
Meteor.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Meteor.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Meteor.speed = MSI_GPU_SPEED_MID;
|
||||
Meteor.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Meteor.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Meteor.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Meteor.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Meteor.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Meteor);
|
||||
|
||||
mode Stack;
|
||||
Stack.name = "Stack";
|
||||
Stack.value = MSI_GPU_MODE_STACK;
|
||||
Stack.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Stack.speed_min = 0;
|
||||
Stack.speed = 0;
|
||||
Stack.speed_max = 2;
|
||||
Stack.brightness_min = 0;
|
||||
Stack.brightness = 2;
|
||||
Stack.brightness_max = 4;
|
||||
Stack.color_mode = MODE_COLORS_PER_LED;
|
||||
Stack.name = "Stack";
|
||||
Stack.value = MSI_GPU_MODE_STACK;
|
||||
Stack.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Stack.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Stack.speed = MSI_GPU_SPEED_MID;
|
||||
Stack.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Stack.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Stack.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Stack.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Stack.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Stack);
|
||||
|
||||
mode Rhythm;
|
||||
Rhythm.name = "Rhythm";
|
||||
Rhythm.value = MSI_GPU_MODE_RHYTHM;
|
||||
Rhythm.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Rhythm.speed_min = 0;
|
||||
Rhythm.speed = 0;
|
||||
Rhythm.speed_max = 2;
|
||||
Rhythm.brightness_min = 0;
|
||||
Rhythm.brightness = 2;
|
||||
Rhythm.brightness_max = 4;
|
||||
Rhythm.color_mode = MODE_COLORS_PER_LED;
|
||||
Rhythm.name = "Rhythm";
|
||||
Rhythm.value = MSI_GPU_MODE_RHYTHM;
|
||||
Rhythm.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Rhythm.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Rhythm.speed = MSI_GPU_SPEED_MID;
|
||||
Rhythm.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Rhythm.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Rhythm.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Rhythm.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Rhythm.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Rhythm);
|
||||
|
||||
mode Flowing;
|
||||
Flowing.name = "Flowing";
|
||||
Flowing.value = MSI_GPU_MODE_FLOWING;
|
||||
Flowing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Flowing.speed_min = 0;
|
||||
Flowing.speed = 0;
|
||||
Flowing.speed_max = 2;
|
||||
Flowing.brightness_min = 0;
|
||||
Flowing.brightness = 2;
|
||||
Flowing.brightness_max = 4;
|
||||
Flowing.color_mode = MODE_COLORS_PER_LED;
|
||||
Flowing.name = "Flowing";
|
||||
Flowing.value = MSI_GPU_MODE_FLOWING;
|
||||
Flowing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Flowing.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Flowing.speed = MSI_GPU_SPEED_MID;
|
||||
Flowing.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Flowing.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Flowing.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Flowing.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Flowing.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Flowing);
|
||||
|
||||
mode Whirling;
|
||||
Whirling.name = "Whirling";
|
||||
Whirling.value = MSI_GPU_MODE_WHIRLING;
|
||||
Whirling.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Whirling.speed_min = 0;
|
||||
Whirling.speed = 0;
|
||||
Whirling.speed_max = 2;
|
||||
Whirling.brightness_min = 0;
|
||||
Whirling.brightness = 2;
|
||||
Whirling.brightness_max = 4;
|
||||
Whirling.color_mode = MODE_COLORS_PER_LED;
|
||||
Whirling.name = "Whirling";
|
||||
Whirling.value = MSI_GPU_MODE_WHIRLING;
|
||||
Whirling.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Whirling.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Whirling.speed = MSI_GPU_SPEED_MID;
|
||||
Whirling.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Whirling.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Whirling.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Whirling.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Whirling.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Whirling);
|
||||
|
||||
mode Twisting;
|
||||
Twisting.name = "Twisting";
|
||||
Twisting.value = MSI_GPU_MODE_TWISTING;
|
||||
Twisting.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Twisting.speed_min = 0;
|
||||
Twisting.speed = 0;
|
||||
Twisting.speed_max = 2;
|
||||
Twisting.brightness_min = 0;
|
||||
Twisting.brightness = 2;
|
||||
Twisting.brightness_max = 4;
|
||||
Twisting.color_mode = MODE_COLORS_PER_LED;
|
||||
Twisting.name = "Twisting";
|
||||
Twisting.value = MSI_GPU_MODE_TWISTING;
|
||||
Twisting.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Twisting.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Twisting.speed = MSI_GPU_SPEED_MID;
|
||||
Twisting.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Twisting.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Twisting.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Twisting.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Twisting.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Twisting);
|
||||
|
||||
mode Laminating;
|
||||
Laminating.name = "Laminating";
|
||||
Laminating.value = MSI_GPU_MODE_LAMINATING;
|
||||
Laminating.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Laminating.speed_min = 0;
|
||||
Laminating.speed = 0;
|
||||
Laminating.speed_max = 2;
|
||||
Laminating.brightness_min = 0;
|
||||
Laminating.brightness = 2;
|
||||
Laminating.brightness_max = 4;
|
||||
Laminating.color_mode = MODE_COLORS_PER_LED;
|
||||
Laminating.name = "Laminating";
|
||||
Laminating.value = MSI_GPU_MODE_LAMINATING;
|
||||
Laminating.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Laminating.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Laminating.speed = MSI_GPU_SPEED_MID;
|
||||
Laminating.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Laminating.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Laminating.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Laminating.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Laminating.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Laminating);
|
||||
|
||||
mode Fadein;
|
||||
Fadein.name = "Fadein";
|
||||
Fadein.value = MSI_GPU_MODE_FADEIN;
|
||||
Fadein.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Fadein.speed_min = 0;
|
||||
Fadein.speed = 0;
|
||||
Fadein.speed_max = 2;
|
||||
Fadein.brightness_min = 0;
|
||||
Fadein.brightness = 2;
|
||||
Fadein.brightness_max = 4;
|
||||
Fadein.color_mode = MODE_COLORS_PER_LED;
|
||||
Fadein.name = "Fadein";
|
||||
Fadein.value = MSI_GPU_MODE_FADEIN;
|
||||
Fadein.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Fadein.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Fadein.speed = MSI_GPU_SPEED_MID;
|
||||
Fadein.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Fadein.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Fadein.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Fadein.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Fadein.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Fadein);
|
||||
|
||||
mode Breathing;
|
||||
Breathing.name = "Breathing";
|
||||
Breathing.value = MSI_GPU_MODE_BREATHING;
|
||||
Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Breathing.speed_min = 0;
|
||||
Breathing.speed = 0;
|
||||
Breathing.speed_max = 2;
|
||||
Breathing.brightness_min = 0;
|
||||
Breathing.brightness = 2;
|
||||
Breathing.brightness_max = 4;
|
||||
Breathing.color_mode = MODE_COLORS_PER_LED;
|
||||
Breathing.name = "Breathing";
|
||||
Breathing.value = MSI_GPU_MODE_BREATHING;
|
||||
Breathing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
Breathing.speed_min = MSI_GPU_SPEED_MIN;
|
||||
Breathing.speed = MSI_GPU_SPEED_MID;
|
||||
Breathing.speed_max = MSI_GPU_SPEED_MAX;
|
||||
Breathing.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
Breathing.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Breathing.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
Breathing.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(Breathing);
|
||||
|
||||
mode flashing;
|
||||
flashing.name = "Flashing";
|
||||
flashing.value = MSI_GPU_MODE_FLASHING;
|
||||
flashing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
flashing.speed_min = 0;
|
||||
flashing.speed = 0;
|
||||
flashing.speed_max = 2;
|
||||
flashing.brightness_min = 0;
|
||||
flashing.brightness = 2;
|
||||
flashing.brightness_max = 4;
|
||||
flashing.color_mode = MODE_COLORS_PER_LED;
|
||||
flashing.name = "Flashing";
|
||||
flashing.value = MSI_GPU_MODE_FLASHING;
|
||||
flashing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
flashing.speed_min = MSI_GPU_SPEED_MIN;
|
||||
flashing.speed = MSI_GPU_SPEED_MID;
|
||||
flashing.speed_max = MSI_GPU_SPEED_MAX;
|
||||
flashing.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
flashing.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
flashing.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
flashing.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(flashing);
|
||||
|
||||
mode doubleflashing;
|
||||
doubleflashing.name = "Doubleflashing";
|
||||
doubleflashing.value = MSI_GPU_MODE_DOUBLEFLASHING;
|
||||
doubleflashing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
doubleflashing.speed_min = 0;
|
||||
doubleflashing.speed = 0;
|
||||
doubleflashing.speed_max = 2;
|
||||
doubleflashing.brightness_min = 0;
|
||||
doubleflashing.brightness = 2;
|
||||
doubleflashing.brightness_max = 4;
|
||||
doubleflashing.color_mode = MODE_COLORS_PER_LED;
|
||||
doubleflashing.name = "Doubleflashing";
|
||||
doubleflashing.value = MSI_GPU_MODE_DOUBLEFLASHING;
|
||||
doubleflashing.flags = MODE_FLAG_HAS_SPEED | MODE_FLAG_HAS_BRIGHTNESS | MODE_FLAG_HAS_PER_LED_COLOR | MODE_FLAG_MANUAL_SAVE;
|
||||
doubleflashing.speed_min = 0;
|
||||
doubleflashing.speed = 0;
|
||||
doubleflashing.speed_max = 2;
|
||||
doubleflashing.brightness_min = MSI_GPU_BRIGHTNESS_MIN;
|
||||
doubleflashing.brightness = MSI_GPU_BRIGHTNESS_MAX;
|
||||
doubleflashing.brightness_max = MSI_GPU_BRIGHTNESS_MAX;
|
||||
doubleflashing.color_mode = MODE_COLORS_PER_LED;
|
||||
modes.push_back(doubleflashing);
|
||||
|
||||
mode Off;
|
||||
Off.name = "Off";
|
||||
Off.value = MSI_GPU_MODE_OFF;
|
||||
Off.flags = MODE_FLAG_MANUAL_SAVE;
|
||||
Off.color_mode = MODE_COLORS_NONE;
|
||||
modes.push_back(Off);
|
||||
|
||||
SetupZones();
|
||||
|
||||
active_mode = GetDeviceMode();
|
||||
modes[active_mode].speed = GetModeSpeed();
|
||||
modes[active_mode].brightness = GetModeBrightness();
|
||||
active_mode = GetDeviceMode();
|
||||
modes[active_mode].speed = GetModeSpeed();
|
||||
modes[active_mode].brightness = msi_gpu->MSIGPURegisterRead(MSI_GPU_REG_BRIGHTNESS) / MSI_GPU_BRIGHTNESS_MULTI;
|
||||
}
|
||||
|
||||
RGBController_MSIGPU::~RGBController_MSIGPU()
|
||||
@@ -443,7 +427,7 @@ void RGBController_MSIGPU::DeviceUpdateMode()
|
||||
{
|
||||
if(modes[active_mode].flags & MODE_FLAG_HAS_BRIGHTNESS)
|
||||
{
|
||||
msi_gpu->MSIGPURegisterWrite(MSI_GPU_REG_BRIGHTNESS, brightness_values[modes[active_mode].brightness]);
|
||||
msi_gpu->MSIGPURegisterWrite(MSI_GPU_REG_BRIGHTNESS, modes[active_mode].brightness * MSI_GPU_BRIGHTNESS_MULTI);
|
||||
|
||||
if(modes[active_mode].flags & MODE_FLAG_HAS_SPEED)
|
||||
{
|
||||
|
||||
@@ -32,6 +32,5 @@ private:
|
||||
|
||||
bool TimeToSend();
|
||||
int GetDeviceMode();
|
||||
int GetModeBrightness();
|
||||
int GetModeSpeed();
|
||||
};
|
||||
|
||||
@@ -501,6 +501,7 @@
|
||||
#define MSI_RTX3080TI_GAMING_X_TRIO_SUB_DEV 0x389B
|
||||
#define MSI_RTX3080TI_SUPRIM_X_SUB_DEV 0x3897
|
||||
#define MSI_RTX3090_GAMING_X_TRIO_SUB_DEV 0x3884
|
||||
#define MSI_RTX3090_SUPRIM_SUB_DEV 0x3883
|
||||
#define MSI_RTX3090_SUPRIM_X_SUB_DEV 0x3882
|
||||
#define MSI_RTX3090TI_SUPRIM_X_SUB_DEV 0x5090
|
||||
#define MSI_RTX3090TI_GAMING_X_TRIO_SUB_DEV 0x5091
|
||||
|
||||
Reference in New Issue
Block a user