NVAPI Reference Documentation
NVIDIA
Release 435: August 22
2019

GPU General Control Interface

Data Structures

struct  _NV_GPU_DISPLAYIDS
 
struct  _NV_BOARD_INFO
 
struct  NV_GPU_GET_HDCP_SUPPORT_STATUS
 
struct  NV_SCANOUT_INTENSITY_DATA_V1
 
struct  NV_SCANOUT_INTENSITY_DATA_V2
 
struct  _NV_SCANOUT_INTENSITY_STATE_DATA
 
struct  NV_SCANOUT_WARPING_DATA
 
struct  _NV_SCANOUT_WARPING_STATE_DATA
 
struct  _NV_SCANOUT_INFORMATION
 
struct  _NV_LOGICAL_GPU_DATA_V1
 
struct  _NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_V1
 
struct  _NV_GPU_GET_ILLUMINATION_PARM_V1
 
struct  _NV_GPU_SET_ILLUMINATION_PARM_V1
 
struct  NV_GPU_CLIENT_ILLUM_DEVICE_SYNC_V1
 
struct  _NV_GPU_CLIENT_ILLUM_ZONE_CONTROL_DATA_MANUAL_RGB_PARAMS
 

Macros

#define NV_GPU_CONNECTED_IDS_FLAG_UNCACHED   NV_BIT(0)
 
#define NV_GPU_CONNECTED_IDS_FLAG_SLI   NV_BIT(1)
 
#define NV_GPU_CONNECTED_IDS_FLAG_LIDSTATE   NV_BIT(2)
 
#define NV_GPU_CONNECTED_IDS_FLAG_FAKE   NV_BIT(3)
 
#define NV_GPU_CONNECTED_IDS_FLAG_EXCLUDE_MST   NV_BIT(4)
 
#define NV_GPU_DISPLAYIDS_VER1   MAKE_NVAPI_VERSION(NV_GPU_DISPLAYIDS,1)
 
#define NV_BOARD_INFO_VER   NV_BOARD_INFO_VER1
 
#define NV_GPU_GET_HDCP_SUPPORT_STATUS_VER   MAKE_NVAPI_VERSION(NV_GPU_GET_HDCP_SUPPORT_STATUS,1)
 
#define NV_SCANOUT_INTENSITY_DATA_VER1   MAKE_NVAPI_VERSION(NV_SCANOUT_INTENSITY_DATA_V1, 1)
 
#define NV_SCANOUT_INTENSITY_STATE_VER   MAKE_NVAPI_VERSION(NV_SCANOUT_INTENSITY_STATE_DATA, 1)
 
#define NV_SCANOUT_WARPING_VER   MAKE_NVAPI_VERSION(NV_SCANOUT_WARPING_DATA, 1)
 
#define NV_SCANOUT_WARPING_STATE_VER   MAKE_NVAPI_VERSION(NV_SCANOUT_WARPING_STATE_DATA, 1)
 
#define NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_VER_1   MAKE_NVAPI_VERSION(NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_V1,1)
 
#define NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_VER   NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_VER_1
 
#define NV_GPU_GET_ILLUMINATION_PARM_VER_1   MAKE_NVAPI_VERSION(NV_GPU_GET_ILLUMINATION_PARM_V1,1)
 
#define NV_GPU_GET_ILLUMINATION_PARM_VER   NV_GPU_GET_ILLUMINATION_PARM_VER_1
 
#define NV_GPU_SET_ILLUMINATION_PARM_VER_1   MAKE_NVAPI_VERSION(NV_GPU_SET_ILLUMINATION_PARM_V1,1)
 
#define NV_GPU_SET_ILLUMINATION_PARM_VER   NV_GPU_SET_ILLUMINATION_PARM_VER_1
 

Typedefs

typedef enum _NV_GPU_CONNECTOR_TYPE NV_GPU_CONNECTOR_TYPE
 
typedef struct _NV_GPU_DISPLAYIDS NV_GPU_DISPLAYIDS
 
typedef enum _NV_GPU_OUTPUT_TYPE NV_GPU_OUTPUT_TYPE
 
typedef enum _NV_GPU_TYPE NV_GPU_TYPE
 
typedef enum _NV_GPU_BUS_TYPE NV_GPU_BUS_TYPE
 
typedef struct _NV_BOARD_INFO NV_BOARD_INFO_V1
 
typedef NV_BOARD_INFO_V1 NV_BOARD_INFO
 
typedef enum _NV_GPU_HDCP_FUSE_STATE NV_GPU_HDCP_FUSE_STATE
 
typedef enum _NV_GPU_HDCP_KEY_SOURCE NV_GPU_HDCP_KEY_SOURCE
 
typedef enum _NV_GPU_HDCP_KEY_SOURCE_STATE NV_GPU_HDCP_KEY_SOURCE_STATE
 
typedef struct _NV_SCANOUT_INTENSITY_STATE_DATA NV_SCANOUT_INTENSITY_STATE_DATA
 
typedef struct _NV_SCANOUT_WARPING_STATE_DATA NV_SCANOUT_WARPING_STATE_DATA
 
typedef struct _NV_SCANOUT_INFORMATION NV_SCANOUT_INFORMATION
 
typedef struct _NV_LOGICAL_GPU_DATA_V1 NV_LOGICAL_GPU_DATA_V1
 
typedef NV_LOGICAL_GPU_DATA_V1 NV_LOGICAL_GPU_DATA
 
typedef enum _NV_GPU_ILLUMINATION_ATTRIB NV_GPU_ILLUMINATION_ATTRIB
 
typedef struct _NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_V1 NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_V1
 
typedef NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_V1 NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM
 
typedef struct _NV_GPU_GET_ILLUMINATION_PARM_V1 NV_GPU_GET_ILLUMINATION_PARM_V1
 
typedef NV_GPU_GET_ILLUMINATION_PARM_V1 NV_GPU_GET_ILLUMINATION_PARM
 
typedef struct _NV_GPU_SET_ILLUMINATION_PARM_V1 NV_GPU_SET_ILLUMINATION_PARM_V1
 
typedef NV_GPU_SET_ILLUMINATION_PARM_V1 NV_GPU_SET_ILLUMINATION_PARM
 

Enumerations

enum  _NV_GPU_CONNECTOR_TYPE {
  NVAPI_GPU_CONNECTOR_VGA_15_PIN = 0x00000000, NVAPI_GPU_CONNECTOR_TV_COMPOSITE = 0x00000010, NVAPI_GPU_CONNECTOR_TV_SVIDEO = 0x00000011, NVAPI_GPU_CONNECTOR_TV_HDTV_COMPONENT = 0x00000013,
  NVAPI_GPU_CONNECTOR_TV_SCART = 0x00000014, NVAPI_GPU_CONNECTOR_TV_COMPOSITE_SCART_ON_EIAJ4120 = 0x00000016, NVAPI_GPU_CONNECTOR_TV_HDTV_EIAJ4120 = 0x00000017, NVAPI_GPU_CONNECTOR_PC_POD_HDTV_YPRPB = 0x00000018,
  NVAPI_GPU_CONNECTOR_PC_POD_SVIDEO = 0x00000019, NVAPI_GPU_CONNECTOR_PC_POD_COMPOSITE = 0x0000001A, NVAPI_GPU_CONNECTOR_DVI_I_TV_SVIDEO = 0x00000020, NVAPI_GPU_CONNECTOR_DVI_I_TV_COMPOSITE = 0x00000021,
  NVAPI_GPU_CONNECTOR_DVI_I = 0x00000030, NVAPI_GPU_CONNECTOR_DVI_D = 0x00000031, NVAPI_GPU_CONNECTOR_ADC = 0x00000032, NVAPI_GPU_CONNECTOR_LFH_DVI_I_1 = 0x00000038,
  NVAPI_GPU_CONNECTOR_LFH_DVI_I_2 = 0x00000039, NVAPI_GPU_CONNECTOR_SPWG = 0x00000040, NVAPI_GPU_CONNECTOR_OEM = 0x00000041, NVAPI_GPU_CONNECTOR_DISPLAYPORT_EXTERNAL = 0x00000046,
  NVAPI_GPU_CONNECTOR_DISPLAYPORT_INTERNAL = 0x00000047, NVAPI_GPU_CONNECTOR_DISPLAYPORT_MINI_EXT = 0x00000048, NVAPI_GPU_CONNECTOR_HDMI_A = 0x00000061, NVAPI_GPU_CONNECTOR_HDMI_C_MINI = 0x00000063,
  NVAPI_GPU_CONNECTOR_LFH_DISPLAYPORT_1 = 0x00000064, NVAPI_GPU_CONNECTOR_LFH_DISPLAYPORT_2 = 0x00000065, NVAPI_GPU_CONNECTOR_VIRTUAL_WFD = 0x00000070, NVAPI_GPU_CONNECTOR_USB_C = 0x00000071,
  NVAPI_GPU_CONNECTOR_UNKNOWN = 0xFFFFFFFF
}
 
enum  NV_MONITOR_CONN_TYPE {
  NV_MONITOR_CONN_TYPE_UNINITIALIZED = 0, NV_MONITOR_CONN_TYPE_VGA, NV_MONITOR_CONN_TYPE_COMPONENT, NV_MONITOR_CONN_TYPE_SVIDEO,
  NV_MONITOR_CONN_TYPE_HDMI, NV_MONITOR_CONN_TYPE_DVI, NV_MONITOR_CONN_TYPE_LVDS, NV_MONITOR_CONN_TYPE_DP,
  NV_MONITOR_CONN_TYPE_COMPOSITE, NV_MONITOR_CONN_TYPE_UNKNOWN = -1
}
 
enum  NV_SYSTEM_TYPE { NV_SYSTEM_TYPE_UNKNOWN = 0, NV_SYSTEM_TYPE_LAPTOP = 1, NV_SYSTEM_TYPE_DESKTOP = 2 }
 
