NVAPI Reference Documentation
NVIDIA
Release 435: August 22
2019

Display Control Interface

Data Structures

struct  tagNV_TIMINGEXT
 
struct  _NV_TIMING
 
struct  NV_VIEW_TARGET_INFO
 
struct  NV_DISPLAY_PATH
 
struct  NV_DISPLAY_PATH_INFO_V3
 
struct  NV_DISPLAY_PATH_INFO
 
struct  _NV_POSITION
 
struct  _NV_RESOLUTION
 
struct  _NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1
 
struct  _NV_DISPLAYCONFIG_PATH_TARGET_INFO_V1
 
struct  _NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2
 
struct  _NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1
 
struct  _NV_DISPLAYCONFIG_PATH_INFO_V1
 
struct  _NV_DISPLAYCONFIG_PATH_INFO_V2
 
struct  _NV_DISPLAY_PORT_INFO_V1
 
struct  NV_DISPLAY_PORT_CONFIG
 
struct  _NV_HDMI_SUPPORT_INFO_V1
 
struct  _NV_HDMI_SUPPORT_INFO_V2
 
struct  NV_TIMING_FLAG
 
struct  _NV_TIMING_INPUT
 
struct  _NV_MONITOR_COLOR_DATA
 
struct  NV_CUSTOM_DISPLAY
 

Macros

#define NVFORMAT_MAKEFOURCC(ch0, ch1, ch2, ch3)
 
#define NV_TIMING_H_SYNC_POSITIVE   0
 
#define NV_TIMING_H_SYNC_NEGATIVE   1
 
#define NV_TIMING_H_SYNC_DEFAULT   NV_TIMING_H_SYNC_NEGATIVE
 
#define NV_TIMING_V_SYNC_POSITIVE   0
 
#define NV_TIMING_V_SYNC_NEGATIVE   1
 
#define NV_TIMING_V_SYNC_DEFAULT   NV_TIMING_V_SYNC_POSITIVE
 
#define NV_TIMING_PROGRESSIVE   0
 
#define NV_TIMING_INTERLACED   1
 
#define NV_TIMING_INTERLACED_EXTRA_VBLANK_ON_FIELD2   1
 
#define NV_TIMING_INTERLACED_NO_EXTRA_VBLANK_ON_FIELD2   2
 
#define NV_VIEW_TARGET_INFO_VER   MAKE_NVAPI_VERSION(NV_VIEW_TARGET_INFO,2)
 
#define NVAPI_MAX_DISPLAY_PATH   NVAPI_MAX_VIEW_TARGET
 
#define NVAPI_ADVANCED_MAX_DISPLAY_PATH   NVAPI_ADVANCED_MAX_VIEW_TARGET
 
#define NV_DISPLAY_PATH_INFO_VER   NV_DISPLAY_PATH_INFO_VER4
 
#define NV_DISPLAY_PATH_INFO_VER4   MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,4)
 
#define NV_DISPLAY_PATH_INFO_VER3   MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,3)
 
#define NV_DISPLAY_PATH_INFO_VER2   MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,2)
 
#define NV_DISPLAY_PATH_INFO_VER1   MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,1)
 
#define NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_VER1   MAKE_NVAPI_VERSION(NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1,1)
 
#define NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_VER   NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_VER1
 
#define _NV_DISPLAYCONFIG_PATH_INFO_V2   _NV_DISPLAYCONFIG_PATH_INFO
 
#define NV_DISPLAYCONFIG_PATH_INFO_VER1   MAKE_NVAPI_VERSION(NV_DISPLAYCONFIG_PATH_INFO_V1,1)
 
#define NV_DISPLAYCONFIG_PATH_INFO_VER2   MAKE_NVAPI_VERSION(NV_DISPLAYCONFIG_PATH_INFO_V2,2)
 
#define NV_DISPLAY_PORT_CONFIG_VER   MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_CONFIG,2)
 
#define NV_DISPLAY_PORT_CONFIG_VER_1   MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_CONFIG,1)
 
#define NV_DISPLAY_PORT_CONFIG_VER_2   MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_CONFIG,2)
 
#define NV_MONITOR_COLOR_CAPS_VER1   MAKE_NVAPI_VERSION(NV_MONITOR_COLOR_CAPS_V1,1)
 
#define NV_CUSTOM_DISPLAY_VER   MAKE_NVAPI_VERSION(NV_CUSTOM_DISPLAY,1)
 

Typedefs

typedef enum _NV_DP_LINK_RATE NV_DP_LINK_RATE
 
typedef enum _NV_DP_LANE_COUNT NV_DP_LANE_COUNT
 
typedef enum _NV_DP_COLOR_FORMAT NV_DP_COLOR_FORMAT
 
typedef enum _NV_DP_COLORIMETRY NV_DP_COLORIMETRY
 
typedef enum _NV_DP_DYNAMIC_RANGE NV_DP_DYNAMIC_RANGE
 
typedef enum _NV_DP_BPC NV_DP_BPC
 
typedef enum _NV_SCALING NV_SCALING
 
typedef enum _NV_ROTATE NV_ROTATE
 
typedef enum _NV_FORMAT NV_FORMAT
 
typedef enum _NV_TIMING_OVERRIDE NV_TIMING_OVERRIDE
 
typedef struct tagNV_TIMINGEXT NV_TIMINGEXT
 
typedef struct _NV_TIMING NV_TIMING
 
typedef struct _NV_POSITION NV_POSITION
 
typedef struct _NV_RESOLUTION NV_RESOLUTION
 
typedef struct _NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1 NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1
 
typedef NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1 NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO
 
typedef struct _NV_DISPLAYCONFIG_PATH_TARGET_INFO_V1 NV_DISPLAYCONFIG_PATH_TARGET_INFO_V1
 
typedef struct _NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2 NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2
 
typedef NV_DISPLAYCONFIG_PATH_TARGET_INFO_V2 NV_DISPLAYCONFIG_PATH_TARGET_INFO
 
typedef enum _NV_DISPLAYCONFIG_SPANNING_ORIENTATION NV_DISPLAYCONFIG_SPANNING_ORIENTATION
 
typedef struct _NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1 NV_DISPLAYCONFIG_SOURCE_MODE_INFO_V1
 
typedef struct _NV_DISPLAYCONFIG_PATH_INFO_V1 NV_DISPLAYCONFIG_PATH_INFO_V1
 
typedef struct _NV_DISPLAYCONFIG_PATH_INFO_V2 NV_DISPLAYCONFIG_PATH_INFO_V2
 
typedef enum _NV_DISPLAYCONFIG_FLAGS NV_DISPLAYCONFIG_FLAGS
 
typedef struct _NV_DISPLAY_PORT_INFO_V1 NV_DISPLAY_PORT_INFO_V1
 
typedef struct _NV_HDMI_SUPPORT_INFO_V1 NV_HDMI_SUPPORT_INFO_V1
 
