mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-09-13 02:42:09 +02:00
ae3c15b7fd
Ref #993
45 lines
1.5 KiB
C
45 lines
1.5 KiB
C
// References:
|
|
// https://github.com/NVIDIA/nvapi (MIT License)
|
|
// https://github.com/deathcamp/NVOC/blob/master/nvoc.c (Public Domain)
|
|
|
|
typedef enum NvApiGPUMemoryType
|
|
{
|
|
NVAPI_GPU_MEMORY_TYPE_UNKNOWN = 0,
|
|
NVAPI_GPU_MEMORY_TYPE_SDRAM,
|
|
NVAPI_GPU_MEMORY_TYPE_DDR1,
|
|
NVAPI_GPU_MEMORY_TYPE_DDR2,
|
|
NVAPI_GPU_MEMORY_TYPE_GDDR2,
|
|
NVAPI_GPU_MEMORY_TYPE_GDDR3,
|
|
NVAPI_GPU_MEMORY_TYPE_GDDR4,
|
|
NVAPI_GPU_MEMORY_TYPE_DDR3,
|
|
NVAPI_GPU_MEMORY_TYPE_GDDR5,
|
|
NVAPI_GPU_MEMORY_TYPE_LPDDR2,
|
|
NVAPI_GPU_MEMORY_TYPE_GDDR5X,
|
|
NVAPI_GPU_MEMORY_TYPE_LPDDR3,
|
|
NVAPI_GPU_MEMORY_TYPE_LPDDR4,
|
|
NVAPI_GPU_MEMORY_TYPE_LPDDR5,
|
|
NVAPI_GPU_MEMORY_TYPE_GDDR6,
|
|
NVAPI_GPU_MEMORY_TYPE_GDDR6X,
|
|
NVAPI_GPU_MEMORY_TYPE_GDDR7,
|
|
} NvApiGPUMemoryType;
|
|
|
|
typedef int NvAPI_Status; // 0 = success; < 0 = error
|
|
typedef struct NvPhysicalGpuHandle* NvPhysicalGpuHandle;
|
|
|
|
typedef enum
|
|
{
|
|
NVAPI_INTERFACE_OFFSET_INITIALIZE = 0x0150E828,
|
|
NVAPI_INTERFACE_OFFSET_UNLOAD = 0xD22BDD7E,
|
|
NVAPI_INTERFACE_OFFSET_ENUM_PHYSICAL_GPUS = 0xE5AC921F,
|
|
NVAPI_INTERFACE_OFFSET_GPU_GET_RAM_TYPE = 0x57F7CAAC,
|
|
|
|
NVAPI_INTERFACE_OFFSET_FORCE_UINT32 = 0xFFFFFFFF
|
|
} NvApiInterfaceOffsets;
|
|
|
|
extern void* nvapi_QueryInterface(NvApiInterfaceOffsets offset);
|
|
|
|
extern NvAPI_Status nvapi_Initialize(void);
|
|
extern NvAPI_Status nvapi_Unload(void);
|
|
extern NvAPI_Status nvapi_EnumPhysicalGPUs(NvPhysicalGpuHandle* handles, int* count);
|
|
extern NvAPI_Status nvapi_GPU_GetRamType(NvPhysicalGpuHandle handle, NvApiGPUMemoryType* memtype);
|