enum  _NV_GPU_OUTPUT_TYPE { NVAPI_GPU_OUTPUT_UNKNOWN = 0, NVAPI_GPU_OUTPUT_CRT = 1, NVAPI_GPU_OUTPUT_DFP = 2, NVAPI_GPU_OUTPUT_TV = 3 }
 
enum  _NV_GPU_TYPE { NV_SYSTEM_TYPE_GPU_UNKNOWN = 0, NV_SYSTEM_TYPE_IGPU = 1, NV_SYSTEM_TYPE_DGPU = 2 }
 
enum  _NV_GPU_BUS_TYPE {
  NVAPI_GPU_BUS_TYPE_UNDEFINED = 0, NVAPI_GPU_BUS_TYPE_PCI = 1, NVAPI_GPU_BUS_TYPE_AGP = 2, NVAPI_GPU_BUS_TYPE_PCI_EXPRESS = 3,
  NVAPI_GPU_BUS_TYPE_FPCI = 4, NVAPI_GPU_BUS_TYPE_AXI = 5
}
 
enum  NVAPI_GPU_WORKSTATION_FEATURE_MASK {
  NVAPI_GPU_WORKSTATION_FEATURE_MASK_SWAPGROUP = 0x00000001, NVAPI_GPU_WORKSTATION_FEATURE_MASK_STEREO = 0x00000010, NVAPI_GPU_WORKSTATION_FEATURE_MASK_WARPING = 0x00000100, NVAPI_GPU_WORKSTATION_FEATURE_MASK_PIXINTENSITY = 0x00000200,
  NVAPI_GPU_WORKSTATION_FEATURE_MASK_GRAYSCALE = 0x00000400, NVAPI_GPU_WORKSTATION_FEATURE_MASK_BPC10 = 0x00001000
}
 
enum  _NV_GPU_HDCP_FUSE_STATE { NV_GPU_HDCP_FUSE_STATE_UNKNOWN = 0, NV_GPU_HDCP_FUSE_STATE_DISABLED = 1, NV_GPU_HDCP_FUSE_STATE_ENABLED = 2 }
 
enum  _NV_GPU_HDCP_KEY_SOURCE {
  NV_GPU_HDCP_KEY_SOURCE_UNKNOWN = 0, NV_GPU_HDCP_KEY_SOURCE_NONE = 1, NV_GPU_HDCP_KEY_SOURCE_CRYPTO_ROM = 2, NV_GPU_HDCP_KEY_SOURCE_SBIOS = 3,
  NV_GPU_HDCP_KEY_SOURCE_I2C_ROM = 4, NV_GPU_HDCP_KEY_SOURCE_FUSES = 5
}
 
enum  _NV_GPU_HDCP_KEY_SOURCE_STATE { NV_GPU_HDCP_KEY_SOURCE_STATE_UNKNOWN = 0, NV_GPU_HDCP_KEY_SOURCE_STATE_ABSENT = 1, NV_GPU_HDCP_KEY_SOURCE_STATE_PRESENT = 2 }
 
enum  NV_GPU_WARPING_VERTICE_FORMAT { NV_GPU_WARPING_VERTICE_FORMAT_TRIANGLESTRIP_XYUVRQ = 0, NV_GPU_WARPING_VERTICE_FORMAT_TRIANGLES_XYUVRQ = 1 }
 
enum  NV_GPU_SCANOUT_COMPOSITION_PARAMETER { NV_GPU_SCANOUT_COMPOSITION_PARAMETER_WARPING_RESAMPLING_METHOD = 0 }
 
enum  NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE {
  NV_GPU_SCANOUT_COMPOSITION_PARAMETER_SET_TO_DEFAULT = 0, NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BILINEAR = 0x100, NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_TRIANGULAR = 0x101, NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_BELL_SHAPED = 0x102,
  NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_BSPLINE = 0x103, NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_ADAPTIVE_TRIANGULAR = 0x104, NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_ADAPTIVE_BELL_SHAPED = 0x105, NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_ADAPTIVE_BSPLINE = 0x106
}
 
enum  _NV_GPU_ILLUMINATION_ATTRIB { NV_GPU_IA_LOGO_BRIGHTNESS = 0, NV_GPU_IA_SLI_BRIGHTNESS = 1 }
 

Functions

NVAPI_INTERFACE NvAPI_GPU_GetEDID (NvPhysicalGpuHandle hPhysicalGpu, NvU32 displayOutputId, NV_EDID *pEDID)
 
NVAPI_INTERFACE NvAPI_EnumTCCPhysicalGPUs (NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount)
 
NVAPI_INTERFACE NvAPI_EnumLogicalGPUs (NvLogicalGpuHandle nvGPUHandle[NVAPI_MAX_LOGICAL_GPUS], NvU32 *pGpuCount)
 
NVAPI_INTERFACE NvAPI_GetPhysicalGPUsFromDisplay (NvDisplayHandle hNvDisp, NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount)
 
NVAPI_INTERFACE NvAPI_GetPhysicalGPUFromUnAttachedDisplay (NvUnAttachedDisplayHandle hNvUnAttachedDisp, NvPhysicalGpuHandle *pPhysicalGpu)
 
NVAPI_INTERFACE NvAPI_GetLogicalGPUFromDisplay (NvDisplayHandle hNvDisp, NvLogicalGpuHandle *pLogicalGPU)
 
NVAPI_INTERFACE NvAPI_GetLogicalGPUFromPhysicalGPU (NvPhysicalGpuHandle hPhysicalGPU, NvLogicalGpuHandle *pLogicalGPU)
 
