NVAPI Reference Documentation
NVIDIA
Release 435: August 22
2019

OpenGL APIs

Typedefs

typedef void(* NVAPI_OGLEXPERT_CALLBACK) (unsigned int categoryId, unsigned int messageId, unsigned int detailLevel, int objectId, const char *messageStr)
 

Functions

NVAPI_INTERFACE NvAPI_OGL_ExpertModeSet (NvU32 expertDetailLevel, NvU32 expertReportMask, NvU32 expertOutputMask, NVAPI_OGLEXPERT_CALLBACK expertCallback)
 
NVAPI_INTERFACE NvAPI_OGL_ExpertModeGet (NvU32 *pExpertDetailLevel, NvU32 *pExpertReportMask, NvU32 *pExpertOutputMask, NVAPI_OGLEXPERT_CALLBACK *pExpertCallback)
 

NvAPI_OGL_ExpertModeSet[Get] Functions

#define NVAPI_OGLEXPERT_DETAIL_NONE   0x00000000
 
#define NVAPI_OGLEXPERT_DETAIL_ERROR   0x00000001
 
#define NVAPI_OGLEXPERT_DETAIL_SWFALLBACK   0x00000002
 
#define NVAPI_OGLEXPERT_DETAIL_BASIC_INFO   0x00000004
 
#define NVAPI_OGLEXPERT_DETAIL_DETAILED_INFO   0x00000008
 
#define NVAPI_OGLEXPERT_DETAIL_PERFORMANCE_WARNING   0x00000010
 
#define NVAPI_OGLEXPERT_DETAIL_QUALITY_WARNING   0x00000020
 
#define NVAPI_OGLEXPERT_DETAIL_USAGE_WARNING   0x00000040
 
#define NVAPI_OGLEXPERT_DETAIL_ALL   0xFFFFFFFF
 
#define NVAPI_OGLEXPERT_REPORT_NONE   0x00000000
 
#define NVAPI_OGLEXPERT_REPORT_ERROR   0x00000001
 
#define NVAPI_OGLEXPERT_REPORT_SWFALLBACK   0x00000002
 
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_VERTEX   0x00000004
 
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_GEOMETRY   0x00000008
 
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_XFB   0x00000010
 
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_RASTER   0x00000020
 
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_FRAGMENT   0x00000040
 
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_ROP   0x00000080
 
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_FRAMEBUFFER   0x00000100
 
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_PIXEL   0x00000200
 
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_TEXTURE   0x00000400
 
#define NVAPI_OGLEXPERT_REPORT_OBJECT_BUFFEROBJECT   0x00000800
 
#define NVAPI_OGLEXPERT_REPORT_OBJECT_TEXTURE   0x00001000
 
#define NVAPI_OGLEXPERT_REPORT_OBJECT_PROGRAM   0x00002000
 
#define NVAPI_OGLEXPERT_REPORT_OBJECT_FBO   0x00004000
 
#define NVAPI_OGLEXPERT_REPORT_FEATURE_SLI   0x00008000
 
#define NVAPI_OGLEXPERT_REPORT_ALL   0xFFFFFFFF
 
#define NVAPI_OGLEXPERT_OUTPUT_TO_NONE   0x00000000
 
#define NVAPI_OGLEXPERT_OUTPUT_TO_CONSOLE   0x00000001
 
#define NVAPI_OGLEXPERT_OUTPUT_TO_DEBUGGER   0x00000004
 
#define NVAPI_OGLEXPERT_OUTPUT_TO_CALLBACK   0x00000008
 
#define NVAPI_OGLEXPERT_OUTPUT_TO_ALL   0xFFFFFFFF
 

NvAPI_OGL_ExpertModeDefaultsSet[Get] Functions

NVAPI_INTERFACE NvAPI_OGL_ExpertModeDefaultsSet (NvU32 expertDetailLevel, NvU32 expertReportMask, NvU32 expertOutputMask)
 
NVAPI_INTERFACE NvAPI_OGL_ExpertModeDefaultsGet (NvU32 *pExpertDetailLevel, NvU32 *pExpertReportMask, NvU32 *pExpertOutputMask)
 