typedef struct _NV_HDMI_SUPPORT_INFO_V2 NV_HDMI_SUPPORT_INFO_V2
 
typedef struct _NV_MONITOR_COLOR_DATA NV_MONITOR_COLOR_CAPS_V1
 

Enumerations

enum  _NV_DP_LINK_RATE { NV_DP_1_62GBPS = 6, NV_DP_2_70GBPS = 0xA, NV_DP_5_40GBPS = 0x14, NV_DP_8_10GBPS = 0x1E }
 
enum  _NV_DP_LANE_COUNT { NV_DP_1_LANE = 1, NV_DP_2_LANE = 2, NV_DP_4_LANE = 4 }
 
enum  _NV_DP_COLOR_FORMAT { NV_DP_COLOR_FORMAT_RGB = 0, NV_DP_COLOR_FORMAT_YCbCr422, NV_DP_COLOR_FORMAT_YCbCr444 }
 
enum  _NV_DP_COLORIMETRY { NV_DP_COLORIMETRY_RGB = 0, NV_DP_COLORIMETRY_YCbCr_ITU601, NV_DP_COLORIMETRY_YCbCr_ITU709 }
 
enum  _NV_DP_DYNAMIC_RANGE { NV_DP_DYNAMIC_RANGE_VESA = 0, NV_DP_DYNAMIC_RANGE_CEA }
 
enum  _NV_DP_BPC {
  NV_DP_BPC_DEFAULT = 0, NV_DP_BPC_6, NV_DP_BPC_8, NV_DP_BPC_10,
  NV_DP_BPC_12, NV_DP_BPC_16
}
 
enum  _NV_SCALING {
  NV_SCALING_DEFAULT = 0, NV_SCALING_GPU_SCALING_TO_CLOSEST = 1, NV_SCALING_GPU_SCALING_TO_NATIVE = 2, NV_SCALING_GPU_SCANOUT_TO_NATIVE = 3,
  NV_SCALING_GPU_SCALING_TO_ASPECT_SCANOUT_TO_NATIVE = 5, NV_SCALING_GPU_SCALING_TO_ASPECT_SCANOUT_TO_CLOSEST = 6, NV_SCALING_GPU_SCANOUT_TO_CLOSEST = 7, NV_SCALING_MONITOR_SCALING = NV_SCALING_GPU_SCALING_TO_CLOSEST,
  NV_SCALING_ADAPTER_SCALING = NV_SCALING_GPU_SCALING_TO_NATIVE, NV_SCALING_CENTERED = NV_SCALING_GPU_SCANOUT_TO_NATIVE, NV_SCALING_ASPECT_SCALING = NV_SCALING_GPU_SCALING_TO_ASPECT_SCANOUT_TO_NATIVE, NV_SCALING_CUSTOMIZED = 255
}
 
enum  _NV_ROTATE {
  NV_ROTATE_0 = 0, NV_ROTATE_90 = 1, NV_ROTATE_180 = 2, NV_ROTATE_270 = 3,
  NV_ROTATE_IGNORED = 4
}
 
enum  _NV_FORMAT {
  NV_FORMAT_UNKNOWN = 0, NV_FORMAT_P8 = 41, NV_FORMAT_R5G6B5 = 23, NV_FORMAT_A8R8G8B8 = 21,
  NV_FORMAT_A16B16G16R16F = 113
}
 
enum  _NV_TIMING_OVERRIDE {
  NV_TIMING_OVERRIDE_CURRENT = 0, NV_TIMING_OVERRIDE_AUTO, NV_TIMING_OVERRIDE_EDID, NV_TIMING_OVERRIDE_DMT,
  NV_TIMING_OVERRIDE_DMT_RB, NV_TIMING_OVERRIDE_CVT, NV_TIMING_OVERRIDE_CVT_RB, NV_TIMING_OVERRIDE_GTF,
  NV_TIMING_OVERRIDE_EIA861, NV_TIMING_OVERRIDE_ANALOG_TV, NV_TIMING_OVERRIDE_CUST, NV_TIMING_OVERRIDE_NV_PREDEFINED,
  NV_TIMING_OVERRIDE_NV_PSF = NV_TIMING_OVERRIDE_NV_PREDEFINED, NV_TIMING_OVERRIDE_NV_ASPR, NV_TIMING_OVERRIDE_SDI, NV_TIMING_OVRRIDE_MAX
}
 
enum  _NV_DISPLAYCONFIG_SPANNING_ORIENTATION { NV_DISPLAYCONFIG_SPAN_NONE = 0, NV_DISPLAYCONFIG_SPAN_HORIZONTAL = 1, NV_DISPLAYCONFIG_SPAN_VERTICAL = 2 }
 
enum  _NV_DISPLAYCONFIG_FLAGS {
  NV_DISPLAYCONFIG_VALIDATE_ONLY = 0x00000001, NV_DISPLAYCONFIG_SAVE_TO_PERSISTENCE = 0x00000002, NV_DISPLAYCONFIG_DRIVER_RELOAD_ALLOWED = 0x00000004, NV_DISPLAYCONFIG_FORCE_MODE_ENUMERATION = 0x00000008,
  NV_FORCE_COMMIT_VIDPN = 0x00000010
}
 