NVAPI_INTERFACE NvAPI_GetPhysicalGPUsFromLogicalGPU (NvLogicalGpuHandle hLogicalGPU, NvPhysicalGpuHandle hPhysicalGPU[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount)
 
NVAPI_INTERFACE NvAPI_GPU_GetShaderSubPipeCount (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pCount)
 
NVAPI_INTERFACE NvAPI_GPU_GetGpuCoreCount (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pCount)
 
 __nvapi_deprecated_function ("Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetAllDisplayIds.") NVAPI_INTERFACE NvAPI_GPU_GetAllOutputs(NvPhysicalGpuHandle hPhysicalGpu
 
 __nvapi_deprecated_function ("Do not use this function - it is deprecated in release 290. Instead, use NvAPI_GPU_GetConnectedDisplayIds.") NVAPI_INTERFACE NvAPI_GPU_GetConnectedOutputs(NvPhysicalGpuHandle hPhysicalGpu
 
NVAPI_INTERFACE NvAPI_GPU_GetConnectedDisplayIds (__in NvPhysicalGpuHandle hPhysicalGpu, __inout_ecount_part_opt(*pDisplayIdCount,*pDisplayIdCount) NV_GPU_DISPLAYIDS *pDisplayIds, __inout NvU32 *pDisplayIdCount, __in NvU32 flags)
 
NVAPI_INTERFACE NvAPI_GPU_GetAllDisplayIds (__in NvPhysicalGpuHandle hPhysicalGpu, __inout_ecount_part_opt(*pDisplayIdCount,*pDisplayIdCount) NV_GPU_DISPLAYIDS *pDisplayIds, __inout NvU32 *pDisplayIdCount)
 
NVAPI_INTERFACE NvAPI_GPU_GetSystemType (NvPhysicalGpuHandle hPhysicalGpu, NV_SYSTEM_TYPE *pSystemType)
 
NVAPI_INTERFACE NvAPI_GPU_GetActiveOutputs (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pOutputsMask)
 
NVAPI_INTERFACE NvAPI_GPU_SetEDID (NvPhysicalGpuHandle hPhysicalGpu, NvU32 displayOutputId, NV_EDID *pEDID)
 
NVAPI_INTERFACE NvAPI_GPU_GetOutputType (NvPhysicalGpuHandle hPhysicalGpu, NvU32 outputId, NV_GPU_OUTPUT_TYPE *pOutputType)
 
NVAPI_INTERFACE NvAPI_GPU_ValidateOutputCombination (NvPhysicalGpuHandle hPhysicalGpu, NvU32 outputsMask)
 
NVAPI_INTERFACE NvAPI_GPU_GetFullName (NvPhysicalGpuHandle hPhysicalGpu, NvAPI_ShortString szName)
 
NVAPI_INTERFACE NvAPI_GPU_GetPCIIdentifiers (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pDeviceId, NvU32 *pSubSystemId, NvU32 *pRevisionId, NvU32 *pExtDeviceId)
 
NVAPI_INTERFACE NvAPI_GPU_GetGPUType (__in NvPhysicalGpuHandle hPhysicalGpu, __inout NV_GPU_TYPE *pGpuType)
 
NVAPI_INTERFACE NvAPI_GPU_GetBusType (NvPhysicalGpuHandle hPhysicalGpu, NV_GPU_BUS_TYPE *pBusType)
 
NVAPI_INTERFACE NvAPI_GPU_GetBusId (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pBusId)
 
NVAPI_INTERFACE NvAPI_GPU_GetBusSlotId (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pBusSlotId)
 
NVAPI_INTERFACE NvAPI_GPU_GetIRQ (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pIRQ)
 
NVAPI_INTERFACE NvAPI_GPU_GetVbiosRevision (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pBiosRevision)
 
NVAPI_INTERFACE NvAPI_GPU_GetVbiosOEMRevision (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pBiosRevision)
 
NVAPI_INTERFACE NvAPI_GPU_GetVbiosVersionString (NvPhysicalGpuHandle hPhysicalGpu, NvAPI_ShortString szBiosRevision)
 
NVAPI_INTERFACE NvAPI_GPU_GetAGPAperture (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pSize)
 
NVAPI_INTERFACE NvAPI_GPU_GetCurrentAGPRate (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pRate)
 
NVAPI_INTERFACE NvAPI_GPU_GetCurrentPCIEDownstreamWidth (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pWidth)
 
NVAPI_INTERFACE NvAPI_GPU_GetPhysicalFrameBufferSize (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pSize)
 
NVAPI_INTERFACE NvAPI_GPU_GetVirtualFrameBufferSize (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pSize)
 
NVAPI_INTERFACE NvAPI_GPU_GetQuadroStatus (NvPhysicalGpuHandle hPhysicalGpu, NvU32 *pStatus)
 
NVAPI_INTERFACE NvAPI_GPU_GetBoardInfo (NvPhysicalGpuHandle hPhysicalGpu, NV_BOARD_INFO *pBoardInfo)
 
NVAPI_INTERFACE NvAPI_GPU_WorkstationFeatureSetup (__in NvPhysicalGpuHandle hPhysicalGpu, __in NvU32 featureEnableMask, __in NvU32 featureDisableMask)
 
NVAPI_INTERFACE NvAPI_GPU_WorkstationFeatureQuery (__in NvPhysicalGpuHandle hPhysicalGpu, __out_opt NvU32 *pConfiguredFeatureMask, __out_opt NvU32 *pConsistentFeatureMask)
 
NVAPI_INTERFACE NvAPI_GPU_GetHDCPSupportStatus (NvPhysicalGpuHandle hPhysicalGpu, NV_GPU_GET_HDCP_SUPPORT_STATUS *pGetHDCPSupportStatus)
 
NVAPI_INTERFACE NvAPI_GPU_SetScanoutIntensity (NvU32 displayId, NV_SCANOUT_INTENSITY_DATA *scanoutIntensityData, int *pbSticky)
 
NVAPI_INTERFACE NvAPI_GPU_GetScanoutIntensityState (__in NvU32 displayId, __inout NV_SCANOUT_INTENSITY_STATE_DATA *scanoutIntensityStateData)
 
NVAPI_INTERFACE NvAPI_GPU_SetScanoutWarping (NvU32 displayId, NV_SCANOUT_WARPING_DATA *scanoutWarpingData, int *piMaxNumVertices, int *pbSticky)
 
NVAPI_INTERFACE NvAPI_GPU_GetScanoutWarpingState (__in NvU32 displayId, __inout NV_SCANOUT_WARPING_STATE_DATA *scanoutWarpingStateData)
 
NVAPI_INTERFACE NvAPI_GPU_SetScanoutCompositionParameter (NvU32 displayId, NV_GPU_SCANOUT_COMPOSITION_PARAMETER parameter, NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE parameterValue, float *pContainer)
 
NVAPI_INTERFACE NvAPI_GPU_GetScanoutCompositionParameter (__in NvU32 displayId, __in NV_GPU_SCANOUT_COMPOSITION_PARAMETER parameter, __out NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE *parameterData, __out float *pContainer)
 
NVAPI_INTERFACE NvAPI_GPU_GetScanoutConfiguration (NvU32 displayId, NvSBox *desktopRect, NvSBox *scanoutRect)
 
NVAPI_INTERFACE NvAPI_GPU_GetScanoutConfigurationEx (__in NvU32 displayId, __inout NV_SCANOUT_INFORMATION *pScanoutInformation)
 
NVAPI_INTERFACE NvAPI_GPU_GetLogicalGpuInfo (__in NvLogicalGpuHandle hLogicalGpu, __inout NV_LOGICAL_GPU_DATA *pLogicalGpuData)
 
NVAPI_INTERFACE NvAPI_GPU_QueryIlluminationSupport (__inout NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM *pIlluminationSupportInfo)
 
NVAPI_INTERFACE NvAPI_GPU_GetIllumination (NV_GPU_GET_ILLUMINATION_PARM *pIlluminationInfo)
 
NVAPI_INTERFACE NvAPI_GPU_SetIllumination (NV_GPU_SET_ILLUMINATION_PARM *pIlluminationInfo)
 
NVAPI_INTERFACE NvAPI_GPU_ClientIllumDevicesGetInfo (__in NvPhysicalGpuHandle hPhysicalGpu, __inout NV_GPU_CLIENT_ILLUM_DEVICE_INFO_PARAMS *pIllumDevicesInfo)
 
NVAPI_INTERFACE NvAPI_GPU_ClientIllumZonesGetInfo (__in NvPhysicalGpuHandle hPhysicalGpu, __inout NV_GPU_CLIENT_ILLUM_ZONE_INFO_PARAMS *pIllumZonesInfo)
 
NVAPI_INTERFACE NvAPI_GPU_ClientIllumZonesGetControl (__in NvPhysicalGpuHandle hPhysicalGpu, __inout NV_GPU_CLIENT_ILLUM_ZONE_CONTROL_PARAMS *pIllumZonesControl)
 
NVAPI_INTERFACE NvAPI_GPU_ClientIllumZonesSetControl (__in NvPhysicalGpuHandle hPhysicalGpu, __inout NV_GPU_CLIENT_ILLUM_ZONE_CONTROL_PARAMS *pIllumZonesControl)
 
NVAPI_INTERFACE NvAPI_EnumPhysicalGPUs (NvPhysicalGpuHandle nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS], NvU32 *pGpuCount)
 
typedef NV_EDID_V3 NV_EDID
 
#define NV_EDID_V1_DATA_SIZE   256
 
#define NV_EDID_DATA_SIZE   NV_EDID_V1_DATA_SIZE
 
#define NV_EDID_VER1   MAKE_NVAPI_VERSION(NV_EDID_V1,1)
 
#define NV_EDID_VER2   MAKE_NVAPI_VERSION(NV_EDID_V2,2)
 
#define NV_EDID_VER3   MAKE_NVAPI_VERSION(NV_EDID_V3,3)
 
#define NV_EDID_VER   NV_EDID_VER3
 
enum  NV_GPU_CLIENT_ILLUM_CTRL_MODE { NV_GPU_CLIENT_ILLUM_CTRL_MODE_MANUAL_RGB = 0, NV_GPU_CLIENT_ILLUM_CTRL_MODE_PIECEWISE_LINEAR_RGB, NV_GPU_CLIENT_ILLUM_CTRL_MODE_INVALID = 0xFF }
 
NVAPI_INTERFACE NvAPI_GPU_ClientIllumDevicesGetControl (__in NvPhysicalGpuHandle hPhysicalGpu, __inout NV_GPU_CLIENT_ILLUM_DEVICE_CONTROL_PARAMS *pClientIllumDevicesControl)
 
NVAPI_INTERFACE NvAPI_GPU_ClientIllumDevicesSetControl (__in NvPhysicalGpuHandle hPhysicalGpu, __inout NV_GPU_CLIENT_ILLUM_DEVICE_CONTROL_PARAMS *pClientIllumDevicesControl)
 
#define NV_GPU_CLIENT_ILLUM_ZONE_NUM_ZONES_MAX   32
 
typedef struct _NV_GPU_CLIENT_ILLUM_ZONE_CONTROL_DATA_MANUAL_RGB_PARAMS NV_GPU_CLIENT_ILLUM_ZONE_CONTROL_DATA_MANUAL_RGB_PARAMS
 

Detailed Description

The general GPU APIs are used to get general information about the GPU, such as outputs, VBIOS revision, APG rate, and frame buffer size.

Macro Definition Documentation

#define NV_BOARD_INFO_VER   NV_BOARD_INFO_VER1
#define NV_EDID_DATA_SIZE   NV_EDID_V1_DATA_SIZE
#define NV_EDID_V1_DATA_SIZE   256
#define NV_EDID_VER   NV_EDID_VER3
#define NV_EDID_VER1   MAKE_NVAPI_VERSION(NV_EDID_V1,1)
#define NV_EDID_VER2   MAKE_NVAPI_VERSION(NV_EDID_V2,2)
#define NV_EDID_VER3   MAKE_NVAPI_VERSION(NV_EDID_V3,3)
#define NV_GPU_CLIENT_ILLUM_ZONE_NUM_ZONES_MAX   32

FUNCTION NAME: NvAPI_GPU_ClientIllumDevicesGetControl

DESCRIPTION: This API gets control parameters about illumination devices on the given GPU. SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 400
Parameters
[in]hPhysicalGpuThe physical GPU handle
[in,out]pIllumDevicesControlPointer to structure containing control information about illum devices.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
#define NV_GPU_CONNECTED_IDS_FLAG_EXCLUDE_MST   NV_BIT(4)

Excludes devices that are part of the multi stream topology.

#define NV_GPU_CONNECTED_IDS_FLAG_FAKE   NV_BIT(3)

Get devices that includes the fake connected monitors.

#define NV_GPU_CONNECTED_IDS_FLAG_LIDSTATE   NV_BIT(2)

Get devices such that to reflect the Lid State.

#define NV_GPU_CONNECTED_IDS_FLAG_SLI   NV_BIT(1)

Get devices such that those can be selected in an SLI configuration.

#define NV_GPU_CONNECTED_IDS_FLAG_UNCACHED   NV_BIT(0)

Get uncached connected devices.

#define NV_GPU_DISPLAYIDS_VER1   MAKE_NVAPI_VERSION(NV_GPU_DISPLAYIDS,1)

Macro for constructing the version field of _NV_GPU_DISPLAYIDS

#define NV_GPU_GET_HDCP_SUPPORT_STATUS_VER   MAKE_NVAPI_VERSION(NV_GPU_GET_HDCP_SUPPORT_STATUS,1)

Macro for constructing the version for structure NV_GPU_GET_HDCP_SUPPORT_STATUS.

#define NV_GPU_GET_ILLUMINATION_PARM_VER   NV_GPU_GET_ILLUMINATION_PARM_VER_1
#define NV_GPU_GET_ILLUMINATION_PARM_VER_1   MAKE_NVAPI_VERSION(NV_GPU_GET_ILLUMINATION_PARM_V1,1)
#define NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_VER   NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_VER_1
#define NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_VER_1   MAKE_NVAPI_VERSION(NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM_V1,1)
#define NV_GPU_SET_ILLUMINATION_PARM_VER   NV_GPU_SET_ILLUMINATION_PARM_VER_1
#define NV_GPU_SET_ILLUMINATION_PARM_VER_1   MAKE_NVAPI_VERSION(NV_GPU_SET_ILLUMINATION_PARM_V1,1)
#define NV_SCANOUT_INTENSITY_DATA_VER1   MAKE_NVAPI_VERSION(NV_SCANOUT_INTENSITY_DATA_V1, 1)
#define NV_SCANOUT_INTENSITY_STATE_VER   MAKE_NVAPI_VERSION(NV_SCANOUT_INTENSITY_STATE_DATA, 1)
#define NV_SCANOUT_WARPING_STATE_VER   MAKE_NVAPI_VERSION(NV_SCANOUT_WARPING_STATE_DATA, 1)
#define NV_SCANOUT_WARPING_VER   MAKE_NVAPI_VERSION(NV_SCANOUT_WARPING_DATA, 1)

Typedef Documentation

Used in NV_GPU_CONNECTOR_DATA

Enumeration Type Documentation

Used in NvAPI_GPU_GetBusType()

Enumerator
NVAPI_GPU_BUS_TYPE_UNDEFINED 
NVAPI_GPU_BUS_TYPE_PCI 
NVAPI_GPU_BUS_TYPE_AGP 
NVAPI_GPU_BUS_TYPE_PCI_EXPRESS 
NVAPI_GPU_BUS_TYPE_FPCI 
NVAPI_GPU_BUS_TYPE_AXI 

Used in NV_GPU_CONNECTOR_DATA

Enumerator
NVAPI_GPU_CONNECTOR_VGA_15_PIN 
NVAPI_GPU_CONNECTOR_TV_COMPOSITE 
NVAPI_GPU_CONNECTOR_TV_SVIDEO 
NVAPI_GPU_CONNECTOR_TV_HDTV_COMPONENT 
NVAPI_GPU_CONNECTOR_TV_SCART 
NVAPI_GPU_CONNECTOR_TV_COMPOSITE_SCART_ON_EIAJ4120 
NVAPI_GPU_CONNECTOR_TV_HDTV_EIAJ4120 
NVAPI_GPU_CONNECTOR_PC_POD_HDTV_YPRPB 
NVAPI_GPU_CONNECTOR_PC_POD_SVIDEO 
NVAPI_GPU_CONNECTOR_PC_POD_COMPOSITE 
NVAPI_GPU_CONNECTOR_DVI_I_TV_SVIDEO 
NVAPI_GPU_CONNECTOR_DVI_I_TV_COMPOSITE 
NVAPI_GPU_CONNECTOR_DVI_I 
NVAPI_GPU_CONNECTOR_DVI_D 
NVAPI_GPU_CONNECTOR_ADC 
NVAPI_GPU_CONNECTOR_LFH_DVI_I_1 
NVAPI_GPU_CONNECTOR_LFH_DVI_I_2 
NVAPI_GPU_CONNECTOR_SPWG 
NVAPI_GPU_CONNECTOR_OEM 
NVAPI_GPU_CONNECTOR_DISPLAYPORT_EXTERNAL 
NVAPI_GPU_CONNECTOR_DISPLAYPORT_INTERNAL 
NVAPI_GPU_CONNECTOR_DISPLAYPORT_MINI_EXT 
NVAPI_GPU_CONNECTOR_HDMI_A 
NVAPI_GPU_CONNECTOR_HDMI_C_MINI 
NVAPI_GPU_CONNECTOR_LFH_DISPLAYPORT_1 
NVAPI_GPU_CONNECTOR_LFH_DISPLAYPORT_2 
NVAPI_GPU_CONNECTOR_VIRTUAL_WFD 
NVAPI_GPU_CONNECTOR_USB_C 
NVAPI_GPU_CONNECTOR_UNKNOWN 

HDCP fuse states - used in NV_GPU_GET_HDCP_SUPPORT_STATUS.

Enumerator
NV_GPU_HDCP_FUSE_STATE_UNKNOWN 
NV_GPU_HDCP_FUSE_STATE_DISABLED 
NV_GPU_HDCP_FUSE_STATE_ENABLED 

HDCP key sources - used in NV_GPU_GET_HDCP_SUPPORT_STATUS.

Enumerator
NV_GPU_HDCP_KEY_SOURCE_UNKNOWN 
NV_GPU_HDCP_KEY_SOURCE_NONE 
NV_GPU_HDCP_KEY_SOURCE_CRYPTO_ROM 
NV_GPU_HDCP_KEY_SOURCE_SBIOS 
NV_GPU_HDCP_KEY_SOURCE_I2C_ROM 
NV_GPU_HDCP_KEY_SOURCE_FUSES 

HDCP key source states - used in NV_GPU_GET_HDCP_SUPPORT_STATUS.

Enumerator
NV_GPU_HDCP_KEY_SOURCE_STATE_UNKNOWN 
NV_GPU_HDCP_KEY_SOURCE_STATE_ABSENT 
NV_GPU_HDCP_KEY_SOURCE_STATE_PRESENT 
Enumerator
NV_GPU_IA_LOGO_BRIGHTNESS 
NV_GPU_IA_SLI_BRIGHTNESS 

used in NvAPI_GPU_GetOutputType()

Enumerator
NVAPI_GPU_OUTPUT_UNKNOWN 
NVAPI_GPU_OUTPUT_CRT 

CRT display device.

NVAPI_GPU_OUTPUT_DFP 

Digital Flat Panel display device.

NVAPI_GPU_OUTPUT_TV 

TV display device.

Used in NvAPI_GPU_GetGPUType().

Enumerator
NV_SYSTEM_TYPE_GPU_UNKNOWN 
NV_SYSTEM_TYPE_IGPU 

Integrated GPU.

NV_SYSTEM_TYPE_DGPU 

Discrete GPU.

Enumeration of control modes that can be applied to Illumination Zones.

Enumerator
NV_GPU_CLIENT_ILLUM_CTRL_MODE_MANUAL_RGB 
NV_GPU_CLIENT_ILLUM_CTRL_MODE_PIECEWISE_LINEAR_RGB 
NV_GPU_CLIENT_ILLUM_CTRL_MODE_INVALID 
Enumerator
NV_GPU_SCANOUT_COMPOSITION_PARAMETER_WARPING_RESAMPLING_METHOD 

This enum defines a collection of possible scanout composition values that can be used to configure possible scanout composition settings. (Currently the only parameter defined is the WARPING_RESAMPLING_METHOD).

Enumerator
NV_GPU_SCANOUT_COMPOSITION_PARAMETER_SET_TO_DEFAULT 
NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BILINEAR 
NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_TRIANGULAR 
NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_BELL_SHAPED 
NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_BSPLINE 
NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_ADAPTIVE_TRIANGULAR 
NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_ADAPTIVE_BELL_SHAPED 
NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE_WARPING_RESAMPLING_METHOD_BICUBIC_ADAPTIVE_BSPLINE 
Enumerator
NV_GPU_WARPING_VERTICE_FORMAT_TRIANGLESTRIP_XYUVRQ 
NV_GPU_WARPING_VERTICE_FORMAT_TRIANGLES_XYUVRQ 
Enumerator
NV_MONITOR_CONN_TYPE_UNINITIALIZED 
NV_MONITOR_CONN_TYPE_VGA 
NV_MONITOR_CONN_TYPE_COMPONENT 
NV_MONITOR_CONN_TYPE_SVIDEO 
NV_MONITOR_CONN_TYPE_HDMI 
NV_MONITOR_CONN_TYPE_DVI 
NV_MONITOR_CONN_TYPE_LVDS 
NV_MONITOR_CONN_TYPE_DP 
NV_MONITOR_CONN_TYPE_COMPOSITE 
NV_MONITOR_CONN_TYPE_UNKNOWN 

Used in NvAPI_GPU_GetSystemType()

Enumerator
NV_SYSTEM_TYPE_UNKNOWN 
NV_SYSTEM_TYPE_LAPTOP 
NV_SYSTEM_TYPE_DESKTOP 
Enumerator
NVAPI_GPU_WORKSTATION_FEATURE_MASK_SWAPGROUP 
NVAPI_GPU_WORKSTATION_FEATURE_MASK_STEREO 
NVAPI_GPU_WORKSTATION_FEATURE_MASK_WARPING 
NVAPI_GPU_WORKSTATION_FEATURE_MASK_PIXINTENSITY 
NVAPI_GPU_WORKSTATION_FEATURE_MASK_GRAYSCALE 
NVAPI_GPU_WORKSTATION_FEATURE_MASK_BPC10 

Function Documentation

__nvapi_deprecated_function ( "Do not use this function - it is deprecated in release 290.  Instead,
use NvAPI_GPU_GetAllDisplayIds."   
)

This function returns set of all GPU-output identifiers as a bitmask.

Since
Release: 85
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pOutputsMask is NULL.
NVAPI_OK*pOutputsMask contains a set of GPU-output identifiers.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
__nvapi_deprecated_function ( "Do not use this function - it is deprecated in release 290.  Instead,
use NvAPI_GPU_GetConnectedDisplayIds."   
)

This function is the same as NvAPI_GPU_GetAllOutputs() but returns only the set of GPU output identifiers that are connected to display devices.

Since
Release: 80
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pOutputsMask is NULL.
NVAPI_OK*pOutputsMask contains a set of GPU-output identifiers.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.

DESCRIPTION: This function is the same as NvAPI_GPU_GetConnectedOutputs() but returns only the set of GPU-output identifiers that can be selected in an SLI configuration. NOTE: This function matches NvAPI_GPU_GetConnectedOutputs()

  • On systems which are not SLI capable.
  • If the queried GPU is not part of a valid SLI group.
Since
Release: 170
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pOutputsMask is NULL
NVAPI_OK*pOutputsMask contains a set of GPU-output identifiers
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle

This function is similar to NvAPI_GPU_GetConnectedOutputs(), and returns the connected display identifiers that are connected as an output mask but unlike NvAPI_GPU_GetConnectedOutputs() this API "always" reflects the Lid State in the output mask. Thus if you expect the LID close state to be available in the connection mask use this API.

  • If LID is closed then this API will remove the LID panel from the connected display identifiers.
  • If LID is open then this API will reflect the LID panel in the connected display identifiers.
Note
This API should be used on notebook systems and on systems where the LID state is required in the connection output mask. On desktop systems the returned identifiers will match NvAPI_GPU_GetConnectedOutputs().
Since
Release: 95
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pOutputsMask is NULL
NVAPI_OK*pOutputsMask contains a set of GPU-output identifiers
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle

DESCRIPTION: This function is the same as NvAPI_GPU_GetConnectedOutputsWithLidState() but returns only the set of GPU-output identifiers that can be selected in an SLI configuration. With SLI disabled, this function matches NvAPI_GPU_GetConnectedOutputsWithLidState().

Since
Release: 170
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pOutputsMask is NULL
NVAPI_OK*pOutputsMask contains a set of GPU-output identifiers
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle
NVAPI_INTERFACE NvAPI_EnumLogicalGPUs ( NvLogicalGpuHandle  nvGPUHandle[NVAPI_MAX_LOGICAL_GPUS],
NvU32 pGpuCount 
)

This function returns an array of logical GPU handles.

Each handle represents one or more GPUs acting in concert as a single graphics device.

At least one GPU must be present in the system and running an NVIDIA display driver.

The array nvGPUHandle will be filled with logical GPU handle values. The returned gpuCount determines how many entries in the array are valid.

Note
All logical GPUs handles get invalidated on a GPU topology change, so the calling application is required to renum the logical GPU handles to get latest physical handle mapping after every GPU topology change activated by a call to NvAPI_SetGpuTopologies().

To detect if SLI rendering is enabled, use NvAPI_D3D_GetCurrentSLIState().

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Return values
NVAPI_INVALID_ARGUMENTnvGPUHandle or pGpuCount is NULL
NVAPI_OKOne or more handles were returned
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_INTERFACE NvAPI_EnumPhysicalGPUs ( NvPhysicalGpuHandle  nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS],
NvU32 pGpuCount 
)

This function returns an array of physical GPU handles. Each handle represents a physical GPU present in the system. That GPU may be part of an SLI configuration, or may not be visible to the OS directly.

At least one GPU must be present in the system and running an NVIDIA display driver.

The array nvGPUHandle will be filled with physical GPU handle values. The returned gpuCount determines how many entries in the array are valid.

Note
In drivers older than 105.00, all physical GPU handles get invalidated on a modeset. So the calling applications need to renum the handles after every modeset.
With drivers 105.00 and up, all physical GPU handles are constant. Physical GPU handles are constant as long as the GPUs are not physically moved and the SBIOS VGA order is unchanged.

For GPU handles in TCC MODE please use NvAPI_EnumTCCPhysicalGPUs()

SUPPORTED OS: Windows 7 and higher

Introduced in
Since
Release: 80
Return values
NVAPI_INVALID_ARGUMENTnvGPUHandle or pGpuCount is NULL
NVAPI_OKOne or more handles were returned
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_INTERFACE NvAPI_EnumTCCPhysicalGPUs ( NvPhysicalGpuHandle  nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS],
NvU32 pGpuCount 
)