Detailed Description

The OpenGL APIs configure OpenGL Expert Mode, an API usage feedback and advice reporting mechanism.

This function configures OpenGL Expert Mode, an API usage feedback and advice reporting mechanism. The effects of this call are applied only to the current context, and are reset to the defaults when the context is destroyed.

Note
This feature is valid at runtime only when GLExpert functionality has been built into the OpenGL driver installed on the system. All Windows Vista OpenGL drivers provided by NVIDIA have this instrumentation included by default. Windows XP, however, requires a special display driver available with the NVIDIA PerfSDK found at developer.nvidia.com.
These functions are valid only for the current OpenGL context. Calling these functions prior to creating a context and calling MakeCurrent with it will result in errors and undefined behavior.

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Parameters
expertDetailMaskMask made up of NVAPI_OGLEXPERT_DETAIL bits, this parameter specifies the detail level in the feedback stream.
expertReportMaskMask made up of NVAPI_OGLEXPERT_REPORT bits, this parameter specifies the areas of functional interest.
expertOutputMaskMask made up of NVAPI_OGLEXPERT_OUTPUT bits, this parameter specifies the feedback output location.
expertCallbackUsed in conjunction with OUTPUT_TO_CALLBACK, this is a simple callback function the user may use to obtain the feedback stream. The function will be called once per fully qualified feedback stream extry.
Return values
NVAPI_API_NOT_INTIALIZEDNVAPI not initialized
NVAPI_NVIDIA_DEVICE_NOT_FOUNDNo NVIDIA GPU found
NVAPI_OPENGL_CONTEXT_NOT_CURRENTNo NVIDIA OpenGL context which supports GLExpert has been made current
NVAPI_ERROROpenGL driver failed to load properly
NVAPI_OKSuccess

SUPPORTED OS: Windows 7 and higher

Macro Definition Documentation

#define NVAPI_OGLEXPERT_DETAIL_ALL   0xFFFFFFFF
#define NVAPI_OGLEXPERT_DETAIL_BASIC_INFO   0x00000004
#define NVAPI_OGLEXPERT_DETAIL_DETAILED_INFO   0x00000008
#define NVAPI_OGLEXPERT_DETAIL_ERROR   0x00000001
#define NVAPI_OGLEXPERT_DETAIL_NONE   0x00000000
#define NVAPI_OGLEXPERT_DETAIL_PERFORMANCE_WARNING   0x00000010
#define NVAPI_OGLEXPERT_DETAIL_QUALITY_WARNING   0x00000020
#define NVAPI_OGLEXPERT_DETAIL_SWFALLBACK   0x00000002
#define NVAPI_OGLEXPERT_DETAIL_USAGE_WARNING   0x00000040
#define NVAPI_OGLEXPERT_OUTPUT_TO_ALL   0xFFFFFFFF
#define NVAPI_OGLEXPERT_OUTPUT_TO_CALLBACK   0x00000008
#define NVAPI_OGLEXPERT_OUTPUT_TO_CONSOLE   0x00000001
#define NVAPI_OGLEXPERT_OUTPUT_TO_DEBUGGER   0x00000004
#define NVAPI_OGLEXPERT_OUTPUT_TO_NONE   0x00000000
#define NVAPI_OGLEXPERT_REPORT_ALL   0xFFFFFFFF
#define NVAPI_OGLEXPERT_REPORT_ERROR   0x00000001
#define NVAPI_OGLEXPERT_REPORT_FEATURE_SLI   0x00008000
#define NVAPI_OGLEXPERT_REPORT_NONE   0x00000000
#define NVAPI_OGLEXPERT_REPORT_OBJECT_BUFFEROBJECT   0x00000800
#define NVAPI_OGLEXPERT_REPORT_OBJECT_FBO   0x00004000
#define NVAPI_OGLEXPERT_REPORT_OBJECT_PROGRAM   0x00002000
#define NVAPI_OGLEXPERT_REPORT_OBJECT_TEXTURE   0x00001000
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_FRAGMENT   0x00000040
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_FRAMEBUFFER   0x00000100
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_GEOMETRY   0x00000008
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_PIXEL   0x00000200
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_RASTER   0x00000020
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_ROP   0x00000080
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_TEXTURE   0x00000400
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_VERTEX   0x00000004
#define NVAPI_OGLEXPERT_REPORT_PIPELINE_XFB   0x00000010
#define NVAPI_OGLEXPERT_REPORT_SWFALLBACK   0x00000002