Functions

 __nvapi_deprecated_function ("Do not use this function - it is deprecated in release 290. Instead, use NvAPI_DISP_SetDisplayConfig.") NVAPI_INTERFACE NvAPI_SetViewEx(NvDisplayHandle hNvDisplay
 
NVAPI_INTERFACE NvAPI_CreateDisplayFromUnAttachedDisplay (NvUnAttachedDisplayHandle hNvUnAttachedDisp, NvDisplayHandle *pNvDisplay)
 
NVAPI_INTERFACE NvAPI_GetAssociatedNvidiaDisplayName (NvDisplayHandle NvDispHandle, NvAPI_ShortString szDisplayName)
 
NVAPI_INTERFACE NvAPI_GetUnAttachedAssociatedDisplayName (NvUnAttachedDisplayHandle hNvUnAttachedDisp, NvAPI_ShortString szDisplayName)
 
NVAPI_INTERFACE NvAPI_EnableHWCursor (NvDisplayHandle hNvDisplay)
 
NVAPI_INTERFACE NvAPI_DisableHWCursor (NvDisplayHandle hNvDisplay)
 
NVAPI_INTERFACE NvAPI_GetVBlankCounter (NvDisplayHandle hNvDisplay, NvU32 *pCounter)
 
NVAPI_INTERFACE NvAPI_SetRefreshRateOverride (NvDisplayHandle hNvDisplay, NvU32 outputsMask, float refreshRate, NvU32 bSetDeferred)
 
NVAPI_INTERFACE NvAPI_GetAssociatedDisplayOutputId (NvDisplayHandle hNvDisplay, NvU32 *pOutputId)
 
NVAPI_INTERFACE NvAPI_GetDisplayPortInfo (__in_opt NvDisplayHandle hNvDisplay, __in NvU32 outputId, __inout NV_DISPLAY_PORT_INFO *pInfo)
 
NVAPI_INTERFACE NvAPI_SetDisplayPort (NvDisplayHandle hNvDisplay, NvU32 outputId, NV_DISPLAY_PORT_CONFIG *pCfg)
 
NVAPI_INTERFACE NvAPI_GetHDMISupportInfo (__in_opt NvDisplayHandle hNvDisplay, __in NvU32 outputId, __inout NV_HDMI_SUPPORT_INFO *pInfo)
 
NVAPI_INTERFACE NvAPI_Disp_InfoFrameControl (__in NvU32 displayId, __inout NV_INFOFRAME_DATA *pInfoframeData)
 
NVAPI_INTERFACE NvAPI_DISP_GetTiming (__in NvU32 displayId, __in NV_TIMING_INPUT *timingInput, __out NV_TIMING *pTiming)
 
NVAPI_INTERFACE NvAPI_DISP_GetMonitorCapabilities (__in NvU32 displayId, __inout NV_MONITOR_CAPABILITIES *pMonitorCapabilities)
 
NVAPI_INTERFACE NvAPI_DISP_GetMonitorColorCapabilities (__in NvU32 displayId, __inout_ecount_part_opt(*pColorCapsCount,*pColorCapsCount) NV_MONITOR_COLOR_CAPS *pMonitorColorCapabilities, __inout NvU32 *pColorCapsCount)
 
NVAPI_INTERFACE NvAPI_DISP_EnumCustomDisplay (__in NvU32 displayId, __in NvU32 index, __inout NV_CUSTOM_DISPLAY *pCustDisp)
 
NVAPI_INTERFACE NvAPI_DISP_TryCustomDisplay (__in_ecount(count) NvU32 *pDisplayIds, __in NvU32 count, __in_ecount(count) NV_CUSTOM_DISPLAY *pCustDisp)
 
NVAPI_INTERFACE NvAPI_DISP_DeleteCustomDisplay (__in_ecount(count) NvU32 *pDisplayIds, __in NvU32 count, __in NV_CUSTOM_DISPLAY *pCustDisp)
 
NVAPI_INTERFACE NvAPI_DISP_SaveCustomDisplay (__in_ecount(count) NvU32 *pDisplayIds, __in NvU32 count, __in NvU32 isThisOutputIdOnly, __in NvU32 isThisMonitorIdOnly)
 
NVAPI_INTERFACE NvAPI_DISP_RevertCustomDisplayTrial (__in_ecount(count) NvU32 *pDisplayIds, __in NvU32 count)
 
 __nvapi_deprecated_function ("Do not use this function - it is deprecated in release 290. Instead, use NvAPI_DISP_GetDisplayConfig.") NVAPI_INTERFACE NvAPI_GetView(NvDisplayHandle hNvDisplay
 
NVAPI_INTERFACE NvAPI_GetSupportedViews (NvDisplayHandle hNvDisplay, NV_TARGET_VIEW_MODE *pTargetViews, NvU32 *pViewCount)
 
NVAPI_INTERFACE NvAPI_DISP_GetDisplayIdByDisplayName (const char *displayName, NvU32 *displayId)
 
NVAPI_INTERFACE NvAPI_DISP_GetDisplayConfig (__inout NvU32 *pathInfoCount, __out_ecount_full_opt(*pathInfoCount) NV_DISPLAYCONFIG_PATH_INFO *pathInfo)
 
NVAPI_INTERFACE NvAPI_DISP_SetDisplayConfig (__in NvU32 pathInfoCount, __in_ecount(pathInfoCount) NV_DISPLAYCONFIG_PATH_INFO *pathInfo, __in NvU32 flags)
 
NVAPI_INTERFACE NvAPI_DISP_GetGDIPrimaryDisplayId (NvU32 *displayId)
 
enum  _NV_TARGET_VIEW_MODE {
  NV_VIEW_MODE_STANDARD = 0, NV_VIEW_MODE_CLONE = 1, NV_VIEW_MODE_HSPAN = 2, NV_VIEW_MODE_VSPAN = 3,
  NV_VIEW_MODE_DUALVIEW = 4, NV_VIEW_MODE_MULTIVIEW = 5
}
 
typedef enum _NV_TARGET_VIEW_MODE NV_TARGET_VIEW_MODE
 
#define NVAPI_MAX_VIEW_TARGET   2
 
#define NVAPI_ADVANCED_MAX_VIEW_TARGET   4
 
#define _NV_TARGET_VIEW_MODE_
 
enum  NV_INFOFRAME_CMD {
  NV_INFOFRAME_CMD_GET_DEFAULT = 0, NV_INFOFRAME_CMD_RESET, NV_INFOFRAME_CMD_GET, NV_INFOFRAME_CMD_SET,
  NV_INFOFRAME_CMD_GET_OVERRIDE, NV_INFOFRAME_CMD_SET_OVERRIDE, NV_INFOFRAME_CMD_GET_PROPERTY, NV_INFOFRAME_CMD_SET_PROPERTY
}
 
NVAPI_INTERFACE NvAPI_Disp_ColorControl (NvU32 displayId, NV_COLOR_DATA *pColorData)
 
typedef struct _NV_TIMING_INPUT NV_TIMING_INPUT
 
enum  NV_MONITOR_CAPS_TYPE { NV_MONITOR_CAPS_TYPE_HDMI_VSDB = 0x1000, NV_MONITOR_CAPS_TYPE_HDMI_VCDB = 0x1001 }
 

Detailed Description

Timing-related constants

Macro for constructing the version fields of NV_DISPLAY_PATH_INFO

Macro for constructing the version field of NV_DISPLAY_PORT_CONFIG

Macro Definition Documentation

#define _NV_DISPLAYCONFIG_PATH_INFO_V2   _NV_DISPLAYCONFIG_PATH_INFO

This define is temporary and must be removed once DVS failure is fixed.

#define _NV_TARGET_VIEW_MODE_

Used in NvAPI_SetView().

#define NV_CUSTOM_DISPLAY_VER   MAKE_NVAPI_VERSION(NV_CUSTOM_DISPLAY,1)
#define NV_DISPLAY_PATH_INFO_VER   NV_DISPLAY_PATH_INFO_VER4
#define NV_DISPLAY_PATH_INFO_VER1   MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,1)
#define NV_DISPLAY_PATH_INFO_VER2   MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,2)
#define NV_DISPLAY_PATH_INFO_VER3   MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,3)
#define NV_DISPLAY_PATH_INFO_VER4   MAKE_NVAPI_VERSION(NV_DISPLAY_PATH_INFO,4)
#define NV_DISPLAY_PORT_CONFIG_VER   MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_CONFIG,2)
#define NV_DISPLAY_PORT_CONFIG_VER_1   MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_CONFIG,1)

Macro for constructing the version field of NV_DISPLAY_PORT_CONFIG.

#define NV_DISPLAY_PORT_CONFIG_VER_2   MAKE_NVAPI_VERSION(NV_DISPLAY_PORT_CONFIG,2)

Macro for constructing the version field of NV_DISPLAY_PORT_CONFIG.

#define NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_VER   NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_VER1
#define NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_VER1   MAKE_NVAPI_VERSION(NV_DISPLAYCONFIG_PATH_ADVANCED_TARGET_INFO_V1,1)
#define NV_DISPLAYCONFIG_PATH_INFO_VER1   MAKE_NVAPI_VERSION(NV_DISPLAYCONFIG_PATH_INFO_V1,1)
#define NV_DISPLAYCONFIG_PATH_INFO_VER2   MAKE_NVAPI_VERSION(NV_DISPLAYCONFIG_PATH_INFO_V2,2)
#define NV_MONITOR_COLOR_CAPS_VER1   MAKE_NVAPI_VERSION(NV_MONITOR_COLOR_CAPS_V1,1)
#define NV_TIMING_H_SYNC_DEFAULT   NV_TIMING_H_SYNC_NEGATIVE
#define NV_TIMING_H_SYNC_NEGATIVE   1
#define NV_TIMING_H_SYNC_POSITIVE   0
#define NV_TIMING_INTERLACED   1
#define NV_TIMING_INTERLACED_EXTRA_VBLANK_ON_FIELD2   1
#define NV_TIMING_INTERLACED_NO_EXTRA_VBLANK_ON_FIELD2   2
#define NV_TIMING_PROGRESSIVE   0
#define NV_TIMING_V_SYNC_DEFAULT   NV_TIMING_V_SYNC_POSITIVE
#define NV_TIMING_V_SYNC_NEGATIVE   1
#define NV_TIMING_V_SYNC_POSITIVE   0
#define NV_VIEW_TARGET_INFO_VER   MAKE_NVAPI_VERSION(NV_VIEW_TARGET_INFO,2)
#define NVAPI_ADVANCED_MAX_DISPLAY_PATH   NVAPI_ADVANCED_MAX_VIEW_TARGET
#define NVAPI_ADVANCED_MAX_VIEW_TARGET   4

Used in NvAPI_SetView().

#define NVAPI_MAX_DISPLAY_PATH   NVAPI_MAX_VIEW_TARGET
#define NVAPI_MAX_VIEW_TARGET   2

Used in NvAPI_SetView().

#define NVFORMAT_MAKEFOURCC (   ch0,
  ch1,
  ch2,
  ch3 
)
Value:
((NvU32)(NvU8)(ch0) | ((NvU32)(NvU8)(ch1) << 8) | \
((NvU32)(NvU8)(ch2) << 16) | ((NvU32)(NvU8)(ch3) << 24 ))
unsigned long NvU32
Definition: nvapi_lite_common.h:79
unsigned char NvU8
Definition: nvapi_lite_common.h:88

Color formats- used in NvAPI_SetViewEx().

Typedef Documentation

As version is not defined for this structure, we will be using version of NV_DISPLAYCONFIG_PATH_INFO

typedef enum _NV_DP_BPC NV_DP_BPC

Used in NV_DISPLAY_PORT_INFO.

Used in NV_DISPLAY_PORT_INFO.

Used in NV_DISPLAY_PORT_INFO.

Used in NV_DISPLAY_PORT_INFO.

Used in NV_DISPLAY_PORT_INFO.

Used in NV_DISPLAY_PORT_INFO.

typedef enum _NV_FORMAT NV_FORMAT

Color formats- used in NvAPI_SetViewEx().

typedef struct _NV_POSITION NV_POSITION
typedef struct _NV_RESOLUTION NV_RESOLUTION
typedef enum _NV_ROTATE NV_ROTATE

Rotate modes- used in NvAPI_SetViewEx().

typedef enum _NV_SCALING NV_SCALING

Scaling modes - used in NvAPI_SetViewEx().

Used in NvAPI_SetView().

typedef struct _NV_TIMING NV_TIMING

The very basic timing structure based on the VESA standard:

1  |<----------------------------htotal--------------------------->|
2  ---------"active" video-------->|<-------blanking------>|<-----
3  |<-------hvisible-------->|<-hb->|<-hfp->|<-hsw->|<-hbp->|<-hb->|
4 --------- -+-------------------------+ | | | | |
5  A A | | | | | | |
6  : : | | | | | | |
7  : : | | | | | | |
8  :vertical| addressable video | | | | | |
9  : visible| | | | | | |
10  : : | | | | | | |
11  : : | | | | | | |
12 vertical V | | | | | | |
13  total --+-------------------------+ | | | | |
14  : vb border | | | | |
15  : -----------------------------------+ | | | |
16  : vfp front porch | | | |
17  : -------------------------------------------+ | | |
18  : vsw sync width | | |
19  : ---------------------------------------------------+ | |
20  : vbp back porch | |
21  : -----------------------------------------------------------+ |
22  V vb border |
23 ---------------------------------------------------------------------------+

The timing override is not supported yet; must be set to _AUTO.

typedef struct tagNV_TIMINGEXT NV_TIMINGEXT

NVIDIA-specific timing extras
Used in NV_TIMING.

Enumeration Type Documentation

Enumerator
NV_DISPLAYCONFIG_VALIDATE_ONLY 
NV_DISPLAYCONFIG_SAVE_TO_PERSISTENCE 
NV_DISPLAYCONFIG_DRIVER_RELOAD_ALLOWED 

Driver reload is permitted if necessary.

NV_DISPLAYCONFIG_FORCE_MODE_ENUMERATION 

Refresh OS mode list.

NV_FORCE_COMMIT_VIDPN 

Tell OS to avoid optimizing CommitVidPn call during a modeset.

Enumerator
NV_DISPLAYCONFIG_SPAN_NONE 
NV_DISPLAYCONFIG_SPAN_HORIZONTAL 
NV_DISPLAYCONFIG_SPAN_VERTICAL 
enum _NV_DP_BPC

Used in NV_DISPLAY_PORT_INFO.

Enumerator
NV_DP_BPC_DEFAULT 
NV_DP_BPC_6 
NV_DP_BPC_8 
NV_DP_BPC_10 
NV_DP_BPC_12 
NV_DP_BPC_16 

Used in NV_DISPLAY_PORT_INFO.

Enumerator
NV_DP_COLOR_FORMAT_RGB 
NV_DP_COLOR_FORMAT_YCbCr422 
NV_DP_COLOR_FORMAT_YCbCr444 

Used in NV_DISPLAY_PORT_INFO.

Enumerator
NV_DP_COLORIMETRY_RGB 
NV_DP_COLORIMETRY_YCbCr_ITU601 
NV_DP_COLORIMETRY_YCbCr_ITU709 

Used in NV_DISPLAY_PORT_INFO.

Enumerator
NV_DP_DYNAMIC_RANGE_VESA 
NV_DP_DYNAMIC_RANGE_CEA 

Used in NV_DISPLAY_PORT_INFO.

Enumerator
NV_DP_1_LANE 
NV_DP_2_LANE 
NV_DP_4_LANE 

Used in NV_DISPLAY_PORT_INFO.

Enumerator
NV_DP_1_62GBPS 
NV_DP_2_70GBPS 
NV_DP_5_40GBPS 
NV_DP_8_10GBPS 
enum _NV_FORMAT

Color formats- used in NvAPI_SetViewEx().

Enumerator
NV_FORMAT_UNKNOWN 

unknown. Driver will choose one as following value.

NV_FORMAT_P8 

for 8bpp mode

NV_FORMAT_R5G6B5 

for 16bpp mode

NV_FORMAT_A8R8G8B8 

for 32bpp mode

NV_FORMAT_A16B16G16R16F 

for 64bpp(floating point) mode.

enum _NV_ROTATE

Rotate modes- used in NvAPI_SetViewEx().

Enumerator
NV_ROTATE_0 
NV_ROTATE_90 
NV_ROTATE_180 
NV_ROTATE_270 
NV_ROTATE_IGNORED 

Scaling modes - used in NvAPI_SetViewEx().

Enumerator
NV_SCALING_DEFAULT 

No change.

NV_SCALING_GPU_SCALING_TO_CLOSEST 

Balanced - Full Screen.

NV_SCALING_GPU_SCALING_TO_NATIVE 

Force GPU - Full Screen.

NV_SCALING_GPU_SCANOUT_TO_NATIVE 

Force GPU - Centered Scaling.

NV_SCALING_GPU_SCALING_TO_ASPECT_SCANOUT_TO_NATIVE 

Force GPU - Aspect Ratio.

NV_SCALING_GPU_SCALING_TO_ASPECT_SCANOUT_TO_CLOSEST 

Balanced - Aspect Ratio.

NV_SCALING_GPU_SCANOUT_TO_CLOSEST 

Balanced - Centered Scaling.

NV_SCALING_MONITOR_SCALING 
NV_SCALING_ADAPTER_SCALING 
NV_SCALING_CENTERED 
NV_SCALING_ASPECT_SCALING 
NV_SCALING_CUSTOMIZED 

For future use.

Used in NvAPI_SetView().

Enumerator
NV_VIEW_MODE_STANDARD 
NV_VIEW_MODE_CLONE 
NV_VIEW_MODE_HSPAN 
NV_VIEW_MODE_VSPAN 
NV_VIEW_MODE_DUALVIEW 
NV_VIEW_MODE_MULTIVIEW 

The timing override is not supported yet; must be set to _AUTO.

Enumerator
NV_TIMING_OVERRIDE_CURRENT 

get the current timing

NV_TIMING_OVERRIDE_AUTO 

the timing the driver will use based the current policy

NV_TIMING_OVERRIDE_EDID 

EDID timing.

NV_TIMING_OVERRIDE_DMT 

VESA DMT timing.

NV_TIMING_OVERRIDE_DMT_RB 

VESA DMT timing with reduced blanking.

NV_TIMING_OVERRIDE_CVT 

VESA CVT timing.

NV_TIMING_OVERRIDE_CVT_RB 

VESA CVT timing with reduced blanking.

NV_TIMING_OVERRIDE_GTF 

VESA GTF timing.

NV_TIMING_OVERRIDE_EIA861 

EIA 861x pre-defined timing.

NV_TIMING_OVERRIDE_ANALOG_TV 

analog SD/HDTV timing

NV_TIMING_OVERRIDE_CUST 

NV custom timings.

NV_TIMING_OVERRIDE_NV_PREDEFINED 

NV pre-defined timing (basically the PsF timings)

NV_TIMING_OVERRIDE_NV_PSF 
NV_TIMING_OVERRIDE_NV_ASPR 
NV_TIMING_OVERRIDE_SDI 

Override for SDI timing.

NV_TIMING_OVRRIDE_MAX 

Macro for constructing the version field of NV_INFOFRAME_DATA.

Enumerator
NV_INFOFRAME_CMD_GET_DEFAULT 

Returns the fields in the infoframe with values set by the manufacturer - NVIDIA/OEM.

NV_INFOFRAME_CMD_RESET 

Sets the fields in the infoframe to auto, and infoframe to the default infoframe for use in a set.

NV_INFOFRAME_CMD_GET 

Get the current infoframe state.

NV_INFOFRAME_CMD_SET 

Set the current infoframe state (flushed to the monitor), the values are one time and do not persist.

NV_INFOFRAME_CMD_GET_OVERRIDE 

Get the override infoframe state, non-override fields will be set to value = AUTO, overridden fields will have the current override values.

NV_INFOFRAME_CMD_SET_OVERRIDE 

Set the override infoframe state, non-override fields will be set to value = AUTO, other values indicate override; persist across modeset/reboot.

NV_INFOFRAME_CMD_GET_PROPERTY 

get properties associated with infoframe (each of the infoframe type will have properties)

NV_INFOFRAME_CMD_SET_PROPERTY 

set properties associated with infoframe

HDMI-related and extended CAPs.

Enumerator
NV_MONITOR_CAPS_TYPE_HDMI_VSDB 
NV_MONITOR_CAPS_TYPE_HDMI_VCDB 

Function Documentation

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

This API lets caller retrieve the target display arrangement for selected source display handle.

Note
Display PATH with this API is limited to single GPU. DUALVIEW across GPUs will be returned as STANDARD VIEW. Use NvAPI_SYS_GetDisplayTopologies() to query views across GPUs.
Since
Release: 85
Parameters
[in]hNvDisplayNVIDIA Display selection. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle().
[out]pTargetsUser allocated storage to retrieve an array of NV_VIEW_TARGET_INFO. Can be NULL to retrieve the targetCount.
[in,out]targetMaskCountCount of target device mask specified in pTargetMask.
[out]targetViewTarget view selected from NV_TARGET_VIEW_MODE.
Return values
NVAPI_OKCompleted request
NVAPI_ERRORMiscellaneous error occurred
NVAPI_INVALID_ARGUMENTInvalid input parameter.

DESCRIPTION: This API lets caller retrieve the target display arrangement for selected source display handle.

Note
Display PATH with this API is limited to single GPU. DUALVIEW across GPUs will be returned as STANDARD VIEW. Use NvAPI_SYS_GetDisplayTopologies() to query views across GPUs.
Since
Release: 165
Parameters
[in]hNvDisplayNVIDIA Display selection. NVAPI_DEFAULT_HANDLE is not allowed, it has to be a handle enumerated with NvAPI_EnumNVidiaDisplayHandle().
[in,out]pPathInfoCount field should be set to NVAPI_MAX_DISPLAY_PATH. Can be NULL to retrieve just the pathCount.
[in,out]pPathCountNumber of elements in array pPathInfo->path.
[out]pTargetViewModeDisplay view selected from NV_TARGET_VIEW_MODE.
Return values
NVAPI_OKCompleted request
NVAPI_API_NOT_INTIALIZEDNVAPI not initialized
NVAPI_ERRORMiscellaneous error occurred
NVAPI_INVALID_ARGUMENTInvalid input parameter.
NVAPI_EXPECTED_DISPLAY_HANDLEhNvDisplay is not a valid display handle.
NVAPI_INTERFACE NvAPI_CreateDisplayFromUnAttachedDisplay ( NvUnAttachedDisplayHandle  hNvUnAttachedDisp,
NvDisplayHandle *  pNvDisplay 
)

This function converts the unattached display handle to an active attached display 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_ARGUMENThNvUnAttachedDisp is not valid or pNvDisplay is NULL.
NVAPI_OKOne or more handles were returned
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found
NVAPI_INTERFACE NvAPI_DisableHWCursor ( NvDisplayHandle  hNvDisplay)

This function disables hardware cursor support

SUPPORTED OS: Windows XP

Since
Release: 80
Returns
NVAPI_ERROR or NVAPI_OK
NvAPI_Disp_ColorControl ( NvU32  displayId,
NV_COLOR_DATA pColorData 
)

DESCRIPTION: This API controls the Color values.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]displayIdMonitor Identifier
[in,out]pColorDataContains data corresponding to color information
Returns
RETURN STATUS: NVAPI_OK NVAPI_ERROR NVAPI_INVALID_ARGUMENT
NVAPI_INTERFACE NvAPI_DISP_DeleteCustomDisplay ( __in_ecount(count) NvU32 pDisplayIds,
__in NvU32  count,
__in NV_CUSTOM_DISPLAY pCustDisp 
)