This function returns an array of physical GPU handles that are in TCC Mode. Each handle represents a physical GPU present in the system in TCC Mode. That GPU may not be visible to the OS directly.

The array nvGPUHandle will be filled with physical GPU handle values. The returned gpuCount determines how many entries in the array are valid.

NOTE: Handles enumerated by this API are only valid for NvAPIs that are tagged as TCC_SUPPORTED If handle is passed to any other API, it will fail with NVAPI_INVALID_HANDLE

For WDDM GPU handles please use NvAPI_EnumPhysicalGPUs()

SUPPORTED OS: Windows 7 and higher

Parameters
[out]nvGPUHandlePhysical GPU array that will contain all TCC Physical GPUs
[out]pGpuCountcount represent the number of valid entries in nvGPUHandle
Return values
NVAPI_INVALID_ARGUMENTnvGPUHandle or pGpuCount is NULL
NVAPI_INTERFACE NvAPI_GetLogicalGPUFromDisplay ( NvDisplayHandle  hNvDisp,
NvLogicalGpuHandle *  pLogicalGPU 
)

This function returns the logical GPU handle associated with the specified display. At least one GPU must be present in the system and running an NVIDIA display driver. hNvDisp can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle().

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Return values
NVAPI_INVALID_ARGUMENThNvDisp is not valid; pLogicalGPU is NULL
NVAPI_OKOne or more handles were returned
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_INTERFACE NvAPI_GetLogicalGPUFromPhysicalGPU ( NvPhysicalGpuHandle  hPhysicalGPU,
NvLogicalGpuHandle *  pLogicalGPU 
)