Typedef Documentation

typedef void(* NVAPI_OGLEXPERT_CALLBACK) (unsigned int categoryId, unsigned int messageId, unsigned int detailLevel, int objectId, const char *messageStr)

DESCRIPTION: Used in conjunction with OUTPUT_TO_CALLBACK, this is a simple callback function the user may use to obtain the feedback stream. The function will be called once per fully qualified feedback stream entry.

Parameters
categoryIdContains the bit from the NVAPI_OGLEXPERT_REPORT mask that corresponds to the current message
messageIdUnique ID for the current message
detailLevelContains the bit from the NVAPI_OGLEXPERT_DETAIL mask that corresponds to the current message
objectIdUnique ID of the object that corresponds to the current message
messageStrText string from the current message

Function Documentation

NVAPI_INTERFACE NvAPI_OGL_ExpertModeDefaultsGet ( NvU32 pExpertDetailLevel,
NvU32 pExpertReportMask,
NvU32 pExpertOutputMask 
)

This function configures OpenGL Expert Mode global defaults. These settings apply to any OpenGL application which starts up after these values are applied (i.e. these settings do not apply to currently running applications).

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Parameters
expertDetailLevelValue which specifies the detail level in the feedback stream. This is a mask made up of NVAPI_OGLEXPERT_LEVEL bits.
expertReportMaskMask made up of NVAPI_OGLEXPERT_REPORT bits, this parameter specifies the areas of functional interest.
expertOutputMaskMask made up of NVAPI_OGLEXPERT_OUTPUT bits, this parameter specifies the feedback output location. Note that using OUTPUT_TO_CALLBACK here is meaningless and has no effect, but using it will not cause an error.
Returns
NVAPI_ERROR or NVAPI_OK SUPPORTED OS: Windows 7 and higher
NVAPI_INTERFACE NvAPI_OGL_ExpertModeDefaultsSet ( NvU32  expertDetailLevel,
NvU32  expertReportMask,
NvU32  expertOutputMask 
)

This function configures OpenGL Expert Mode global defaults. These settings apply to any OpenGL application which starts up after these values are applied (i.e. these settings do not apply to currently running applications).

SUPPORTED OS: Windows 7 and higher

Since
Release: 80
Parameters
expertDetailLevelValue which specifies the detail level in the feedback stream. This is a mask made up of NVAPI_OGLEXPERT_LEVEL bits.
expertReportMaskMask made up of NVAPI_OGLEXPERT_REPORT bits, this parameter specifies the areas of functional interest.
expertOutputMaskMask made up of NVAPI_OGLEXPERT_OUTPUT bits, this parameter specifies the feedback output location. Note that using OUTPUT_TO_CALLBACK here is meaningless and has no effect, but using it will not cause an error.
Returns
NVAPI_ERROR or NVAPI_OK SUPPORTED OS: Windows 7 and higher
NVAPI_INTERFACE NvAPI_OGL_ExpertModeGet ( NvU32 pExpertDetailLevel,
NvU32 pExpertReportMask,
NvU32 pExpertOutputMask,
NVAPI_OGLEXPERT_CALLBACK pExpertCallback 
)
NVAPI_INTERFACE NvAPI_OGL_ExpertModeSet ( NvU32  expertDetailLevel,
NvU32  expertReportMask,
NvU32  expertOutputMask,
NVAPI_OGLEXPERT_CALLBACK  expertCallback 
)

SUPPORTED OS: Windows 7 and higher



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

NVIDIA