DESCRIPTION: This function deletes the custom display configuration, specified from the registry for all the displays whose display IDs are passed.

SUPPORTED OS: Windows 7 and higher

Since
Release: 313
Parameters
[in]pDisplayIdsArray of Dispaly IDs on which custom display configuration is to be saved.
[in]countTotal number of the incoming Dispaly IDs. This is for the multi-head support.
[in]pCustDispPointer to the NV_CUSTOM_DISPLAY 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.
Return values
NVAPI_INVALID_DISPLAY_IDCustom Timing is not supported on the Display, whose display id is passed
NVAPI_INTERFACE NvAPI_DISP_EnumCustomDisplay ( __in NvU32  displayId,
__in NvU32  index,
__inout NV_CUSTOM_DISPLAY pCustDisp 
)

DESCRIPTION: This API enumerates the custom timing specified by the enum index. The client should keep enumerating until it returns NVAPI_END_ENUMERATION.

SUPPORTED OS: Windows 7 and higher

Since
Release: 313
Parameters
[in]displayIdDispaly ID of the display.
[in]indexEnum index
[in,out]pCustDispPointer to the NV_CUSTOM_DISPLAY 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.
Return values
NVAPI_INVALID_DISPLAY_IDCustom Timing is not supported on the Display, whose display id is passed
NVAPI_INTERFACE NvAPI_DISP_GetDisplayConfig ( __inout NvU32 pathInfoCount,
__out_ecount_full_opt *pathInfoCount NV_DISPLAYCONFIG_PATH_INFO pathInfo 
)