This function returns the logical GPU handle associated with specified physical GPU handle. At least one GPU must be present in the system and running an NVIDIA display driver.

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Return values
NVAPI_INVALID_ARGUMENThPhysicalGPU is not valid; pLogicalGPU is NULL
NVAPI_OKOne or more handles were returned
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_INTERFACE NvAPI_GetPhysicalGPUFromUnAttachedDisplay ( NvUnAttachedDisplayHandle  hNvUnAttachedDisp,
NvPhysicalGpuHandle *  pPhysicalGpu 
)

This function returns a physical GPU handle associated with the specified unattached display. The source GPU is a physical render GPU which renders the frame buffer but may or may not drive the scan out.

At least one GPU must be present in the system and running an NVIDIA display driver.

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Return values
NVAPI_INVALID_ARGUMENThNvUnAttachedDisp is not valid or pPhysicalGpu is NULL.
NVAPI_OKOne or more handles were returned
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_INTERFACE NvAPI_GetPhysicalGPUsFromDisplay ( NvDisplayHandle  hNvDisp,
NvPhysicalGpuHandle  nvGPUHandle[NVAPI_MAX_PHYSICAL_GPUS],
NvU32 pGpuCount 
)

This function returns an array of physical GPU handles associated with the specified display.

At least one GPU must be present in the system and running an NVIDIA display driver.

The array nvGPUHandle will be filled with physical GPU handle values. The returned gpuCount determines how many entries in the array are valid.

If the display corresponds to more than one physical GPU, the first GPU returned is the one with the attached active output.

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Return values
NVAPI_INVALID_ARGUMENThNvDisp is not valid; nvGPUHandle or pGpuCount is NULL
NVAPI_OKOne or more handles were returned
NVAPI_NVIDIA_DEVICE_NOT_FOUNDno NVIDIA GPU driving a display was found
NVAPI_INTERFACE NvAPI_GetPhysicalGPUsFromLogicalGPU ( NvLogicalGpuHandle  hLogicalGPU,
NvPhysicalGpuHandle  hPhysicalGPU[NVAPI_MAX_PHYSICAL_GPUS],
NvU32 pGpuCount 
)

This function returns the physical GPU handles associated with the specified logical GPU handle. At least one GPU must be present in the system and running an NVIDIA display driver.

The array hPhysicalGPU will be filled with physical GPU handle values. The returned gpuCount determines how many entries in the array are valid.

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Return values
NVAPI_INVALID_ARGUMENThLogicalGPU is not valid; hPhysicalGPU is NULL
NVAPI_OKOne or more handles were returned
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_EXPECTED_LOGICAL_GPU_HANDLEhLogicalGPU was not a logical GPU handle
NVAPI_INTERFACE NvAPI_GPU_ClientIllumDevicesGetControl ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__inout NV_GPU_CLIENT_ILLUM_DEVICE_CONTROL_PARAMS pClientIllumDevicesControl 
)

FUNCTION NAME: NvAPI_GPU_ClientIllumDevicesGetControl

DESCRIPTION: This API gets control parameters about illumination devices on the given GPU. SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 400
Parameters
[in]hPhysicalGpuThe physical GPU handle
[in,out]pIllumDevicesControlPointer to structure containing control information about illum devices.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
NVAPI_INTERFACE NvAPI_GPU_ClientIllumDevicesGetInfo ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__inout NV_GPU_CLIENT_ILLUM_DEVICE_INFO_PARAMS pIllumDevicesInfo 
)

FUNCTION NAME: NvAPI_GPU_ClientIllumDevicesGetInfo

DESCRIPTION: This API returns static information about illumination devices on the given GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 400
Parameters
[in]hPhysicalGpuThe physical GPU handle
[out]pIllumDevicesInfoPointer to structure containing static information about illumination devices.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
NVAPI_INTERFACE NvAPI_GPU_ClientIllumDevicesSetControl ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__inout NV_GPU_CLIENT_ILLUM_DEVICE_CONTROL_PARAMS pClientIllumDevicesControl 
)

FUNCTION NAME: NvAPI_GPU_ClientIllumDevicesSetControl

DESCRIPTION: This API sets control parameters about illumination devices on the given GPU. SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 400
Parameters
[in]hPhysicalGpuThe physical GPU handle
[in,out]pClientIllumDevicesControlPointer to structure containing control information about illum devices.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
NVAPI_INTERFACE NvAPI_GPU_ClientIllumZonesGetControl ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__inout NV_GPU_CLIENT_ILLUM_ZONE_CONTROL_PARAMS pIllumZonesControl 
)

FUNCTION NAME: NvAPI_GPU_ClientIllumZonesGetControl