DESCRIPTION: This API lets caller retrieve the current global display configuration. USAGE: The caller might have to call this three times to fetch all the required configuration details as follows: First Pass: Caller should Call NvAPI_DISP_GetDisplayConfig() with pathInfo set to NULL to fetch pathInfoCount. Second Pass: Allocate memory for pathInfo with respect to the number of pathInfoCount(from First Pass) to fetch targetInfoCount. If sourceModeInfo is needed allocate memory or it can be initialized to NULL. Third Pass(Optional, only required if target information is required): Allocate memory for targetInfo with respect to number of targetInfoCount(from Second Pass). SUPPORTED OS: Windows 7 and higher

Parameters
[in,out]pathInfoCountNumber of elements in pathInfo array, returns number of valid topologies, this cannot be null.
[in,out]pathInfoArray of path information
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_ARGUMENT- Invalid input parameter. Following can be the reason for this return value:
  1. pathInfoCount is NULL.
  2. *pathInfoCount is 0 and pathInfo is not NULL.
  3. *pathInfoCount is not 0 and pathInfo is NULL.
NVAPI_DEVICE_BUSY- ModeSet has not yet completed. Please wait and call it again.
NVAPI_INTERFACE NvAPI_DISP_GetDisplayIdByDisplayName ( const char *  displayName,
NvU32 displayId 
)