DESCRIPTION: Accessor for control information about illumination zones on the given GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 400
Parameters
[in]hPhysicalGpuThe physical GPU handle
[out]pIllumZonesControlPointer to structure containing control information about illumination zones.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
NVAPI_INTERFACE NvAPI_GPU_ClientIllumZonesGetInfo ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__inout NV_GPU_CLIENT_ILLUM_ZONE_INFO_PARAMS pIllumZonesInfo 
)

FUNCTION NAME: NvAPI_GPU_ClientIllumZonesGetInfo

DESCRIPTION: This API returns static information about illumination zones on the given GPU. SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 400
Parameters
[in]hPhysicalGpuThe physical GPU handle
[out]pIllumZonesInfoPointer to structure containing static information about illumination devices.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
NVAPI_INTERFACE NvAPI_GPU_ClientIllumZonesSetControl ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__inout NV_GPU_CLIENT_ILLUM_ZONE_CONTROL_PARAMS pIllumZonesControl 
)

FUNCTION NAME: NvAPI_GPU_ClientIllumZonesSetControl

DESCRIPTION: Mutator for control information about illumination zones on the given GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 400
Parameters
[in]hPhysicalGpuThe physical GPU handle
[out]pIllumZonesControlPointer to structure containing control information about illumination zones.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
NVAPI_INTERFACE NvAPI_GPU_GetActiveOutputs ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pOutputsMask 
)

This function is the same as NvAPI_GPU_GetAllOutputs but returns only the set of GPU output identifiers that are actively driving display devices.

SUPPORTED OS: Windows 7 and higher

Since
Release: 85
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pOutputsMask is NULL.
NVAPI_OK*pOutputsMask contains a set of GPU-output identifiers.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_INTERFACE NvAPI_GPU_GetAGPAperture ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pSize 
)

This function returns the AGP aperture in megabytes.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Return values
NVAPI_INVALID_ARGUMENTpSize is NULL.
NVAPI_OKCall successful.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_INTERFACE NvAPI_GPU_GetAllDisplayIds ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__inout_ecount_part_opt *,*pDisplayIdCount NV_GPU_DISPLAYIDS pDisplayIds,
__inout NvU32 pDisplayIdCount 
)

DESCRIPTION: This API returns display IDs for all possible outputs on the GPU. For DPMST connector, it will return display IDs for all the video sinks in the topology.
HOW TO USE: 1. The first call should be made to get the all display ID count. To get the display ID count, send in
a) hPhysicalGpu - a valid GPU handle(enumerated using NvAPI_EnumPhysicalGPUs()) as input,
b) pDisplayIds - NULL, as we just want to get the display ID count.
c) pDisplayIdCount - a valid pointer to NvU32, whose value is set to ZERO.
If all parameters are correct and this call is successful, this call will return the display ID's count.

  1. To get the display ID array, make the second call to NvAPI_GPU_GetAllDisplayIds() with
    a) hPhysicalGpu - should be same value which was sent in first call,
    b) pDisplayIds - pointer to the display ID array allocated by caller based on display ID count,
    eg. malloc(sizeof(NV_GPU_DISPLAYIDS) * pDisplayIdCount).
    c) pDisplayIdCount - a valid pointer to NvU32. This indicates for how many display IDs
    the memory is allocated(pDisplayIds) by the caller.
    If all parameters are correct and this call is successful, this call will return the display ID array and actual display ID count (which was obtained in the first call to NvAPI_GPU_GetAllDisplayIds). If the input display ID count is less than the actual display ID count, it will overwrite the input and give the pDisplayIdCount as actual count and the API will return NVAPI_INSUFFICIENT_BUFFER.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]hPhysicalGpuGPU selection.
[in,out]DisplayIdsPointer to an array of NV_GPU_DISPLAYIDS structures, each entry represents one displayID and its attributes.
[in,out]pDisplayIdCountAs input, this parameter indicates the number of display's id's for which caller has allocated the memory. As output, it will return the actual number of display IDs.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
Return values
NVAPI_INSUFFICIENT_BUFFERWhen the input buffer(pDisplayIds) is less than the actual number of display IDs, this API will return NVAPI_INSUFFICIENT_BUFFER.
NVAPI_INTERFACE NvAPI_GPU_GetBoardInfo ( NvPhysicalGpuHandle  hPhysicalGpu,
NV_BOARD_INFO pBoardInfo 
)

SUPPORTED OS: Windows 7 and higher DESCRIPTION: This API Retrieves the Board information (a unique GPU Board Serial Number) stored in the InfoROM.

Parameters
[in]hPhysicalGpuPhysical GPU Handle.
[in,out]NV_BOARD_INFOBoard Information.

TCC_SUPPORTED

Return values
NVAPI_OKcompleted request
NVAPI_ERRORmiscellaneous error occurred
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhandle passed is not a physical GPU handle
NVAPI_API_NOT_INTIALIZEDNVAPI not initialized
NVAPI_INVALID_POINTERpBoardInfo is NULL
NVAPI_INCOMPATIBLE_STRUCT_VERSIONthe version of the INFO struct is not supported
NVAPI_INTERFACE NvAPI_GPU_GetBusId ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pBusId 
)

DESCRIPTION: Returns the ID of the bus associated with this GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 167
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pBusId is NULL.
NVAPI_OK*pBusId contains the bus ID.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_INTERFACE NvAPI_GPU_GetBusSlotId ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pBusSlotId 
)

DESCRIPTION: Returns the ID of the bus slot associated with this GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 167
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pBusSlotId is NULL.
NVAPI_OK*pBusSlotId contains the bus slot ID.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_INTERFACE NvAPI_GPU_GetBusType ( NvPhysicalGpuHandle  hPhysicalGpu,
NV_GPU_BUS_TYPE pBusType 
)

This function returns the type of bus associated with this GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pBusType is NULL.
NVAPI_OK*pBusType contains bus identifier.
NVAPI_INTERFACE NvAPI_GPU_GetConnectedDisplayIds ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__inout_ecount_part_opt *,*pDisplayIdCount NV_GPU_DISPLAYIDS pDisplayIds,
__inout NvU32 pDisplayIdCount,
__in NvU32  flags 
)
1  DESCRIPTION: Due to space limitation NvAPI_GPU_GetConnectedOutputs can return maximum 32 devices, but
2  this is no longer true for DPMST. NvAPI_GPU_GetConnectedDisplayIds will return all
3  the connected display devices in the form of displayIds for the associated hPhysicalGpu.
4  This function can accept set of flags to request cached, uncached, sli and lid to get the connected devices.
5  Default value for flags will be cached .
6 HOW TO USE: 1) for each PhysicalGpu, make a call to get the number of connected displayId's
7  using NvAPI_GPU_GetConnectedDisplayIds by passing the pDisplayIds as NULL
8  On call success:
9  2) If pDisplayIdCount is greater than 0, allocate memory based on pDisplayIdCount. Then make a call NvAPI_GPU_GetConnectedDisplayIds to populate DisplayIds.
10  However, if pDisplayIdCount is 0, do not make this call.
11 SUPPORTED OS: Windows 7 and higher
12 
13 PARAMETERS: hPhysicalGpu (IN) - GPU selection
14  flags (IN) - One or more defines from NV_GPU_CONNECTED_IDS_FLAG_* as valid flags.
15  pDisplayIds (IN/OUT) - Pointer to an NV_GPU_DISPLAYIDS struct, each entry represents a one displayID and its attributes
16  pDisplayIdCount(OUT)- Number of displayId's.
17 
18 RETURN STATUS: NVAPI_INVALID_ARGUMENT: hPhysicalGpu or pDisplayIds or pDisplayIdCount is NULL
19  NVAPI_OK: *pDisplayIds contains a set of GPU-output identifiers
20  NVAPI_NVIDIA_DEVICE_NOT_FOUND: no NVIDIA GPU driving a display was found
21  NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE: hPhysicalGpu was not a physical GPU handle
NVAPI_INTERFACE NvAPI_GPU_GetCurrentAGPRate ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pRate 
)

This function returns the current AGP Rate (0 = AGP not present, 1 = 1x, 2 = 2x, etc.).

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Return values
NVAPI_INVALID_ARGUMENTpRate is NULL.
NVAPI_OKCall successful.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_INTERFACE NvAPI_GPU_GetCurrentPCIEDownstreamWidth ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pWidth 
)

This function returns the number of PCIE lanes being used for the PCIE interface downstream from the GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Return values
NVAPI_INVALID_ARGUMENTpWidth is NULL.
NVAPI_OKCall successful.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NvAPI_GPU_GetEDID ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32  displayOutputId,
NV_EDID pEDID 
)

This function returns the EDID data for the specified GPU handle and connection bit mask. displayOutputId should have exactly 1 bit set to indicate a single display. See NvAPI Handles.

SUPPORTED OS: Windows 7 and higher

Since
Release: 85
Return values
NVAPI_INVALID_ARGUMENTpEDID is NULL; displayOutputId has 0 or > 1 bits set
NVAPI_OK*pEDID contains valid data.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_DATA_NOT_FOUNDThe requested display does not contain an EDID.
NVAPI_INTERFACE NvAPI_GPU_GetFullName ( NvPhysicalGpuHandle  hPhysicalGpu,
NvAPI_ShortString  szName 
)

This function retrieves the full GPU name as an ASCII string - for example, "Quadro FX 1400".

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Returns
NVAPI_ERROR or NVAPI_OK
NVAPI_INTERFACE NvAPI_GPU_GetGpuCoreCount ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pCount 
)

DESCRIPTION: Retrieves the total number of cores defined for a GPU. Returns 0 on architectures that don't define GPU cores.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Return values
NVAPI_INVALID_ARGUMENTpCount is NULL
NVAPI_OK*pCount is set
NVAPI_NVIDIA_DEVICE_NOT_FOUNDno NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle
NVAPI_NOT_SUPPORTEDAPI call is not supported on current architecture
NVAPI_INTERFACE NvAPI_GPU_GetGPUType ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__inout NV_GPU_TYPE pGpuType 
)