SUPPORTED OS: Windows 7 and higherDESCRIPTION: This API retrieves the Display Id of a given display by display name. The display must be active to retrieve the displayId. In the case of clone mode or Surround gaming, the primary or top-left display will be returned.

Parameters
[in]displayNameName of display (Eg: "\\DISPLAY1" to retrieve the displayId for.
[out]displayIdDisplay ID of the requested display.

retval NVAPI_OK: Capabilties have been returned. retval NVAPI_INVALID_ARGUMENT: One or more args passed in are invalid. retval NVAPI_API_NOT_INTIALIZED: The NvAPI API needs to be initialized first retval NVAPI_NO_IMPLEMENTATION: This entrypoint not available retval NVAPI_ERROR: Miscellaneous error occurred

NVAPI_INTERFACE NvAPI_DISP_GetGDIPrimaryDisplayId ( NvU32 displayId)

SUPPORTED OS: Windows 7 and higherDESCRIPTION: This API returns the Display ID of the GDI Primary.

Parameters
[out]displayIdDisplay ID of the GDI Primary display.
Return values
NVAPI_OKCapabilties have been returned.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDGDI Primary not on an NVIDIA GPU.
NVAPI_INVALID_ARGUMENTOne or more args passed in are invalid.
NVAPI_API_NOT_INTIALIZEDThe NvAPI API needs to be initialized first
NVAPI_NO_IMPLEMENTATIONThis entrypoint not available
NVAPI_ERRORMiscellaneous error occurred
NVAPI_INTERFACE NvAPI_DISP_GetMonitorCapabilities ( __in NvU32  displayId,
__inout NV_MONITOR_CAPABILITIES pMonitorCapabilities 
)

SUPPORTED OS: Windows 7 and higher

NVAPI_INTERFACE NvAPI_DISP_GetMonitorColorCapabilities ( __in NvU32  displayId,
__inout_ecount_part_opt *,*pColorCapsCount NV_MONITOR_COLOR_CAPS pMonitorColorCapabilities,
__inout NvU32 pColorCapsCount 
)

DESCRIPTION: This API returns all the color formats and bit depth values supported by a given DP monitor.

USAGE: Sequence of calls which caller should make to get the information.

  1. First call NvAPI_DISP_GetMonitorColorCapabilities() with pMonitorColorCapabilities as NULL to get the count.
  2. Allocate memory for color caps(NV_MONITOR_COLOR_CAPS) array.
  3. Call NvAPI_DISP_GetMonitorColorCapabilities() again with the pointer to the memory allocated to get all the color capabilities.

Note :

  1. pColorCapsCount should never be NULL, else the API will fail with NVAPI_INVALID_ARGUMENT.
  2. *pColorCapsCount returned from the API will always be the actual count in any/every call.
  3. Memory size to be allocated should be (*pColorCapsCount * sizeof(NV_MONITOR_COLOR_CAPS)).
  4. If the memory allocated is less than what is required to return all the timings, this API will return the amount of information which can fit in user provided buffer and API will return NVAPI_INSUFFICIENT_BUFFER.
  5. If the caller specifies a greater value for *pColorCapsCount in second call to NvAPI_DISP_GetMonitorColorCapabilities() than what was returned from first call, the API will return only the actual number of elements in the color capabilities array and the extra buffer will remain unused.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]displayIdMonitor Identifier