DESCRIPTION: This function returns the GPU type (integrated or discrete). See NV_GPU_TYPE.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 173
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu
NVAPI_OK*pGpuType contains the GPU type
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle
NvAPI_GPU_GetHDCPSupportStatus ( NvPhysicalGpuHandle  hPhysicalGpu,
NV_GPU_GET_HDCP_SUPPORT_STATUS pGetHDCPSupportStatus 
)

DESCRIPTION: This function returns a GPU's HDCP support status.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 175
Return values
NVAPI_OK
NVAPI_ERROR
NVAPI_INVALID_ARGUMENT
NVAPI_HANDLE_INVALIDATED
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLE
NVAPI_INCOMPATIBLE_STRUCT_VERSION
NvAPI_GPU_GetIllumination ( NV_GPU_GET_ILLUMINATION_PARM pIlluminationInfo)

FUNCTION NAME: NvAPI_GPU_GetIllumination

DESCRIPTION: This function reports value of the specified illumination attribute.

Note
Only a single GPU can manage an given attribute on a given HW element, regardless of how many are attatched. I.E. only one GPU will be used to control the brightness of the LED on an SLI bridge, regardless of how many are physicaly attached. You should enumerate thru the GPUs with the NvAPI_GPU_QueryIlluminationSupport call to determine which GPU is managing the attribute.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 300.05
Parameters
[in]hPhysicalGpuPhysical GPU handle
AttributeAn enumeration value specifying the Illumination attribute to be querried
[out]ValueA DWORD containing the current value for the specified attribute. This is specified as a percentage of the full range of the attribute (0-100; 0 = off, 100 = full brightness)
Returns
See NvAPI Status Values for the list of possible return values. Return values of special interest are: NVAPI_INVALID_ARGUMENT The specified attibute is not known to the driver. NVAPI_NOT_SUPPORTED: The specified attribute is not supported on the specified GPU
NVAPI_INTERFACE NvAPI_GPU_GetIRQ ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pIRQ 
)

This function returns the interrupt number associated with this GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pIRQ is NULL.
NVAPI_OK*pIRQ contains interrupt number.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_INTERFACE NvAPI_GPU_GetLogicalGpuInfo ( __in NvLogicalGpuHandle  hLogicalGpu,
__inout NV_LOGICAL_GPU_DATA pLogicalGpuData 
)

This function is used to query Logical GPU information.

SUPPORTED OS: Windows 7 and higher

Since
Release: 421
Parameters
[in]hLogicalGpulogical GPU Handle.
[in,out]pLogicalGpuDataPointer to NV_LOGICAL_GPU_DATA structure.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
NvAPI_GPU_GetOutputType ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32  outputId,
NV_GPU_OUTPUT_TYPE pOutputType 
)

This function returns the output type. User can either specify both 'physical GPU handle and outputId (exactly 1 bit set - see NvAPI Handles)' or a valid displayId in the outputId parameter.

SUPPORTED OS: Windows 7 and higher

Earliest supported ForceWare version: 82.61

Return values
NVAPI_INVALID_ARGUMENToutputId, pOutputType is NULL; or if outputId parameter is not displayId and either it has > 1 bit set or hPhysicalGpu is NULL.
NVAPI_OK*pOutputType contains a NvGpuOutputType value
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle
NVAPI_INTERFACE NvAPI_GPU_GetPCIIdentifiers ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pDeviceId,
NvU32 pSubSystemId,
NvU32 pRevisionId,
NvU32 pExtDeviceId 
)

This function returns the PCI identifiers associated with this GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Parameters
DeviceIdThe internal PCI device identifier for the GPU.
SubSystemIdThe internal PCI subsystem identifier for the GPU.
RevisionIdThe internal PCI device-specific revision identifier for the GPU.
ExtDeviceIdThe external PCI device identifier for the GPU.
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or an argument is NULL
NVAPI_OKArguments are populated with PCI identifiers
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle
NVAPI_INTERFACE NvAPI_GPU_GetPhysicalFrameBufferSize ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pSize 
)

This function returns the physical size of framebuffer in KB. This does NOT include any system RAM that may be dedicated for use by the GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Return values
NVAPI_INVALID_ARGUMENTpSize is NULL
NVAPI_OKCall successful
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle
NVAPI_INTERFACE NvAPI_GPU_GetQuadroStatus ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pStatus 
)

This function retrieves the Quadro status for the GPU (1 if Quadro, 0 if GeForce)

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Returns
NVAPI_ERROR or NVAPI_OK
NVAPI_INTERFACE NvAPI_GPU_GetScanoutCompositionParameter ( __in NvU32  displayId,
__in NV_GPU_SCANOUT_COMPOSITION_PARAMETER  parameter,
__out NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE parameterData,
__out float *  pContainer 
)

DESCRIPTION: This API queries current state of one of the various scanout composition parameters on the specified display.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]displayIdcombined physical display and GPU identifier of the display to query the configuration.
[in]parameterscanout composition parameter to by queried.
[out]parameterDatascanout composition parameter data.
[out]pContainerAdditional container for returning data associated with the specified parameter
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
Return values
NVAPI_INVALID_ARGUMENTInvalid input parameters.
NVAPI_API_NOT_INITIALIZEDNvAPI not initialized.
NVAPI_NOT_SUPPORTEDInterface not supported by the driver used, or only supported on selected GPUs.
NVAPI_OKFeature enabled.
NVAPI_ERRORMiscellaneous error occurred.
NVAPI_INTERFACE NvAPI_GPU_GetScanoutConfiguration ( NvU32  displayId,
NvSBox desktopRect,
NvSBox scanoutRect 
)

DESCRIPTION: This API queries the desktop and scanout portion of the specified display.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]displayIdcombined physical display and GPU identifier of the display to query the configuration.
[in,out]desktopRectdesktop area of the display in desktop coordinates.
[in,out]scanoutRectscanout area of the display relative to desktopRect.
Return values
NVAPI_INVALID_ARGUMENTInvalid input parameters.
NVAPI_API_NOT_INITIALIZEDNvAPI not initialized.
NVAPI_NOT_SUPPORTEDInterface not supported by the driver used, or only supported on selected GPUs.
NVAPI_OKFeature enabled.
NVAPI_ERRORMiscellaneous error occurred.
NVAPI_INTERFACE NvAPI_GPU_GetScanoutConfigurationEx ( __in NvU32  displayId,
__inout NV_SCANOUT_INFORMATION pScanoutInformation 
)

DESCRIPTION: This API queries the desktop and scanout portion of the specified display.

SUPPORTED OS: Windows 7 and higher

Since
Release: 331
Parameters
[in]displayIdcombined physical display and GPU identifier of the display to query the configuration.
[in,out]pScanoutInformationdesktop area to displayId mapping information.
Returns
This API can return any of the error codes enumerated in NvAPI_Status.
NVAPI_INTERFACE NvAPI_GPU_GetScanoutIntensityState ( __in NvU32  displayId,
__inout NV_SCANOUT_INTENSITY_STATE_DATA scanoutIntensityStateData 
)

DESCRIPTION: This API queries current state of the intensity feature on the specified display.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]displayIdcombined physical display and GPU identifier of the display to query the configuration.
[in,out]scanoutIntensityStateDataintensity state data.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
Return values
NVAPI_INVALID_ARGUMENTInvalid input parameters.
NVAPI_API_NOT_INITIALIZEDNvAPI not initialized.
NVAPI_NOT_SUPPORTEDInterface not supported by the driver used, or only supported on selected GPUs.
NVAPI_OKFeature enabled.
NVAPI_ERRORMiscellaneous error occurred.
NVAPI_INTERFACE NvAPI_GPU_GetScanoutWarpingState ( __in NvU32  displayId,
__inout NV_SCANOUT_WARPING_STATE_DATA scanoutWarpingStateData 
)

DESCRIPTION: This API queries current state of the warping feature on the specified display.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]displayIdcombined physical display and GPU identifier of the display to query the configuration.
[in,out]scanoutWarpingStateDatawarping state data.
Returns
This API can return any of the error codes enumerated in NvAPI_Status. If there are return error codes with specific meaning for this API, they are listed below.
Return values
NVAPI_INVALID_ARGUMENTInvalid input parameters.
NVAPI_API_NOT_INITIALIZEDNvAPI not initialized.
NVAPI_NOT_SUPPORTEDInterface not supported by the driver used, or only supported on selected GPUs.
NVAPI_OKFeature enabled.
NVAPI_ERRORMiscellaneous error occurred.
NVAPI_INTERFACE NvAPI_GPU_GetShaderSubPipeCount ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pCount 
)

DESCRIPTION: This function retrieves the number of Shader SubPipes on the GPU On newer architectures, this corresponds to the number of SM units

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 170
Return values
NVAPI_INVALID_ARGUMENTpCount is NULL
NVAPI_OK*pCount is set
NVAPI_NVIDIA_DEVICE_NOT_FOUNDno NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle
NvAPI_GPU_GetSystemType ( NvPhysicalGpuHandle  hPhysicalGpu,
NV_SYSTEM_TYPE pSystemType 
)

This function identifies whether the GPU is a notebook GPU or a desktop GPU.

SUPPORTED OS: Windows 7 and higher

Since
Release: 95
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pOutputsMask is NULL
NVAPI_OK*pSystemType contains the GPU system type
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle
NVAPI_INTERFACE NvAPI_GPU_GetVbiosOEMRevision ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pBiosRevision 
)

This function returns the OEM revision of the video BIOS associated with this GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pBiosRevision is NULL
NVAPI_OK*pBiosRevision contains revision number
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle
NVAPI_INTERFACE NvAPI_GPU_GetVbiosRevision ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pBiosRevision 
)