[in,out]pMonitorColorCapabilitiesThe monitor color capabilities information
[in,out]pColorCapsCount- During input, the number of elements allocated for the pMonitorColorCapabilities pointer
  • During output, the actual number of color data elements the monitor supports
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_BUFFERThe input buffer size is not sufficient to hold the total contents. In this case *pColorCapsCount will hold the required amount of elements.
NVAPI_INVALID_DISPLAY_IDThe input monitor is either not connected or is not a DP panel.
NVAPI_INTERFACE NvAPI_DISP_GetTiming ( __in NvU32  displayId,
__in NV_TIMING_INPUT timingInput,
__out NV_TIMING pTiming 
)

DESCRIPTION: This function calculates the timing from the visible width/height/refresh-rate and timing type info.

SUPPORTED OS: Windows 7 and higher

Since
Release: 313
Parameters
[in]displayIdDisplay ID of the display.
[in]timingInputInputs used for calculating the timing.
[out]pTimingPointer to the NV_TIMING 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_INTERFACE NvAPI_Disp_InfoFrameControl ( __in NvU32  displayId,
__inout NV_INFOFRAME_DATA pInfoframeData 
)

DESCRIPTION: This API controls the InfoFrame values.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]displayIdMonitor Identifier
[in,out]pInfoframeDataContains data corresponding to InfoFrame
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_DISP_RevertCustomDisplayTrial ( __in_ecount(count) NvU32 pDisplayIds,
__in NvU32  count 
)

DESCRIPTION: This API is used to restore the display configuration, that was changed by calling NvAPI_DISP_TryCustomDisplay(). This function must be called only after a custom display configuration is tested on the hardware, using NvAPI_DISP_TryCustomDisplay(), otherwise no action is taken. On Vista, NvAPI_DISP_RevertCustomDisplayTrial should be called with an active display that was affected during the NvAPI_DISP_TryCustomDisplay() call, per GPU.

SUPPORTED OS: Windows 7 and higher

Since
Release: 313
Parameters
[in]pDisplayIdsPointer to display Id, of an active display.
[in]countTotal number of incoming Display IDs. For future use only. Currently it is expected to be passed as 1.
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_DISP_SaveCustomDisplay ( __in_ecount(count) NvU32 pDisplayIds,
__in NvU32  count,
__in NvU32  isThisOutputIdOnly,
__in NvU32  isThisMonitorIdOnly 
)

DESCRIPTION: This function saves the current hardware display configuration on the specified Display IDs as a custom display configuration. This function should be called right after NvAPI_DISP_TryCustomDisplay() to save the custom display from the current hardware context. This function will not do anything if the custom display configuration is not tested on the hardware.

SUPPORTED OS: Windows 7 and higher

Since
Release: 313
Parameters
[in]pDisplayIdsArray of Dispaly IDs on which custom display configuration is to be saved.
[in]countTotal number of the incoming Dispaly IDs. This is for the multi-head support.
[in]isThisOutputIdOnlyIf set, the saved custom display will only be applied on the monitor with the same outputId (see NvAPI Handles).
[in]isThisMonitorIdOnlyIf set, the saved custom display will only be applied on the monitor with the same EDID ID or the same TV connector in case of analog TV.
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_DISPLAY_IDCustom Timing is not supported on the Display, whose display id is passed
NVAPI_INTERFACE NvAPI_DISP_SetDisplayConfig ( __in NvU32  pathInfoCount,
__in_ecount(pathInfoCount) NV_DISPLAYCONFIG_PATH_INFO pathInfo,
__in NvU32  flags 
)

DESCRIPTION: This API lets caller apply a global display configuration across multiple GPUs.

If all sourceIds are zero, then NvAPI will pick up sourceId's based on the following criteria :

  • If user provides sourceModeInfo then we are trying to assign 0th sourceId always to GDIPrimary. This is needed since active windows always moves along with 0th sourceId.
  • For rest of the paths, we are incrementally assigning the sourceId per adapter basis.
  • If user doesn't provide sourceModeInfo then NVAPI just picks up some default sourceId's in incremental order. Note : NVAPI will not intelligently choose the sourceIDs for any configs that does not need a modeset.

SUPPORTED OS: Windows 7 and higher

Parameters
[in]pathInfoCountNumber of supplied elements in pathInfo
[in]pathInfoArray of path information
[in]flagsFlags for applying settings
Return values
NVAPI_OK- completed request
NVAPI_API_NOT_INTIALIZED- NVAPI not initialized
NVAPI_ERROR- miscellaneous error occurred
NVAPI_INVALID_ARGUMENT- Invalid input parameter.
NVAPI_INTERFACE NvAPI_DISP_TryCustomDisplay ( __in_ecount(count) NvU32 pDisplayIds,
__in NvU32  count,
__in_ecount(count) NV_CUSTOM_DISPLAY pCustDisp 
)

DESCRIPTION: This API is used to set up a custom display without saving the configuration on multiple displays.

Note
All the members of srcPartition, present in NV_CUSTOM_DISPLAY structure, should have their range in (0.0,1.0). In clone mode the timings can applied to both the target monitors but only one target at a time.
For the secondary target the applied timings works under the following conditions:
  • If the secondary monitor EDID supports the selected timing, OR
  • If the selected custom timings can be scaled by the secondary monitor for the selected source resolution on the primary, OR
  • If the selected custom timings matches the existing source resolution on the primary. Setting up a custom display on non-active but connected monitors is supported only for Win7 and above.

SUPPORTED OS: Windows 7 and higher

Since
Release: 313
Parameters
[in]pDisplayIdsArray of the target display Dispaly IDs - See NvAPI Handles.
[in]countTotal number of the incoming Display IDs and corresponding NV_CUSTOM_DISPLAY structure. This is for the multi-head support.
[in]pCustDispPointer to the NV_CUSTOM_DISPLAY structure array.
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_DISPLAY_IDCustom Timing is not supported on the Display, whose display id is passed
NVAPI_INTERFACE NvAPI_EnableHWCursor ( NvDisplayHandle  hNvDisplay)

This function enables hardware cursor support

SUPPORTED OS: Windows XP

Since
Release: 80
Returns
NVAPI_ERROR or NVAPI_OK
NVAPI_INTERFACE NvAPI_GetAssociatedDisplayOutputId ( NvDisplayHandle  hNvDisplay,
NvU32 pOutputId 
)

This function gets the active outputId associated with the display handle.

SUPPORTED OS: Windows 7 and higher

Since
Release: 90
Parameters
[in]hNvDisplayNVIDIA Display selection. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle().
[out]outputIdThe active display output ID associated with the selected display handle hNvDisplay. The outputid will have only one bit set. In the case of Clone or Span mode, this will indicate the display outputId of the primary display that the GPU is driving. See NvAPI Handles.
Return values
NVAPI_OKCall successful.
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU driving a display was found.
NVAPI_EXPECTED_DISPLAY_HANDLEhNvDisplay is not a valid display handle.
NVAPI_INTERFACE NvAPI_GetAssociatedNvidiaDisplayName ( NvDisplayHandle  NvDispHandle,
NvAPI_ShortString  szDisplayName 
)

For a given NVIDIA display handle, this function returns a string (such as "\\.\DISPLAY1") to identify the display.

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Return values
NVAPI_INVALID_ARGUMENTEither argument is NULL
NVAPI_OK*pNvDispHandle is now valid
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA device maps to that display name
NvAPI_GetDisplayPortInfo ( __in_opt NvDisplayHandle  hNvDisplay,
__in NvU32  outputId,
__inout NV_DISPLAY_PORT_INFO pInfo 
)

DESCRIPTION: This function returns the current DisplayPort-related information on the specified device (monitor).

SUPPORTED OS: Windows 7 and higher

Since
Release: 165
Parameters
[in]hvDisplayNVIDIA Display selection. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle(). This parameter is ignored when the outputId is a NvAPI displayId.
[in]outputIdThis can either be the connection bit mask or the NvAPI displayId. When the legacy connection bit mask is passed, it should have exactly 1 bit set to indicate a single display. If it's "0" then the default outputId from NvAPI_GetAssociatedDisplayOutputId() will be used. See NvAPI Handles.
[out]pInfoThe DisplayPort information
Return values
NVAPI_OKCompleted request
NVAPI_ERRORMiscellaneous error occurred
NVAPI_INVALID_ARGUMENTInvalid input parameter.
NvAPI_GetHDMISupportInfo ( __in_opt NvDisplayHandle  hNvDisplay,
__in NvU32  outputId,
__inout NV_HDMI_SUPPORT_INFO pInfo 
)

SUPPORTED OS: Windows 7 and higher This API returns the current infoframe data on the specified device(monitor).

Since
Release: 95
Parameters
[in]hvDisplayNVIDIA Display selection. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle(). This parameter is ignored when the outputId is a NvAPI displayId.
[in]outputIdThis can either be the connection bit mask or the NvAPI displayId. When the legacy connection bit mask is passed, it should have exactly 1 bit set to indicate a single display. If it's "0" then the default outputId from NvAPI_GetAssociatedDisplayOutputId() will be used. See NvAPI Handles.
[out]pInfoThe monitor and GPU's HDMI support info
Return values
NVAPI_OKCompleted request
NVAPI_ERRORMiscellaneous error occurred
NVAPI_INVALID_ARGUMENTInvalid input parameter.
NVAPI_INTERFACE NvAPI_GetSupportedViews ( NvDisplayHandle  hNvDisplay,
NV_TARGET_VIEW_MODE pTargetViews,
NvU32 pViewCount 
)

This API lets caller enumerate all the supported NVIDIA display views - nView and Dualview modes.

SUPPORTED OS: Windows 7 and higher

Since
Release: 85
Parameters
[in]hNvDisplayNVIDIA Display selection. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle().
[out]pTargetViewsArray of supported views. Can be NULL to retrieve the pViewCount first.
[in,out]pViewCountCount of supported views.
Return values
NVAPI_OKCompleted request
NVAPI_ERRORMiscellaneous error occurred
NVAPI_INVALID_ARGUMENTInvalid input parameter.
NVAPI_INTERFACE NvAPI_GetUnAttachedAssociatedDisplayName ( NvUnAttachedDisplayHandle  hNvUnAttachedDisp,
NvAPI_ShortString  szDisplayName 
)

This function returns the display name given, for example, "\\DISPLAY1", using the unattached NVIDIA display handle

SUPPORTED OS: Windows 7 and higher

Since
Release: 95
Return values
NVAPI_INVALID_ARGUMENTEither argument is NULL
NVAPI_OK*pNvDispHandle is now valid
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA device maps to that display name
NVAPI_INTERFACE NvAPI_GetVBlankCounter ( NvDisplayHandle  hNvDisplay,
NvU32 pCounter 
)

This function gets the V-blank counter

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Returns
NVAPI_ERROR or NVAPI_OK
NvAPI_SetDisplayPort ( NvDisplayHandle  hNvDisplay,
NvU32  outputId,
NV_DISPLAY_PORT_CONFIG pCfg 
)

DESCRIPTION: This function sets up DisplayPort-related configurations.

SUPPORTED OS: Windows 7 and higher

Since
Release: 165
Parameters
[in]hNvDisplayNVIDIA display handle. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle().
[in]outputIdThis display output ID, when it's "0" it means the default outputId generated from the return of NvAPI_GetAssociatedDisplayOutputId(). See NvAPI Handles.
[in]pCfgThe display port config structure. If pCfg is NULL, it means to use the driver's default value to setup.
Return values
NVAPI_OKCompleted request
NVAPI_ERRORMiscellaneous error occurred
NVAPI_INVALID_ARGUMENTInvalid input parameter
NVAPI_INTERFACE NvAPI_SetRefreshRateOverride ( NvDisplayHandle  hNvDisplay,
NvU32  outputsMask,
float  refreshRate,
NvU32  bSetDeferred 
)

This function overrides the refresh rate on the given display/outputsMask. The new refresh rate can be applied right away in this API call or deferred to be applied with the next OS modeset. The override is good for only one modeset (regardless whether it's deferred or immediate).

SUPPORTED OS: Windows XP

Since
Release: 80
Parameters
[in]hNvDisplayThe NVIDIA display handle. It can be NVAPI_DEFAULT_HANDLE or a handle enumerated from NvAPI_EnumNVidiaDisplayHandle().
[in]outputsMaskA set of bits that identify all target outputs which are associated with the NVIDIA display handle to apply the refresh rate override. When SLI is enabled, the outputsMask only applies to the GPU that is driving the display output.
[in]refreshRateThe override value. "0.0" means cancel the override.
[in]bSetDeferred
  • "0": Apply the refresh rate override immediately in this API call.
  • "1": Apply refresh rate at the next OS modeset.
Return values
NVAPI_INVALID_ARGUMENThNvDisplay or outputsMask is invalid
NVAPI_OKThe refresh rate override is correct set
NVAPI_ERRORThe operation failed


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

NVIDIA