This function returns the revision of the video BIOS associated with this GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu or pBiosRevision is NULL.
NVAPI_OK*pBiosRevision contains revision number.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_INTERFACE NvAPI_GPU_GetVbiosVersionString ( NvPhysicalGpuHandle  hPhysicalGpu,
NvAPI_ShortString  szBiosRevision 
)

This function returns the full video BIOS version string in the form of xx.xx.xx.xx.yy where

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Return values
NVAPI_INVALID_ARGUMENThPhysicalGpu is NULL.
NVAPI_OKszBiosRevision contains version string.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_INTERFACE NvAPI_GPU_GetVirtualFrameBufferSize ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32 pSize 
)

This function returns the virtual size of framebuffer in KB. This includes the physical RAM plus any system RAM that has been dedicated for use by the GPU.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 90
Return values
NVAPI_INVALID_ARGUMENTpSize is NULL.
NVAPI_OKCall successful.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NvAPI_GPU_QueryIlluminationSupport ( __inout NV_GPU_QUERY_ILLUMINATION_SUPPORT_PARM pIlluminationSupportInfo)

FUNCTION NAME: NvAPI_GPU_QueryIlluminationSupport

DESCRIPTION: This function reports if the specified illumination attribute is supported.

Note
Only a single GPU can manage an given attribute on a given HW element, regardless of how many are attatched. I.E. only one GPU will be used to control the brightness of the LED on an SLI bridge, regardless of how many are physicaly attached. You should enumerate thru the GPUs with this call to determine which GPU is managing the attribute.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 300.05
Parameters
[in]hPhysicalGpuPhysical GPU handle
AttributeAn enumeration value specifying the Illumination attribute to be querried
[out]pSupportedA boolean indicating if the attribute is supported.
Returns
See NvAPI Status Values for the list of possible return values.
NVAPI_INTERFACE NvAPI_GPU_SetEDID ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32  displayOutputId,
NV_EDID pEDID 
)

Thus function sets the EDID data for the specified GPU handle and connection bit mask. User can either send the GPU handle & output ID, or only the display ID in the displayOutputId parameter & hPhysicalGpu parameter can be the default handle (0).

Note
The EDID will be cached across the boot session and will be enumerated to the OS in this call. To remove the EDID set sizeofEDID to zero. OS and NVAPI connection status APIs will reflect the newly set or removed EDID dynamically.
    This feature will NOT be supported on the following boards:
    - GeForce
    - Quadro VX
    - Tesla

SUPPORTED OS: Windows 7 and higher

Since
Release: 100
Return values
NVAPI_INVALID_ARGUMENTpEDID is NULL; displayOutputId has 0 or > 1 bits set
NVAPI_OK*pEDID data was applied to the requested displayOutputId.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_NOT_SUPPORTEDFor the above mentioned GPUs
NvAPI_GPU_SetIllumination ( NV_GPU_SET_ILLUMINATION_PARM pIlluminationInfo)

FUNCTION NAME: NvAPI_GPU_SetIllumination

DESCRIPTION: This function sets the value of the specified illumination attribute.

Note
Only a single GPU can manage an given attribute on a given HW element, regardless of how many are attatched. I.E. only one GPU will be used to control the brightness of the LED on an SLI bridge, regardless of how many are physicaly attached. You should enumerate thru the GPUs with the NvAPI_GPU_QueryIlluminationSupport call to determine which GPU is managing the attribute.

SUPPORTED OS: Windows 7 and higher

TCC_SUPPORTED

Since
Release: 300.05
Parameters
[in]hPhysicalGpuPhysical GPU handle
AttributeAn enumeration value specifying the Illumination attribute to be set
ValueThe new value for the specified attribute. This should be specified as a percentage of the full range of the attribute (0-100; 0 = off, 100 = full brightness) If a value is specified outside this range, NVAPI_INVALID_ARGUMENT will be returned.
Returns
See NvAPI Status Values for the list of possible return values. Return values of special interest are:
Return values
NVAPI_INVALID_ARGUMENTThe specified attibute is not known to the driver, or the specified value is out of range.
NVAPI_NOT_SUPPORTEDThe specified attribute is not supported on the specified GPU.
NVAPI_INTERFACE NvAPI_GPU_SetScanoutCompositionParameter ( NvU32  displayId,
NV_GPU_SCANOUT_COMPOSITION_PARAMETER  parameter,
NV_GPU_SCANOUT_COMPOSITION_PARAMETER_VALUE  parameterValue,
float *  pContainer 
)

DESCRIPTION: This API sets various parameters that configure the scanout composition feature on the specified display. (currently there is only one configurable parameter defined: WARPING_RESAMPLING_METHOD, but this function is designed to support the addition of parameters as needed.)

SUPPORTED OS: Windows 7 and higher

Parameters
[in]displayIdCombined physical display and GPU identifier of the display to apply the intensity control
[in]parameterThe scanout composition parameter to be set
[in]parameterValueThe data to be set for the specified parameter
[in]pContainerAdditional container for data associated with the specified parameter
Return values
NVAPI_INVALID_ARGUMENTInvalid input parameters.
NVAPI_API_NOT_INITIALIZEDNvAPI not initialized.
NVAPI_NOT_SUPPORTEDInterface not supported by the driver used, or only supported on selected GPUs
NVAPI_INVALID_ARGUMENTInvalid input data.
NVAPI_OKFeature enabled.
NVAPI_ERRORMiscellaneous error occurred.
NVAPI_INTERFACE NvAPI_GPU_SetScanoutIntensity ( NvU32  displayId,
NV_SCANOUT_INTENSITY_DATA scanoutIntensityData,
int *  pbSticky 
)

DESCRIPTION: This API enables and sets up per-pixel intensity feature on the specified display.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]displayIdcombined physical display and GPU identifier of the display to apply the intensity control.
[in]scanoutIntensityDatathe intensity texture info.
[out]pbSticky(OUT)indicates whether the settings will be kept over a reboot.
Return values
NVAPI_INVALID_ARGUMENTInvalid input parameters.
NVAPI_API_NOT_INITIALIZEDNvAPI not initialized.
NVAPI_NOT_SUPPORTEDInterface not supported by the driver used, or only supported on selected GPUs
NVAPI_INVALID_ARGUMENTInvalid input data.
NVAPI_INCOMPATIBLE_STRUCT_VERSIONNV_SCANOUT_INTENSITY_DATA structure version mismatch.
NVAPI_OKFeature enabled.
NVAPI_ERRORMiscellaneous error occurred.
NVAPI_INTERFACE NvAPI_GPU_SetScanoutWarping ( NvU32  displayId,
NV_SCANOUT_WARPING_DATA scanoutWarpingData,
int *  piMaxNumVertices,
int *  pbSticky 
)

DESCRIPTION: This API enables and sets up the warping feature on the specified display.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]displayIdCombined physical display and GPU identifier of the display to apply the intensity control
[in]scanoutWarpingDataThe warping data info
[out]pbStickyIndicates whether the settings will be kept over a reboot.
Return values
NVAPI_INVALID_ARGUMENTInvalid input parameters.
NVAPI_API_NOT_INITIALIZEDNvAPI not initialized.
NVAPI_NOT_SUPPORTEDInterface not supported by the driver used, or only supported on selected GPUs
NVAPI_INVALID_ARGUMENTInvalid input data.
NVAPI_INCOMPATIBLE_STRUCT_VERSIONNV_SCANOUT_WARPING_DATA structure version mismatch.
NVAPI_OKFeature enabled.
NVAPI_ERRORMiscellaneous error occurred.
NVAPI_INTERFACE NvAPI_GPU_ValidateOutputCombination ( NvPhysicalGpuHandle  hPhysicalGpu,
NvU32  outputsMask 
)

This function determines if a set of GPU outputs can be active simultaneously. While a GPU may have <n> outputs, typically they cannot all be active at the same time due to internal resource sharing.

Given a physical GPU handle and a mask of candidate outputs, this call will return NVAPI_OK if all of the specified outputs can be driven simultaneously. It will return NVAPI_INVALID_COMBINATION if they cannot.

Use NvAPI_GPU_GetAllOutputs() to determine which outputs are candidates.

SUPPORTED OS: Windows 7 and higher

Since
Release: 85
Return values
NVAPI_OKCombination of outputs in outputsMask are valid (can be active simultaneously).
NVAPI_INVALID_COMBINATIONCombination of outputs in outputsMask are NOT valid.
NVAPI_INVALID_ARGUMENThPhysicalGpu or outputsMask does not have at least 2 bits set.
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu was not a physical GPU handle.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_INTERFACE NvAPI_GPU_WorkstationFeatureQuery ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__out_opt NvU32 pConfiguredFeatureMask,
__out_opt NvU32 pConsistentFeatureMask 
)

DESCRIPTION: This API queries the current set of workstation features.

SUPPORTED OS: Windows 7

Parameters
[in]hPhysicalGpuPhysical GPU Handle of the display adapter to be configured. GPU handles may be retrieved using NvAPI_EnumPhysicalGPUs.
[out]pConfiguredFeatureMaskMask of features requested for use by client drivers
[out]pConsistentFeatureMaskMask of features that have all resources allocated for completeness.
Return values
NVAPI_OKconfiguration request succeeded
NVAPI_ERRORconfiguration request failed
NVAPI_EXPECTED_PHYSICAL_GPU_HANDLEhPhysicalGpu is not a physical GPU handle.
NVAPI_NO_IMPLEMENTATIONOS below Win7, implemented only for Win7 but returns NVAPI_OK on OS above Win7 to keep compatibility with apps written against Win7.
NVAPI_INTERFACE NvAPI_GPU_WorkstationFeatureSetup ( __in NvPhysicalGpuHandle  hPhysicalGpu,
__in NvU32  featureEnableMask,
__in NvU32  featureDisableMask 
)


Copyright (c) 2007-2019 NVIDIA Corporation. All rights reserved.

NVIDIA