![]() |
NVAPI Reference Documentation
|
Release 440: November 15
|
Functions | |
| NVAPI_INTERFACE | NvAPI_D3D9_RegisterResource (IDirect3DResource9 *pResource) |
| NVAPI_INTERFACE | NvAPI_D3D9_UnregisterResource (IDirect3DResource9 *pResource) |
| NVAPI_INTERFACE | NvAPI_D3D9_AliasSurfaceAsTexture (IDirect3DDevice9 *pDev, IDirect3DSurface9 *pSurface, IDirect3DTexture9 **ppTexture, DWORD dwFlag) |
| NVAPI_INTERFACE | NvAPI_D3D9_StretchRectEx (IDirect3DDevice9 *pDevice, IDirect3DResource9 *pSourceResource, CONST RECT *pSourceRect, IDirect3DResource9 *pDestResource, CONST RECT *pDestRect, D3DTEXTUREFILTERTYPE Filter) |
| NVAPI_INTERFACE | NvAPI_D3D9_ClearRT (IDirect3DDevice9 *pDevice, NvU32 dwNumRects, CONST RECT *pRects, float r, float g, float b, float a) |
| NVAPI_INTERFACE | NvAPI_D3D9_GetSurfaceHandle (IDirect3DSurface9 *pSurface, NVDX_ObjectHandle *pHandle) |
| NVAPI_INTERFACE | NvAPI_D3D10_SetDepthBoundsTest (ID3D10Device *pDev, NvU32 bEnable, float fMinDepth, float fMaxDepth) |
| NVAPI_INTERFACE | NvAPI_D3D11_IsNvShaderExtnOpCodeSupported (__in IUnknown *pDev, __in NvU32 opCode, __out bool *pSupported) |
| NVAPI_INTERFACE | NvAPI_D3D11_SetNvShaderExtnSlot (__in IUnknown *pDev, __in NvU32 uavSlot) |
| NVAPI_INTERFACE | NvAPI_D3D12_SetNvShaderExtnSlotSpace (__in IUnknown *pDev, __in NvU32 uavSlot, __in NvU32 uavSpace) |
| NVAPI_INTERFACE | NvAPI_D3D12_SetNvShaderExtnSlotSpaceLocalThread (__in IUnknown *pDev, __in NvU32 uavSlot, __in NvU32 uavSpace) |
| NVAPI_INTERFACE | NvAPI_D3D11_SetNvShaderExtnSlotLocalThread (__in IUnknown *pDev, __in NvU32 uavSlot) |
| NVAPI_INTERFACE | NvAPI_D3D11_BeginUAVOverlapEx (__in IUnknown *pDeviceOrContext, __in NvU32 insertWFIFlags) |
| NVAPI_INTERFACE | NvAPI_D3D11_BeginUAVOverlap (__in IUnknown *pDeviceOrContext) |
| NVAPI_INTERFACE | NvAPI_D3D11_EndUAVOverlap (__in IUnknown *pDeviceOrContext) |
| NVAPI_INTERFACE | NvAPI_D3D_SetFPSIndicatorState (IUnknown *pDev, NvU8 doEnable) |
| NVAPI_INTERFACE | NvAPI_D3D9_Present (IDirect3DDevice9 *pDevice, IDirect3DSwapChain9 *pSwapChain, const RECT *pSourceRect, const RECT *pDestRect, HWND hDestWindowOverride, const RGNDATA *pDirtyRegion) |
| NVAPI_INTERFACE | NvAPI_D3D9_QueryFrameCount (IDirect3DDevice9 *pDevice, NvU32 *pFrameCount) |
| NVAPI_INTERFACE | NvAPI_D3D9_ResetFrameCount (IDirect3DDevice9 *pDevice) |
| NVAPI_INTERFACE | NvAPI_D3D9_QueryMaxSwapGroup (IDirect3DDevice9 *pDevice, NvU32 *pMaxGroups, NvU32 *pMaxBarriers) |
| NVAPI_INTERFACE | NvAPI_D3D9_QuerySwapGroup (IDirect3DDevice9 *pDevice, IDirect3DSwapChain9 *pSwapChain, NvU32 *pSwapGroup, NvU32 *pSwapBarrier) |
| NVAPI_INTERFACE | NvAPI_D3D9_JoinSwapGroup (IDirect3DDevice9 *pDevice, IDirect3DSwapChain9 *pSwapChain, NvU32 group, BOOL blocking) |
| NVAPI_INTERFACE | NvAPI_D3D9_BindSwapBarrier (IDirect3DDevice9 *pDevice, NvU32 group, NvU32 barrier) |
| NVAPI_INTERFACE | NvAPI_D3D1x_Present (IUnknown *pDevice, IDXGISwapChain *pSwapChain, UINT SyncInterval, UINT Flags) |
| NVAPI_INTERFACE | NvAPI_D3D1x_QueryFrameCount (IUnknown *pDevice, NvU32 *pFrameCount) |
| NVAPI_INTERFACE | NvAPI_D3D1x_ResetFrameCount (IUnknown *pDevice) |
| NVAPI_INTERFACE | NvAPI_D3D1x_QueryMaxSwapGroup (IUnknown *pDevice, NvU32 *pMaxGroups, NvU32 *pMaxBarriers) |
| NVAPI_INTERFACE | NvAPI_D3D1x_QuerySwapGroup (IUnknown *pDevice, IDXGISwapChain *pSwapChain, NvU32 *pSwapGroup, NvU32 *pSwapBarrier) |
| NVAPI_INTERFACE | NvAPI_D3D1x_JoinSwapGroup (IUnknown *pDevice, IDXGISwapChain *pSwapChain, NvU32 group, BOOL blocking) |
| NVAPI_INTERFACE | NvAPI_D3D1x_BindSwapBarrier (IUnknown *pDevice, NvU32 group, NvU32 barrier) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateRasterizerState (__in ID3D11Device *pDevice, __in const NvAPI_D3D11_RASTERIZER_DESC_EX *pRasterizerDesc, __out ID3D11RasterizerState **ppRasterizerState) |
| NVAPI_INTERFACE | NvAPI_D3D_ConfigureAnsel (__in IUnknown *pDevice, __in NVAPI_ANSEL_CONFIGURATION_STRUCT *pNLSConfig) |
| NVAPI_INTERFACE | NvAPI_D3D11_CheckFeatureSupport (__in ID3D11Device *pDevice, __in NV_D3D11_FEATURE Feature, __out void *pFeatureSupportData, __in UINT FeatureSupportDataSize) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateImplicitMSAATexture2D (__in ID3D11Device *pDevice, __in const D3D11_TEXTURE2D_DESC *pDesc, __out ID3D11Texture2D **ppTexture2D) |
| NVAPI_INTERFACE | NvAPI_D3D12_CreateCommittedImplicitMSAATexture2D (__in ID3D12Device *pDevice, __in const D3D12_HEAP_PROPERTIES *pHeapProperties, D3D12_HEAP_FLAGS HeapFlags, __in const D3D12_RESOURCE_DESC *pDesc, D3D12_RESOURCE_STATES InitialResourceState, __in_opt const D3D12_CLEAR_VALUE *pOptimizedClearValue, REFIID riidResource, __out void **ppvResource) |
| NVAPI_INTERFACE | NvAPI_D3D11_ResolveSubresourceRegion (__in ID3D11Device *pDevice, __in ID3D11Texture2D *pDstResource, __in UINT DstSubresource, __in UINT DstX, __in UINT DstY, __in ID3D11Texture2D *pSrcResource, __in UINT SrcSubresource, __in_opt const RECT *pSrcRect, __in DXGI_FORMAT Format, __in NV_RESOLVE_MODE ResolveMode) |
| NVAPI_INTERFACE | NvAPI_D3D12_ResolveSubresourceRegion (__in ID3D12GraphicsCommandList1 *pCommandList, __in ID3D12Resource *pDstResource, __in UINT DstSubresource, __in UINT DstX, __in UINT DstY, __in ID3D12Resource *pSrcResource, __in UINT SrcSubresource, __in_opt RECT *pSrcRect, __in DXGI_FORMAT Format, __in NV_RESOLVE_MODE ResolveMode) |
| NVAPI_INTERFACE | NvAPI_D3D11_AliasMSAATexture2DAsNonMSAA (__in ID3D11Device *pDevice, __in ID3D11Texture2D *pInputTex, __out ID3D11Texture2D **ppOutTex) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateGeometryShaderEx_2 (__in ID3D11Device *pDevice, __in const void *pShaderBytecode, __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage, __in const NvAPI_D3D11_CREATE_GEOMETRY_SHADER_EX *pCreateGeometryShaderExArgs, __out ID3D11GeometryShader **ppGeometryShader) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateVertexShaderEx (__in ID3D11Device *pDevice, __in const void *pShaderBytecode, __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage, __in const NvAPI_D3D11_CREATE_VERTEX_SHADER_EX *pCreateVertexShaderExArgs, __out ID3D11VertexShader **ppVertexShader) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateDomainShaderEx (__in ID3D11Device *pDevice, __in const void *pShaderBytecode, __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage, __in const NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX *pCreateDomainShaderExArgs, __out ID3D11DomainShader **ppDomainShader) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateFastGeometryShaderExplicit (__in ID3D11Device *pDevice, __in const void *pShaderBytecode, __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage, __in const NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC *pCreateFastGSArgs, __out ID3D11GeometryShader **ppGeometryShader) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateFastGeometryShader (__in ID3D11Device *pDevice, __in const void *pShaderBytecode, __in SIZE_T BytecodeLength, __in_opt ID3D11ClassLinkage *pClassLinkage, __out ID3D11GeometryShader **ppGeometryShader) |
| NVAPI_INTERFACE | NvAPI_D3D11_DecompressView (__in ID3D11Device *pDevice, __in ID3D11DeviceContext *pDeviceContext, __in ID3D11View *pView) |
| NVAPI_INTERFACE | NvAPI_D3D12_CreateGraphicsPipelineState (__in ID3D12Device *pDevice, __in const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pPSODesc, NvU32 numExtensions, __in const NVAPI_D3D12_PSO_EXTENSION_DESC **ppExtensions, __out ID3D12PipelineState **ppPSO) |
| NVAPI_INTERFACE | NvAPI_D3D12_CreateComputePipelineState (__in ID3D12Device *pDevice, __in const D3D12_COMPUTE_PIPELINE_STATE_DESC *pPSODesc, NvU32 numExtensions, __in const NVAPI_D3D12_PSO_EXTENSION_DESC **ppExtensions, __out ID3D12PipelineState **ppPSO) |
| NVAPI_INTERFACE | NvAPI_D3D12_SetDepthBoundsTestValues (__in ID3D12GraphicsCommandList *pCommandList, __in const float minDepth, __in const float maxDepth) |
| NVAPI_INTERFACE | NvAPI_D3D12_CreateReservedResource (__in ID3D12Device *pDevice, __in const D3D12_RESOURCE_DESC *pDesc, __in D3D12_RESOURCE_STATES InitialState, __in const D3D12_CLEAR_VALUE *pOptimizedClearValue, __in REFIID riid, __out void **ppvResource, __in bool bTexture2DArrayMipPack, __in ID3D12Heap *pHeap) |
| NVAPI_INTERFACE | NvAPI_D3D12_CreateHeap (__in ID3D12Device *pDevice, __in const D3D12_HEAP_DESC *pDesc, __in REFIID riid, __out void **ppvHeap) |
| NVAPI_INTERFACE | NvAPI_D3D12_ReservedResourceGetDesc (__in ID3D12Resource *pReservedResource, __out D3D12_RESOURCE_DESC *pDesc) |
| NVAPI_INTERFACE | NvAPI_D3D12_UpdateTileMappings (__in ID3D12CommandQueue *pCommandQueue, __in ID3D12Resource *pResource, __in UINT NumResourceRegions, __in const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates, __in const D3D12_TILE_REGION_SIZE *pResourceRegionSizes, __in ID3D12Heap *pHeap, __in UINT NumRanges, __in const D3D12_TILE_RANGE_FLAGS *pRangeFlags, __in const UINT *pHeapRangeStartOffsets, __in const UINT *pRangeTileCounts, __in D3D12_TILE_MAPPING_FLAGS Flags) |
| NVAPI_INTERFACE | NvAPI_D3D12_CopyTileMappings (__in ID3D12CommandQueue *pCommandQueue, __in ID3D12Resource *pDstResource, __in const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate, __in ID3D12Resource *pSrcResource, __in const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate, __in const D3D12_TILE_REGION_SIZE *pRegionSize, __in D3D12_TILE_MAPPING_FLAGS Flags) |
| NVAPI_INTERFACE | NvAPI_D3D12_ResourceAliasingBarrier (__in ID3D12GraphicsCommandList *pCommandList, __in UINT NumBarriers, __in const D3D12_RESOURCE_BARRIER *pBarriers) |
| NVAPI_INTERFACE | NvAPI_D3D11_EnumerateMetaCommands (__in ID3D11Device *pDevice, __inout NvU32 *pNumMetaCommands, __out_ecount_opt(*pNumMetaCommands) NVAPI_META_COMMAND_DESC *pDescs) |
| NVAPI_INTERFACE | NvAPI_D3D11_InitializeMetaCommand (__in ID3D11DeviceContext *pDeviceContext, __in ID3D11NvMetaCommand *pMetaCommand, __in_bcount(InitializationParametersDataSize) const void *pInitializationParametersData, __in NvU32 InitializationParametersDataSize) |
| NVAPI_INTERFACE | NvAPI_D3D11_ExecuteMetaCommand (__in ID3D11DeviceContext *pDeviceContext, __in ID3D11NvMetaCommand *pMetaCommand, __in_bcount(ExecutionParametersDataSize) const void *pExecutionParametersData, __in NvU32 ExecutionParametersDataSize) |
| NVAPI_INTERFACE | NvAPI_D3D12_EnumerateMetaCommands (__in ID3D12Device *pDevice, __inout NvU32 *pNumMetaCommands, __out_ecount_opt(*pNumMetaCommands) NVAPI_META_COMMAND_DESC *pDescs) |
| NVAPI_INTERFACE | NvAPI_D3D12_CreateMetaCommand (__in ID3D12Device *pDevice, __in REFGUID CommandId, __in NvU32 NodeMask, __in_bcount(CreationParametersDataSize) const void *pCreationParametersData, __in NvU32 CreationParametersDataSize, __out ID3D12NvMetaCommand **ppMetaCommand) |
| NVAPI_INTERFACE | NvAPI_D3D12_InitializeMetaCommand (__in ID3D12GraphicsCommandList *pCommandlist, __in ID3D12NvMetaCommand *pMetaCommand, __in_bcount(InitializationParametersDataSize) const void *pInitializationParametersData, __in NvU32 InitializationParametersDataSize) |
| NVAPI_INTERFACE | NvAPI_D3D12_ExecuteMetaCommand (__in ID3D12GraphicsCommandList *pCommandlist, __in ID3D12NvMetaCommand *pMetaCommand, __in_bcount(ExecutionParametersDataSize) const void *pExecutionParametersData, __in NvU32 ExecutionParametersDataSize) |
| NVAPI_INTERFACE | NvAPI_D3D12_IsNvShaderExtnOpCodeSupported (__in ID3D12Device *pDevice, __in NvU32 opCode, __out bool *pSupported) |
| NVAPI_INTERFACE | NvAPI_D3D_IsGSyncCapable (__in IUnknown *pDeviceOrContext, __in NVDX_ObjectHandle primarySurface, __out BOOL *pIsGsyncCapable) |
| NVAPI_INTERFACE | NvAPI_D3D_IsGSyncActive (__in IUnknown *pDeviceOrContext, __in NVDX_ObjectHandle primarySurface, __out BOOL *pIsGsyncActive) |
| NVAPI_INTERFACE | NvAPI_D3D1x_DisableShaderDiskCache (IUnknown *pDevice) |
| NVAPI_INTERFACE | NvAPI_D3D11_MultiGPU_GetCaps (__inout PNV_MULTIGPU_CAPS pMultiGPUCaps) |
| NVAPI_INTERFACE | NvAPI_D3D11_MultiGPU_Init (__in bool bEnable) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateMultiGPUDevice (__in ID3D11Device *pDevice, __in ULONG version, __out ULONG *currentVersion, __out ID3D11MultiGPUDevice **ppD3D11MultiGPUDevice, __in UINT maxGpus=ALL_GPUS) |
| NVAPI_INTERFACE | NvAPI_D3D_QuerySinglePassStereoSupport (__in IUnknown *pDevice, __inout NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS *pQuerySinglePassStereoSupportedParams) |
| NVAPI_INTERFACE | NvAPI_D3D_SetSinglePassStereoMode (__in IUnknown *pDevOrContext, __in NvU32 numViews, __in NvU32 renderTargetIndexOffset, __in NvU8 independentViewportMaskEnable) |
| NVAPI_INTERFACE | NvAPI_D3D12_QuerySinglePassStereoSupport (__in ID3D12Device *pDevice, __inout NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS *pQuerySinglePassStereoSupportedParams) |
| NVAPI_INTERFACE | NvAPI_D3D12_SetSinglePassStereoMode (__in ID3D12GraphicsCommandList *pCommandList, __in NvU32 numViews, __in NvU32 renderTargetIndexOffset, __in NvU8 independentViewportMaskEnable) |
| NVAPI_INTERFACE | NvAPI_D3D_QueryMultiViewSupport (__in IUnknown *pDevice, __inout NV_QUERY_MULTIVIEW_SUPPORT_PARAMS *pQueryMultiViewSupportedParams) |
| NVAPI_INTERFACE | NvAPI_D3D_SetMultiViewMode (__in IUnknown *pDevOrContext, __in NV_MULTIVIEW_PARAMS *pMultiViewParams) |
| NVAPI_INTERFACE | NvAPI_D3D_QueryModifiedWSupport (__in IUnknown *pDev, __inout NV_QUERY_MODIFIED_W_SUPPORT_PARAMS *pQueryModifiedWSupportedParams) |
| NVAPI_INTERFACE | NvAPI_D3D_SetModifiedWMode (__in IUnknown *pDevOrContext, __in NV_MODIFIED_W_PARAMS *psModifiedWParams) |
| NVAPI_INTERFACE | NvAPI_D3D12_QueryModifiedWSupport (__in ID3D12Device *pDevice, __inout NV_QUERY_MODIFIED_W_SUPPORT_PARAMS *pQueryModifiedWSupportedParams) |
| NVAPI_INTERFACE | NvAPI_D3D12_SetModifiedWMode (__in ID3D12GraphicsCommandList *pCommandList, __in NV_MODIFIED_W_PARAMS *pModifiedWParams) |
| DECLARE_INTERFACE (ID3DLateLatchObject_V1) | |
| NVAPI_INTERFACE | NvAPI_D3D_CreateLateLatchObject (__in IUnknown *pDevice, __inout NV_D3D_LATELATCH_OBJECT_DESC *pLateLatchObjectDesc) |
| NVAPI_INTERFACE | NvAPI_D3D_QueryLateLatchSupport (__in IUnknown *pDevice, __inout NV_QUERY_LATELATCH_SUPPORT_PARAMS *pQueryLateLatchSupportParams) |
| NVAPI_INTERFACE | NvAPI_D3D_RegisterDevice (__in IUnknown *pDev) |
| NVAPI_INTERFACE | NvAPI_D3D11_MultiDrawInstancedIndirect (__in ID3D11DeviceContext *pDevContext11, __in NvU32 drawCount, __in ID3D11Buffer *pBuffer, __in NvU32 alignedByteOffsetForArgs, __in NvU32 alignedByteStrideForArgs) |
| NVAPI_INTERFACE | NvAPI_D3D11_MultiDrawIndexedInstancedIndirect (__in ID3D11DeviceContext *pDevContext11, __in NvU32 drawCount, __in ID3D11Buffer *pBuffer, __in NvU32 alignedByteOffsetForArgs, __in NvU32 alignedByteStrideForArgs) |
| NVAPI_INTERFACE | NvAPI_D3D_ImplicitSLIControl (__in IMPLICIT_SLI_CONTROL implicitSLIControl) |
| NVAPI_INTERFACE | NvAPI_D3D12_UseDriverHeapPriorities (__in ID3D12Device *pDevice) |
| NVAPI_INTERFACE | NvAPI_D3D12_Mosaic_GetCompanionAllocations (__inout NV_D3D12_MOSAIC_GETCOMPANIONALLOCATIONS *params) |
| NVAPI_INTERFACE | NvAPI_D3D12_Mosaic_GetViewportAndGpuPartitions (__inout NV_D3D12_MOSAIC_GETVIEWPORTANDGPUPARTITIONS *params) |
| NVAPI_INTERFACE | NvAPI_D3D1x_GetGraphicsCapabilities (__in IUnknown *pDevice, __in NvU32 structVersion, __inout NV_D3D1x_GRAPHICS_CAPS *pGraphicsCaps) |
| NVAPI_INTERFACE | NvAPI_D3D11_RSSetExclusiveScissorRects (__in IUnknown *pContext, __in NV_D3D11_EXCLUSIVE_SCISSOR_RECTS_DESC *pExclusiveScissorRectsDesc) |
| NVAPI_INTERFACE | NvAPI_D3D11_RSSetViewportsPixelShadingRates (__in IUnknown *pContext, __in NV_D3D11_VIEWPORTS_SHADING_RATE_DESC *pShadingRateDesc) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateShadingRateResourceView (__in ID3D11Device *pDevice, __in ID3D11Resource *pShadingRateResource, __in NV_D3D11_SHADING_RATE_RESOURCE_VIEW_DESC *pShadingRateResourceViewDesc, __out ID3D11NvShadingRateResourceView **ppShadingRateResourceView) |
| NVAPI_INTERFACE | NvAPI_D3D11_RSSetShadingRateResourceView (__in IUnknown *pContext, __in ID3D11NvShadingRateResourceView *pShadingRateResourceView) |
| NVAPI_INTERFACE | NvAPI_D3D11_RSGetPixelShadingRateSampleOrder (__in IUnknown *pContext, __out NV_PIXEL_SHADING_RATE_SAMPLE_ORDER_TABLE *pSampleOrderTable) |
| NVAPI_INTERFACE | NvAPI_D3D11_RSSetPixelShadingRateSampleOrder (__in IUnknown *pContext, __in NV_PIXEL_SHADING_RATE_SAMPLE_ORDER_TABLE *pSampleOrderTable) |
| NVAPI_INTERFACE | NvAPI_D3D_InitializeVRSHelper (__in IUnknown *pDevice, __inout NV_VRS_HELPER_INIT_PARAMS *pInitializeVRSHelperParams) |
| NVAPI_INTERFACE | NvAPI_D3D_InitializeNvGazeHandler (__in IUnknown *pDevice, __inout NV_GAZE_HANDLER_INIT_PARAMS *pInitializeNvGazeHandlerParams) |
| NVAPI_INTERFACE | NvAPI_D3D_InitializeSMPAssist (__in IUnknown *pDevice, __inout NV_SMP_ASSIST_INITIALIZE_PARAMS *pSMPAssistInitParams) |
| NVAPI_INTERFACE | NvAPI_D3D_QuerySMPAssistSupport (__in IUnknown *pDev, __inout NV_QUERY_SMP_ASSIST_SUPPORT_PARAMS *pQuerySMPAssistSupportParams) |
| NVAPI_INTERFACE | NvAPI_D3D_GetObjectHandleForResource (IUnknown *pDevice, IUnknown *pResource, NVDX_ObjectHandle *pHandle) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateDevice (IDXGIAdapter *pAdapter, D3D_DRIVER_TYPE DriverType, HMODULE Software, UINT Flags, CONST D3D_FEATURE_LEVEL *pFeatureLevels, UINT FeatureLevels, UINT SDKVersion, ID3D11Device **ppDevice, D3D_FEATURE_LEVEL *pFeatureLevel, ID3D11DeviceContext **ppImmediateContext, NVAPI_DEVICE_FEATURE_LEVEL *pSupportedLevel) |
| NVAPI_INTERFACE | NvAPI_D3D11_CreateDeviceAndSwapChain (IDXGIAdapter *pAdapter, D3D_DRIVER_TYPE DriverType, HMODULE Software, UINT Flags, CONST D3D_FEATURE_LEVEL *pFeatureLevels, UINT FeatureLevels, UINT SDKVersion, CONST DXGI_SWAP_CHAIN_DESC *pSwapChainDesc, IDXGISwapChain **ppSwapChain, ID3D11Device **ppDevice, D3D_FEATURE_LEVEL *pFeatureLevel, ID3D11DeviceContext **ppImmediateContext, NVAPI_DEVICE_FEATURE_LEVEL *pSupportedLevel) |
| NVAPI_INTERFACE | NvAPI_D3D11_SetDepthBoundsTest (IUnknown *pDeviceOrContext, NvU32 bEnable, float fMinDepth, float fMaxDepth) |
| NVAPI_INTERFACE | NvAPI_D3D_GetCurrentSLIState (IUnknown *pDevice, NV_GET_CURRENT_SLI_STATE *pSliState) |
| NVAPI_INTERFACE | NvAPI_D3D_SetResourceHint (IUnknown *pDev, NVDX_ObjectHandle obj, NVAPI_D3D_SETRESOURCEHINT_CATEGORY dwHintCategory, NvU32 dwHintName, NvU32 *pdwHintValue) |
| NVAPI_INTERFACE | NvAPI_D3D_BeginResourceRendering (IUnknown *pDeviceOrContext, NVDX_ObjectHandle obj, NvU32 Flags) |
| NVAPI_INTERFACE | NvAPI_D3D_EndResourceRendering (IUnknown *pDeviceOrContext, NVDX_ObjectHandle obj, NvU32 Flags) |
| enum | _NVAPI_ANSEL_FEATURE { NVAPI_ANSEL_FEATURE_UNKNOWN = 0, NVAPI_ANSEL_FEATURE_BLACK_AND_WHITE = 1, NVAPI_ANSEL_FEATURE_HUDLESS = 2 } |
| typedef enum _NVAPI_ANSEL_FEATURE | NVAPI_ANSEL_FEATURE |
| typedef struct NvAPI_D3D11_CREATE_HULL_SHADER_EX_V1 | NvAPI_D3D11_CREATE_HULL_SHADER_EX_V1 |
| typedef ID3D11MultiGPUDevice_V1 | ID3D11MultiGPUDevice |
| DECLARE_INTERFACE (ID3D11MultiGPUDevice_V1) | |
| #define | NVAPI_COPY_ASYNCHRONOUSLY 1 |
| #define | NVAPI_COPY_P2P_READ 2 |
| #define | NVAPI_CPU_RESOURCE 0xffffffff |
| #define | FENCE_SYNCHRONIZATION_START(pMultiGPUDevice, hFence, Value, srcGpu, dstGpu) |
| #define | FENCE_SYNCHRONIZATION_END(pMultiGPUDevice, hFence, Value, srcGpu, dstGpu) |
| #define | NVAPI_PRESENT_COMPOSITING_CONFIG_FLAG_USE_VIDEO_BRIDGE 0x01 |
| #define | NVAPI_PRESENT_COMPOSITING_CONFIG_FLAG_CLEAR_OUTBANDS 0x02 |
| #define | NVAPI_PRESENT_COMPOSITING_CONFIG_FLAG_GET_VIDEO_BRIDGE_STATUS 0x80000000 |
| #define | NVAPI_VIDEO_BRIDGE_STATUS_AVAILABLE 0 |
| #define | NVAPI_VIDEO_BRIDGE_STATUS_NOT_AVAILABLE 1 |
| #define | NVAPI_VIDEO_BRIDGE_STATUS_FAILED_ACCESS 2 |
| #define | NVAPI_VIDEO_BRIDGE_STATUS_UNKNOWN 3 |
| #define | NVAPI_ALL_GPUS 0 |
| #define | ID3D11MultiGPUDevice_VER1 MAKE_NVAPI_VERSION(ID3D11MultiGPUDevice_V1, 1) |
| #define | ID3D11MultiGPUDevice_VER2 MAKE_NVAPI_VERSION(ID3D11MultiGPUDevice_V1, 2) |
| #define | ID3D11MultiGPUDevice_VER3 MAKE_NVAPI_VERSION(ID3D11MultiGPUDevice_V1, 3) |
| #define | ID3D11MultiGPUDevice_VER ID3D11MultiGPUDevice_VER3 |
| #define | ALL_GPUS 0 |
| typedef struct _NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS_V1 | NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS_V1 |
| enum | _NV_GAZE_DATA_VALIDITY_FLAGS { NV_GAZE_ORIGIN_VALID = 0x1, NV_GAZE_DIRECTION_VALID = 0x2, NV_GAZE_LOCATION_VALID = 0x4, NV_GAZE_VELOCITY_VALID = 0x8, NV_GAZE_PUPIL_DIAMETER_VALID = 0x10, NV_GAZE_EYE_OPENNESS_VALID = 0x20, NV_GAZE_EYE_SACCADE_DATA_VALID = 0x40 } |
| typedef enum _NV_GAZE_DATA_VALIDITY_FLAGS | NV_GAZE_DATA_VALIDITY_FLAGS |
| enum | NV_SMP_ASSIST_TYPE { NV_SMP_ASSIST_NONE = 0, NV_SMP_ASSIST_MRS = 1, NV_SMP_ASSIST_LMS = 2, NV_SMP_ASSIST_NUM_TYPES } |
| typedef enum NV_SMP_ASSIST_TYPE | NV_SMP_ASSIST_TYPE |
| #define ALL_GPUS 0 |
SUPPORTED OS: Windows 7 and higher
| #define FENCE_SYNCHRONIZATION_END | ( | pMultiGPUDevice, | |
| hFence, | |||
| Value, | |||
| srcGpu, | |||
| dstGpu | |||
| ) |
SUPPORTED OS: Windows 7 and higher
| #define FENCE_SYNCHRONIZATION_START | ( | pMultiGPUDevice, | |
| hFence, | |||
| Value, | |||
| srcGpu, | |||
| dstGpu | |||
| ) |
Synchronization macros based on fences.
| #define ID3D11MultiGPUDevice_VER ID3D11MultiGPUDevice_VER3 |
SUPPORTED OS: Windows 7 and higher
| #define ID3D11MultiGPUDevice_VER1 MAKE_NVAPI_VERSION(ID3D11MultiGPUDevice_V1, 1) |
SUPPORTED OS: Windows 7 and higher
| #define ID3D11MultiGPUDevice_VER2 MAKE_NVAPI_VERSION(ID3D11MultiGPUDevice_V1, 2) |
SUPPORTED OS: Windows 7 and higher
| #define ID3D11MultiGPUDevice_VER3 MAKE_NVAPI_VERSION(ID3D11MultiGPUDevice_V1, 3) |
SUPPORTED OS: Windows 7 and higher
| #define NV_ENABLE_DEPTH_BOUND_TEST_PSO_EXTENSION_DESC_VER NV_ENABLE_DEPTH_BOUND_TEST_PSO_EXTENSION_DESC_VER_1 |
| #define NV_ENABLE_DEPTH_BOUND_TEST_PSO_EXTENSION_DESC_VER_1 MAKE_NVAPI_VERSION(NVAPI_D3D12_PSO_ENABLE_DEPTH_BOUND_TEST_DESC_V1, 1) |
| #define NV_FAST_GEOMETRY_SHADER_PSO_EXTENSION_VER NV_FAST_GEOMETRY_SHADER_PSO_EXTENSION_VER_1 |
| #define NV_FAST_GEOMETRY_SHADER_PSO_EXTENSION_VER_1 MAKE_NVAPI_VERSION(NVAPI_D3D12_PSO_REQUEST_FAST_GEOMETRY_SHADER_DESC_V1, 1) |
| #define NV_FASTGS_EXPLICIT_PSO_EXTENSION_VER NV_FASTGS_EXPLICIT_PSO_EXTENSION_VER_1 |
| #define NV_FASTGS_EXPLICIT_PSO_EXTENSION_VER_1 MAKE_NVAPI_VERSION(NVAPI_D3D12_PSO_CREATE_FASTGS_EXPLICIT_DESC_V1, 1) |
| #define NV_GET_CURRENT_SLI_STATE_VER1 MAKE_NVAPI_VERSION(NV_GET_CURRENT_SLI_STATE_V1,1) |
| #define NV_MAX_PIXEL_SHADING_RATES 16 |
See NvAPI_D3D11_RSSetViewportsPixelShadingRates
| #define NV_PSO_EXTENSION_DESC_VER NV_PSO_EXTENSION_DESC_VER_1 |
| #define NV_PSO_EXTENSION_DESC_VER_1 MAKE_NVAPI_VERSION(NVAPI_D3D12_PSO_EXTENSION_DESC_V1, 1) |
| #define NVAPI_ALL_GPUS 0 |
SUPPORTED OS: Windows 7 and higher
| #define NVAPI_COPY_ASYNCHRONOUSLY 1 |
SUPPORTED OS: Windows 7 and higher
| #define NVAPI_COPY_P2P_READ 2 |
SUPPORTED OS: Windows 7 and higher
| #define NVAPI_CPU_RESOURCE 0xffffffff |
SUPPORTED OS: Windows 7 and higher
| #define NVAPI_D3D11_CREATEFASTGSEXPLICIT_VER NVAPI_D3D11_CREATEFASTGSEXPLICIT_VER1 |
| #define NVAPI_D3D11_CREATEFASTGSEXPLICIT_VER1 MAKE_NVAPI_VERSION(NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC_V1, 1) |
| #define NVAPI_PRESENT_COMPOSITING_CONFIG_FLAG_CLEAR_OUTBANDS 0x02 |
SUPPORTED OS: Windows 7 and higher
| #define NVAPI_PRESENT_COMPOSITING_CONFIG_FLAG_GET_VIDEO_BRIDGE_STATUS 0x80000000 |
SUPPORTED OS: Windows 7 and higher
| #define NVAPI_PRESENT_COMPOSITING_CONFIG_FLAG_USE_VIDEO_BRIDGE 0x01 |
PresentCompositingConfig method flags.
| #define NVAPI_VIDEO_BRIDGE_STATUS_AVAILABLE 0 |
SUPPORTED OS: Windows 7 and higher
| #define NVAPI_VIDEO_BRIDGE_STATUS_FAILED_ACCESS 2 |
SUPPORTED OS: Windows 7 and higher
| #define NVAPI_VIDEO_BRIDGE_STATUS_NOT_AVAILABLE 1 |
SUPPORTED OS: Windows 7 and higher
| #define NVAPI_VIDEO_BRIDGE_STATUS_UNKNOWN 3 |
SUPPORTED OS: Windows 7 and higher
| typedef ID3D11MultiGPUDevice_V1 ID3D11MultiGPUDevice |
SUPPORTED OS: Windows 7 and higher
| typedef ID3DLateLatchObject_V1 ID3DLateLatchObject |
See NvAPI_D3D_CreateLateLatchObject
| typedef enum _IMPLICIT_SLI_CONTROL IMPLICIT_SLI_CONTROL |
Enum for compute shader derivative modes
See NvAPI_D3D11_RSSetExclusiveScissorRects
| typedef struct _NV_D3D1x_GRAPHICS_CAPS_V1 NV_D3D1x_GRAPHICS_CAPS_V1 |
See NvAPI_D3D1x_GetGraphicsCapabilities
| typedef enum _NV_GAZE_DATA_VALIDITY_FLAGS NV_GAZE_DATA_VALIDITY_FLAGS |
| typedef struct _NV_MULTIVIEW_PARAMS_V1 NV_MULTIVIEW_PARAMS_V1 |
SUPPORTED OS: Windows 7 and higher
Used for setting the Mode for MultiView HW Feature.
| typedef struct _NV_PIXEL_SRSO_1x2 NV_PIXEL_SRSO_1x2 |
See NvAPI_D3D11_RSGetPixelShadingRateSampleOrder See NvAPI_D3D11_RSSetPixelShadingRateSampleOrder
| typedef enum _NV_PSO_EXTENSION NV_PSO_EXTENSION |
Enum for CreatePSO extensions.
See NvAPI_D3D_QueryLateLatchSupport
SUPPORTED OS: Windows 7 and higher
Used to query the support of Lens Matched Shading HW feature
SUPPORTED OS: Windows 7 and higher
Used to query the support of MultiView HW feature
| typedef struct _NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS_V1 NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS_V1 |
SUPPORTED OS: Windows 7 and higher
Used to query the support of Single Pass Stereo HW feature
SUPPORTED OS: Windows 7 and higher
| typedef enum _NV_RESOLVE_MODE NV_RESOLVE_MODE |
SUPPORTED OS: Windows 10 and higher Valid modes for NvAPI_D3D11_ResolveSubresourceRegion() and NvAPI_D3D12_ResolveSubresourceRegion
| typedef enum NV_SMP_ASSIST_TYPE NV_SMP_ASSIST_TYPE |
SUPPORTED OS: Windows 7 and higher
| typedef enum _NV_SWIZZLE_MODE NV_SWIZZLE_MODE |
| typedef enum _NV_SWIZZLE_OFFSET NV_SWIZZLE_OFFSET |
| typedef enum _NVAPI_ANSEL_FEATURE NVAPI_ANSEL_FEATURE |
SUPPORTED OS: Windows 7 and higher
| typedef enum _NVAPI_D3D11_INSERTWFI_FLAG NVAPI_D3D11_INSERTWFI_FLAG |
| typedef struct NvAPI_D3D11_RASTERIZER_DESC_EX NvAPI_D3D11_RASTERIZER_DESC_EX |
SUPPORTED OS: Windows 7 and higher
| typedef NVAPI_D3D12_PSO_ENABLE_DEPTH_BOUND_TEST_DESC_V1 NVAPI_D3D12_PSO_ENABLE_DEPTH_BOUND_TEST_DESC |
| typedef NVAPI_D3D12_PSO_REQUEST_FAST_GEOMETRY_SHADER_DESC_V1 NVAPI_D3D12_PSO_REQUEST_FAST_GEOMETRY_SHADER_DESC |
Used in NvAPI_D3D_BeginResourceRendering().
Valid categories for NvAPI_D3D_SetResourceHint()
Types of SLI hints;
NVAPI_D3D_SRH_SLI_APP_CONTROLLED_INTERFRAME_CONTENT_SYNC: Valid values : 0 or 1
Default value: 0
Explanation: If the value is 1, the driver will not track any rendering operations that would mark this resource as dirty, avoiding any form of synchronization across frames rendered in parallel in multiple GPUs in AFR mode.
NVAPI_D3D_SRH_SLI_ASK_FOR_BROADCAST_USAGE: Valid values : 0 or 1
Default value: 0
Explanation: If the value is 1, the driver will try to perform operations which involved target resource in broadcast, where it's possible. Hint is static and must be set before resource starts using.
NVAPI_D3D_SRH_SLI_RESPECT_DRIVER_INTERFRAME_CONTENT_SYNC: Valid values : 0 or 1
Default value: 0
Explanation: If the value is 1, the driver will do dirty resource resolve regardless of discard flags in the application profile or AFR-FriendlyD3DHints.exe name using.
Enum for compute shader derivative modes
| enum _NV_PSO_EXTENSION |
Enum for CreatePSO extensions.
| enum _NV_RESOLVE_MODE |
SUPPORTED OS: Windows 10 and higher Valid modes for NvAPI_D3D11_ResolveSubresourceRegion() and NvAPI_D3D12_ResolveSubresourceRegion
| Enumerator | |
|---|---|
| NV_RESOLVE_MODE_SAMPLE_0 | |
| enum _NV_SWIZZLE_MODE |
| enum _NV_SWIZZLE_OFFSET |
| enum _NVAPI_ANSEL_FEATURE |
Used in NvAPI_D3D_BeginResourceRendering().
Valid categories for NvAPI_D3D_SetResourceHint()
| Enumerator | |
|---|---|
| NVAPI_D3D_SRH_CATEGORY_SLI | |
Types of SLI hints;
NVAPI_D3D_SRH_SLI_APP_CONTROLLED_INTERFRAME_CONTENT_SYNC: Valid values : 0 or 1
Default value: 0
Explanation: If the value is 1, the driver will not track any rendering operations that would mark this resource as dirty, avoiding any form of synchronization across frames rendered in parallel in multiple GPUs in AFR mode.
NVAPI_D3D_SRH_SLI_ASK_FOR_BROADCAST_USAGE: Valid values : 0 or 1
Default value: 0
Explanation: If the value is 1, the driver will try to perform operations which involved target resource in broadcast, where it's possible. Hint is static and must be set before resource starts using.
NVAPI_D3D_SRH_SLI_RESPECT_DRIVER_INTERFRAME_CONTENT_SYNC: Valid values : 0 or 1
Default value: 0
Explanation: If the value is 1, the driver will do dirty resource resolve regardless of discard flags in the application profile or AFR-FriendlyD3DHints.exe name using.
| Enumerator | |
|---|---|
| NVAPI_D3D_SRH_SLI_APP_CONTROLLED_INTERFRAME_CONTENT_SYNC | |
| NVAPI_D3D_SRH_SLI_ASK_FOR_BROADCAST_USAGE | |
| NVAPI_D3D_SRH_SLI_RESPECT_DRIVER_INTERFRAME_CONTENT_SYNC | |
| enum NV_SMP_ASSIST_TYPE |
See NvAPI_D3D9_AliasSurfaceAsTexture().
D3D_FEATURE_LEVEL supported - used in NvAPI_D3D11_CreateDevice() and NvAPI_D3D11_CreateDeviceAndSwapChain()
| Enumerator | |
|---|---|
| NVAPI_DEVICE_FEATURE_LEVEL_NULL | |
| NVAPI_DEVICE_FEATURE_LEVEL_10_0 | |
| NVAPI_DEVICE_FEATURE_LEVEL_10_0_PLUS | |
| NVAPI_DEVICE_FEATURE_LEVEL_10_1 | |
| NVAPI_DEVICE_FEATURE_LEVEL_11_0 | |
| enum NVAPI_QUAD_FILLMODE |
| DECLARE_INTERFACE | ( | ID3D11MultiGPUDevice_V1 | ) |
| DECLARE_INTERFACE | ( | ID3DLateLatchObject_V1 | ) |
See NvAPI_D3D_CreateLateLatchObject
Release the created LateLatch object and associated buffers.
Request to queue the latch operation to the GPU.
Get ID3D11Buffer* available at the given 'index'
Returns the number of late latch buffers created for this LateLatchObject.
Fully update all LateLatch buffers with new data.
Partially update one of the LateLatch buffers with new data.
References __in.
| NVAPI_INTERFACE NvAPI_D3D10_SetDepthBoundsTest | ( | ID3D10Device * | pDev, |
| NvU32 | bEnable, | ||
| float | fMinDepth, | ||
| float | fMaxDepth | ||
| ) |
DESCRIPTION: This function enables/disables the depth bounds test.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | The device to set the depth bounds test |
| [in] | bEnable | Enable(non-zero)/disable(zero) the depth bounds test |
| [in] | fMinDepth | The minimum depth for the depth bounds test |
| [in] | fMaxDepth | The maximum depth for the depth bounds test The valid values for fMinDepth and fMaxDepth are such that 0 <= fMinDepth <= fMaxDepth <= 1 |
| NVAPI_INTERFACE NvAPI_D3D11_AliasMSAATexture2DAsNonMSAA | ( | __in ID3D11Device * | pDevice, |
| __in ID3D11Texture2D * | pInputTex, | ||
| __out ID3D11Texture2D ** | ppOutTex | ||
| ) |
SUPPORTED OS: Windows 8 and higherSUPPORTED OS: Windows 8 and higherSUPPORTED OS: Windows 8 and higherSUPPORTED OS: Windows 8 and higherSUPPORTED OS: Windows 7 and higher DESCRIPTION: This function allows creating (aliasing) a non-MSAA Texture2D object using the same memory as the given multi-sampled texture (pInputTex). The surface created would be bloated in width and height but it will have SampleCount = 1 For 2X MSAA: OutTex.Width = InputTex.Width * 2, outTex.Height = InputTex.Height For 4X MSAA: OutTex.Width = InputTex.Width * 2, outTex.Height = InputTex.Height * 2 For 8X MSAA: OutTex.Width = InputTex.Width * 4, outTex.Height = InputTex.Height * 2 Only textures SampleQuality = 0 can be aliased as Non MSAA The app should ensure that original texture is released only after the aliased copy is released.
This function is free-threaded create compatible i.e. it can be called from a different thread than the one calling immediate device setstate functions.
| [in] | pDevice | current d3d device |
| [in] | pInputTex | The MultiSampled Texture2D resource that is being aliased |
| [out] | ppOutTex | The aliased non AA copy MultiSampled Texture2D resource |
| NVAPI_INTERFACE NvAPI_D3D11_BeginUAVOverlap | ( | __in IUnknown * | pDeviceOrContext | ) |
DESCRIPTION: Causes the driver to skip synchronization that is normally needed when accessing UAVs. Applications must use this with caution otherwise this might cause data hazards when multiple draw calls/compute shader launches are accessing same memory locations
SUPPORTED OS: Windows 7 and higher
| [in] | *pDeviceOrContext | pointer to D3D11 device, or D3D11 device context |
DESCRIPTION: Causes the driver to skip synchronization that is normally needed when accessing UAVs. Applications must use this with caution otherwise this might cause data hazards when multiple draw calls/compute shader launches are accessing same memory locations
SUPPORTED OS: Windows 7 and higher
| [in] | *pDeviceOrContext | pointer to D3D11 device, or D3D11 device context |
| [in] | insertWFIFlags | bit fields to indicate which WFI would be inserted (gfx / compute / both). |
RETURN STATUS: 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_D3D11_CheckFeatureSupport | ( | __in ID3D11Device * | pDevice, |
| __in NV_D3D11_FEATURE | Feature, | ||
| __out void * | pFeatureSupportData, | ||
| __in UINT | FeatureSupportDataSize | ||
| ) |
DESCRIPTION: This function gets information about the features that are supported by the current graphics driver.
| [in] | pDevice | The device on which to query for support. |
| [in] | Feature | A member of the NvAPI_D3D11_FEATURE enumerated type that describes which feature to query for suppor. |
| [in] | pFeatureSupportData | Upon completion of the method, the passed structure is filled with data that describes the feature support. |
| [out] | FeatureSupportDataSize | The size of the structure passed to the pFeatureSupportData parameter. |
| NVAPI_INTERFACE NvAPI_D3D11_CreateDevice | ( | IDXGIAdapter * | pAdapter, |
| D3D_DRIVER_TYPE | DriverType, | ||
| HMODULE | Software, | ||
| UINT | Flags, | ||
| CONST D3D_FEATURE_LEVEL * | pFeatureLevels, | ||
| UINT | FeatureLevels, | ||
| UINT | SDKVersion, | ||
| ID3D11Device ** | ppDevice, | ||
| D3D_FEATURE_LEVEL * | pFeatureLevel, | ||
| ID3D11DeviceContext ** | ppImmediateContext, | ||
| NVAPI_DEVICE_FEATURE_LEVEL * | pSupportedLevel | ||
| ) |
DESCRIPTION: This function tries to create a DirectX 11 device. If the call fails (if we are running on pre-DirectX 11 hardware), depending on the type of hardware it will try to create a DirectX 10.1 OR DirectX 10.0+ OR DirectX 10.0 device. The function call is the same as D3D11CreateDevice(), but with an extra argument (D3D_FEATURE_LEVEL supported by the device) that the function fills in. This argument can contain -1 (NVAPI_DEVICE_FEATURE_LEVEL_NULL), if the requested featureLevel is less than DirecX 10.0.
NOTE: When NvAPI_D3D11_CreateDevice is called with 10+ feature level we have an issue on few set of tesla hardware (G80/G84/G86/G92/G94/G96) which does not support all feature level 10+ functionality e.g. calling driver with mismatch between RenderTarget and Depth Buffer. App developers should take into consideration such limitation when using NVAPI on such tesla hardwares. SUPPORTED OS: Windows 7 and higher
| [in] | pAdapter | |
| [in] | DriverType | |
| [in] | Software | |
| [in] | Flags | |
| [in] | *pFeatureLevels | |
| [in] | FeatureLevels | |
| [in] | SDKVersion | |
| [in] | **ppDevice | |
| [in] | *pFeatureLevel | |
| [in] | **ppImmediateContext | |
| [in] | *pSupportedLevel | D3D_FEATURE_LEVEL supported |
| NVAPI_INTERFACE NvAPI_D3D11_CreateDeviceAndSwapChain | ( | IDXGIAdapter * | pAdapter, |
| D3D_DRIVER_TYPE | DriverType, | ||
| HMODULE | Software, | ||
| UINT | Flags, | ||
| CONST D3D_FEATURE_LEVEL * | pFeatureLevels, | ||
| UINT | FeatureLevels, | ||
| UINT | SDKVersion, | ||
| CONST DXGI_SWAP_CHAIN_DESC * | pSwapChainDesc, | ||
| IDXGISwapChain ** | ppSwapChain, | ||
| ID3D11Device ** | ppDevice, | ||
| D3D_FEATURE_LEVEL * | pFeatureLevel, | ||
| ID3D11DeviceContext ** | ppImmediateContext, | ||
| NVAPI_DEVICE_FEATURE_LEVEL * | pSupportedLevel | ||
| ) |
DESCRIPTION: This function tries to create a DirectX 11 device and swap chain. If the call fails (if we are running on pre=DirectX 11 hardware), depending on the type of hardware it will try to create a DirectX 10.1 OR DirectX 10.0+ OR DirectX 10.0 device. The function call is the same as D3D11CreateDeviceAndSwapChain, but with an extra argument (D3D_FEATURE_LEVEL supported by the device) that the function fills in. This argument can contain -1 (NVAPI_DEVICE_FEATURE_LEVEL_NULL), if the requested featureLevel is less than DirectX 10.0.
SUPPORTED OS: Windows 7 and higher
| [in] | pAdapter | |
| [in] | DriverType | |
| [in] | Software | |
| [in] | Flags | |
| [in] | *pFeatureLevels | |
| [in] | FeatureLevels | |
| [in] | SDKVersion | |
| [in] | *pSwapChainDesc | |
| [in] | **ppSwapChain | |
| [in] | **ppDevice | |
| [in] | *pFeatureLevel | |
| [in] | **ppImmediateContext | |
| [in] | *pSupportedLevel | D3D_FEATURE_LEVEL supported |
return NVAPI_OK if the createDevice with swap chain call succeeded.
| NVAPI_INTERFACE NvAPI_D3D11_CreateDomainShaderEx | ( | __in ID3D11Device * | pDevice, |
| __in const void * | pShaderBytecode, | ||
| __in SIZE_T | BytecodeLength, | ||
| __in_opt ID3D11ClassLinkage * | pClassLinkage, | ||
| __in const NvAPI_D3D11_CREATE_DOMAIN_SHADER_EX * | pCreateDomainShaderExArgs, | ||
| __out ID3D11DomainShader ** | ppDomainShader | ||
| ) |
DESCRIPTION: This function allows us to extend the creation of domain shaders with extra bits of functionality.
The first parameters are identical to ID3D11Device::CreateDomainShader() so please refer to its documentation for their usage.
The new parameter are custom semantics which allow setting of custom semantic variables in the shader
This function is free-threaded create compatible i.e. it can be called from a different thread than the one calling immediate device setstate functions.
| [in] | pDevice | The device pointer |
| [in] | pShaderBytecode | A pointer to the compiled shader. |
| [in] | BytecodeLength | Size of the compiled domain shader. |
| [in] | pClassLinkage | A pointer to a class linkage interface. Can be NULL. |
| [in] | NumCustomSemantics | Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics |
| [in] | pCustomSemantics | pointer to array of NV_CUSTOM_SEMANTIC |
| [in] | UseWithFastGS | reserved |
| [in] | UseSpecificShaderExt | TRUE if creating minimal specific shaders with nvapi shader extensions |
| [out] | ppDomainShader | Address of a pointer to a ID3D11DomainShader interface. |
| NvAPI_D3D11_CreateFastGeometryShader | ( | __in ID3D11Device * | pDevice, |
| __in const void * | pShaderBytecode, | ||
| __in SIZE_T | BytecodeLength, | ||
| __in_opt ID3D11ClassLinkage * | pClassLinkage, | ||
| __out ID3D11GeometryShader ** | ppGeometryShader | ||
| ) |
SUPPORTED OS: Windows 7 and higher
DESCRIPTION: This function will convert a regular geometry shader into a fast GS variant if possible. It will not do any validation regarding the compatibility of the resulting fast GS with any Pixel shader. The validation has to be done by the application manually.
The parameters are identical to ID3D11Device::CreateGeometryShader() so please refer to its documentation for their usage.
If the shader is too complex or is not in adequate form to be converted to fast GS this function will simply fail. You should then call ID3D11Device::CreateGeometryShader() to create the regular geometry shader.
This function is free-threaded create compatible i.e. it can be called from a different thread than the one calling immediate device setstate functions.
| [in] | pDevice | The device pointer |
| [in] | pShaderBytecode | A pointer to the compiled shader. |
| [in] | BytecodeLength | Size of the compiled geometry shader. |
| [in] | pClassLinkage | A pointer to a class linkage interface. Can be NULL. |
| [out] | ppGeometryShader | Address of a pointer to a ID3D11GeometryShader interface. |
| NVAPI_INTERFACE NvAPI_D3D11_CreateFastGeometryShaderExplicit | ( | __in ID3D11Device * | pDevice, |
| __in const void * | pShaderBytecode, | ||
| __in SIZE_T | BytecodeLength, | ||
| __in_opt ID3D11ClassLinkage * | pClassLinkage, | ||
| __in const NvAPI_D3D11_CREATE_FASTGS_EXPLICIT_DESC * | pCreateFastGSArgs, | ||
| __out ID3D11GeometryShader ** | ppGeometryShader | ||
| ) |
DESCRIPTION: This function will create a fast geometry shader written using an "explicit" coding style, rather than converting a standard GS. For the explicit coding style, the GS must be written with maxvertexcount(1), and must pass-through input vertex 0 to the output without modification.
Additional per-primitive outputs may also be computed and written to the single output vertex. If these outputs are read by the pixel shader, they must be declared with the "nointerpolation" attribute in the PS input signature; otherwise, visual corruption may occur. Also, unlike D3D API, there is no guarantee that pixel shader will get the default value of an attribute if that attribute is not written by the earlier shader stage in the pipeline.
The first four parameters are identical to ID3D11Device::CreateGeometryShader(), so please refer to its documentation for their usage.
This function is free-threaded create compatible i.e. it can be called from a different thread than the one calling immediate device setstate functions.
| [in] | pDevice | The device pointer |
| [in] | pShaderBytecode | A pointer to the compiled shader. |
| [in] | BytecodeLength | Size of the compiled geometry shader. |
| [in] | pClassLinkage | A pointer to a class linkage interface. Can be NULL. |
| [in] | pCreateFastGSArgs | A pointer to a NvAPI_D3D11_CREATE_FASTGS_EXPLICIT struct. |
| [out] | ppGeometryShader | Address of a pointer to a ID3D11GeometryShader interface. |
| NVAPI_INTERFACE NvAPI_D3D11_CreateGeometryShaderEx_2 | ( | __in ID3D11Device * | pDevice, |
| __in const void * | pShaderBytecode, | ||
| __in SIZE_T | BytecodeLength, | ||
| __in_opt ID3D11ClassLinkage * | pClassLinkage, | ||
| __in const NvAPI_D3D11_CREATE_GEOMETRY_SHADER_EX * | pCreateGeometryShaderExArgs, | ||
| __out ID3D11GeometryShader ** | ppGeometryShader | ||
| ) |
DESCRIPTION: This function allows us to extend the creation of geometry shaders with extra bits of functionality.
The first parameters are identical to ID3D11Device::CreateGeometryShader() so please refer to its documentation for their usage.
The new parameter is UseViewportMask which is to tell the driver to create a shader that outputs a viewport mask instead when a viewport index is indicated. Outputting a viewport mask allows a single primitive to land on many different viewports as specified by the bits set in the mask, rather than to rely on a single number that tells it which unique viewport it would be drawn on. This can be used for example in conjunction with the setting of coordinates swizzling (see XXX_NVAPI function) to generates multiple adjacent views of the same primitive in a more efficient fashion (outputting the primitive only once).
This function is free-threaded create compatible i.e. it can be called from a different thread than the one calling immediate device setstate functions.
| [in] | pDevice | The device pointer |
| [in] | pShaderBytecode | A pointer to the compiled shader. |
| [in] | BytecodeLength | Size of the compiled geometry shader. |
| [in] | pClassLinkage | A pointer to a class linkage interface. Can be NULL. |
| [in] | UseViewportMask | Set to FALSE for custom semantic shaders. Tell the driver to create a shader that outputs the viewport mask in lieu of the viewport index. See above description. |
| [in] | OffsetRtIndexByVpIndex | Set to FALSE for custom semantic shaders. The Rendertarget index is offset by the viewport index |
| [in] | ForceFastGS | If TRUE, GS must be written with maxvertexcount(1) and must pass-through input vertex 0 to the output without modification |
| [in] | DontUseViewportOrder | Default FALSE for Primitives batched per viewport to improve performance. Set TRUE for API order (slow). |
| [in] | UseAttributeSkipMask | reserved |
| [in] | UseCoordinateSwizzle | reserved |
| [in] | pCoordinateSwizzling | reserved |
| [in] | NumCustomSemantics | Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics |
| [in] | pCustomSemantics | pointer to array of NV_CUSTOM_SEMANTIC |
| [in] | ConvertToFastGS | reserved |
| [in] | UseSpecificShaderExt | TRUE if creating minimal specific shaders with nvapi shader extensions |
| [out] | ppGeometryShader | Address of a pointer to a ID3D11GeometryShader interface. |
| NVAPI_INTERFACE NvAPI_D3D11_CreateImplicitMSAATexture2D | ( | __in ID3D11Device * | pDevice, |
| __in const D3D11_TEXTURE2D_DESC * | pDesc, | ||
| __out ID3D11Texture2D ** | ppTexture2D | ||
| ) |
SUPPORTED OS: Windows 10 and higher
DESCRIPTION: NvAPI_D3D11_CreateImplicitMSAATexture2D is a simple wrapper of ID3D11Device::CreateTexture2D which allows to create multisampled 2D texture that is exposed to DX runtime as non-multisampled texture.
| [in] | pDevice | Current d3d device |
| [in] | pDesc | A pointer to a D3D11_TEXTURE2D_DESC structure that describes a 2D texture resource. To create a typeless resource that can be interpreted at runtime into different, compatible formats, specify a typeless format in the texture description. To generatemipmap levels automatically, set the number of mipmap levels to 0. SampleDesc.SampleCount specifies actual resource sample count, while D3D runtime object sees resource as non-multisampled. |
| [out] | ppTexture2D | A pointer to a buffer that receives a pointer to a ID3D11Texture2D interface for the created texture. |
| NvAPI_D3D11_CreateMultiGPUDevice | ( | __in ID3D11Device * | pDevice, |
| __in ULONG | version, | ||
| __out ULONG * | currentVersion, | ||
| __out ID3D11MultiGPUDevice ** | ppD3D11MultiGPUDevice, | ||
| __in UINT | maxGpus = ALL_GPUS |
||
| ) |
SUPPORTED OS: Windows 7 and higher
DESCRIPTION: This function returns ID3D11MultiGPUDevice used for multi GPU VR support
\param [in] pDevice current d3d device \param [in] version version of requested ID3D11MultiGPUDevice. \param [out] currentVersion pointer to returned current version of ID3D11MultiGPUDevice. \param [out] ppD3D11MultiGPUDevice pointer to returned ID3D11MultiGPUDevice. \param [in] maxGpus max number of gpus this ID3D11MultiGPUDevice is allowed to use
| NVAPI_OK | if the call succeeds. |
| NVAPI_INVALID_ARGUMENT | if NvAPI_D3D11_MultiGPU_Init() was not enabled prior to the creation of the D3D11 device, or if maxGpus is greater than the number of GPUs in the SLI group. |
| NVAPI_NO_ACTIVE_SLI_TOPOLOGY | on single-GPU systems, or if SLI has not been enabled in the NVIDIA control panel. |
| NVAPI_INVALID_CALL | if there is already an ID3D11MultiGPUDevice created for the specified ID3D11Device. |
| NVAPI_INCOMPATIBLE_STRUCT_VERSION | if requested interface version is greater than the one that is supported by installed. driver. In this case currentVersion will contain version supported by installed driver. |
| NVAPI_INTERFACE NvAPI_D3D11_CreateRasterizerState | ( | __in ID3D11Device * | pDevice, |
| __in const NvAPI_D3D11_RASTERIZER_DESC_EX * | pRasterizerDesc, | ||
| __out ID3D11RasterizerState ** | ppRasterizerState | ||
| ) |
SUPPORTED OS: Windows 7 and higher
DESCRIPTION: This function is an extension of ID3D11Device::CreateRasterizerState with additional raster states
If programmable sample positions is used, to decompress the surface using the currently bound
programmable sample positions, use function NvAPI_D3D11_DecompressView.
This function is free-threaded create compatible i.e. it can be called from a different thread
than the one calling immediate device setstate functions.
| [in] | pDevice | current d3d device |
| [in] | pRasterizerDesc | Rasterizer state description of type NVAPI_D3D11_RASTERIZER_DESC_EX |
| [out] | ppRasterizerState | ID3D11RasterizerState |
| NVAPI_OK | if the call succeeds. |
| NVAPI_INTERFACE NvAPI_D3D11_CreateShadingRateResourceView | ( | __in ID3D11Device * | pDevice, |
| __in ID3D11Resource * | pShadingRateResource, | ||
| __in NV_D3D11_SHADING_RATE_RESOURCE_VIEW_DESC * | pShadingRateResourceViewDesc, | ||
| __out ID3D11NvShadingRateResourceView ** | ppShadingRateResourceView | ||
| ) |
DESCRIPTION: Creates Shading Rate Resource View by taking ID3D11Resource as an input Shading Rate Surface.
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The device to be used for creating the Shading Rate Resource View |
| [in] | pShadingRateResource | Shading Rate Resource on which the view is to be created. |
| [in] | pShadingRateDesc | Shading Rate Resource View descriptor |
| [out] | ppShadingRateResourceView | Address of a pointer to ID3D11NvShadingRateResourceView for returning the newly created Shading Rate Resource View |
| NVAPI_INTERFACE NvAPI_D3D11_CreateVertexShaderEx | ( | __in ID3D11Device * | pDevice, |
| __in const void * | pShaderBytecode, | ||
| __in SIZE_T | BytecodeLength, | ||
| __in_opt ID3D11ClassLinkage * | pClassLinkage, | ||
| __in const NvAPI_D3D11_CREATE_VERTEX_SHADER_EX * | pCreateVertexShaderExArgs, | ||
| __out ID3D11VertexShader ** | ppVertexShader | ||
| ) |
DESCRIPTION: This function allows us to extend the creation of vertex shaders with extra bits of functionality.
The first parameters are identical to ID3D11Device::CreateVertexShader() so please refer to its documentation for their usage.
The new parameter are custom semantics which allow setting of custom semantic variables in the shader
This function is free-threaded create compatible i.e. it can be called from a different thread than the one calling immediate device setstate functions.
| [in] | pDevice | The device pointer |
| [in] | pShaderBytecode | A pointer to the compiled shader. |
| [in] | BytecodeLength | Size of the compiled vertex shader. |
| [in] | pClassLinkage | A pointer to a class linkage interface. Can be NULL. |
| [in] | NumCustomSemantics | Number of custom semantics elements (upto NV_CUSTOM_SEMANTIC_MAX) provided in array pointer pCustomSemantics |
| [in] | pCustomSemantics | pointer to array of NV_CUSTOM_SEMANTIC |
| [in] | UseWithFastGS | reserved |
| [in] | UseSpecificShaderExt | TRUE if creating minimal specific shaders with nvapi shader extensions |
| [out] | ppVertexShader | Address of a pointer to a ID3D11VertexShader interface. |
| NVAPI_INTERFACE NvAPI_D3D11_DecompressView | ( | __in ID3D11Device * | pDevice, |
| __in ID3D11DeviceContext * | pDeviceContext, | ||
| __in ID3D11View * | pView | ||
| ) |
SUPPORTED OS: Windows 7 and higher DESCRIPTION: This function is used to decompress a surface using the currently bound programmable sample positions.
This is needed:
- When writing to a surface in a region previously rendered by different sample positions and no clear was done.
- When reading a surface in a shader that was rendered using non-standard sample positions.
- When copying from a surface that was rendered using non-standard sample positions.
| [in] | pDevice | Current d3d11 device |
| [in] | pDeviceContext | Current d3d11 device context |
| [in] | pView | Current view to decompress |
| NVAPI_OK | if the call succeeds. |
| NVAPI_INTERFACE NvAPI_D3D11_EndUAVOverlap | ( | __in IUnknown * | pDeviceOrContext | ) |
DESCRIPTION: Re-enables driver synchronization between calls that access same UAVs See NvAPI_D3D_BeginUAVOverlap for more details.
SUPPORTED OS: Windows 7 and higher
| [in] | *pDeviceOrContext | pointer to D3D11 device, or D3D11 device context |
| NVAPI_INTERFACE NvAPI_D3D11_EnumerateMetaCommands | ( | __in ID3D11Device * | pDevice, |
| __inout NvU32 * | pNumMetaCommands, | ||
| __out_ecount_opt *pNumMetaCommands NVAPI_META_COMMAND_DESC * | pDescs | ||
| ) |
DESCRIPTION: Enumerates MetaCommands supported on the system
| [in] | pDevice | A pointer to D3D11 device. |
| [in,out] | pNumMetaCommands | Should be non-null. When the value pointed by pNumMetaCommands is 0 (or when pDescs is NULL), the function returns number of metacommands supported. When the value pointed is non-zero, the value indicates number of Metacommand descriptions to be populated in pDescs array. |
| [out] | pDescs | Pointer to array where Metacommand descriptions will be returned. Can be null to indicate that the app is querying the number of supported metacommands. Otherwise should have enough space to hold *pNumMetaCommands descriptors SUPPORTED OS: Windows 10 |
| NVAPI_INTERFACE NvAPI_D3D11_ExecuteMetaCommand | ( | __in ID3D11DeviceContext * | pDeviceContext, |
| __in ID3D11NvMetaCommand * | pMetaCommand, | ||
| __in_bcount(ExecutionParametersDataSize) const void * | pExecutionParametersData, | ||
| __in NvU32 | ExecutionParametersDataSize | ||
| ) |
DESCRIPTION: Executes the given MetaCommand with the parameters passed in
| [in] | pDeviceContext | A pointer to the d3d11 device context |
| [in] | pMetaCommand | the MetaCommand to execute |
| [in] | pExecutionParametersData | Structure containing parameters |
| [in] | ExecutionParametersDataSize | Size of the parameter structure in bytes SUPPORTED OS: Windows 10 |
| NVAPI_INTERFACE NvAPI_D3D11_InitializeMetaCommand | ( | __in ID3D11DeviceContext * | pDeviceContext, |
| __in ID3D11NvMetaCommand * | pMetaCommand, | ||
| __in_bcount(InitializationParametersDataSize) const void * | pInitializationParametersData, | ||
| __in NvU32 | InitializationParametersDataSize | ||
| ) |
DESCRIPTION: Initializes the given MetaCommand with the parameters passed in
| [in] | pDeviceContext | A pointer to the d3d11 device context |
| [in] | pMetaCommand | the MetaCommand to initialize |
| [in] | pInitializationParametersData | Structure containing parameters |
| [in] | InitializationParametersDataSize | Size of the parameter structure in bytes SUPPORTED OS: Windows 10 |
| NVAPI_INTERFACE NvAPI_D3D11_IsNvShaderExtnOpCodeSupported | ( | __in IUnknown * | pDev, |
| __in NvU32 | opCode, | ||
| __out bool * | pSupported | ||
| ) |
DESCRIPTION: This function checks if a nv HLSL shader extension opcode is supported on current hardware. List of opcodes is in nvShaderExtnEnums.h To use Nvidia HLSL extensions the application must include nvHLSLExtns.h in the hlsl shader code. See nvHLSLExtns.h for more details on supported opcodes.
This function can be called from a different thread than the one calling immediate device setstate functions.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | The device on which to query for support, should be a ID3D11Device+ device |
| [in] | opCode | the opcode to check |
| [out] | pSupported | true if supported, false otherwise |
| NVAPI_OK | if the call succeeded |
| NVAPI_INTERFACE NvAPI_D3D11_MultiDrawIndexedInstancedIndirect | ( | __in ID3D11DeviceContext * | pDevContext11, |
| __in NvU32 | drawCount, | ||
| __in ID3D11Buffer * | pBuffer, | ||
| __in NvU32 | alignedByteOffsetForArgs, | ||
| __in NvU32 | alignedByteStrideForArgs | ||
| ) |
DESCRIPTION: Extension of DrawIndexedInstancedIndirect that takes a draw count in. The effect of this function is to loop over that draw count and perform the DrawIndexedInstancedIndirect operation each time, incrementing the buffer offset by the supplied stride each time.
SUPPORTED OS: Windows 7 and higher
| [in] | *pDevContext11 | Pointer to D3D11 device context (IC or DC) |
| [in] | drawCount | Do DrawIndexedInstancedIndirect operation this many times |
| [in] | *pBuffer | ID3D11Buffer that contains the command parameters |
| [in] | alignedByteOffsetForArgs | Start in pBuffer of the command parameters |
| [in] | alignedByteStrideForArgs | Stride of the command parameters - must be >= 5 * sizeof(NvU32) |
RETURN STATUS: 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_D3D_DEVICE_NOT_REGISTERED | When MultiDraw is called on a deferred context, and the device has not yet been registered (NvAPI_D3D_RegisterDevice), this error is returned. |
| NVAPI_INTERFACE NvAPI_D3D11_MultiDrawInstancedIndirect | ( | __in ID3D11DeviceContext * | pDevContext11, |
| __in NvU32 | drawCount, | ||
| __in ID3D11Buffer * | pBuffer, | ||
| __in NvU32 | alignedByteOffsetForArgs, | ||
| __in NvU32 | alignedByteStrideForArgs | ||
| ) |
DESCRIPTION: Extension of DrawInstancedIndirect that takes a draw count in. The effect of this function is to loop over that draw count and perform the DrawInstancedIndirect operation each time, incrementing the buffer offset by the supplied stride each time.
SUPPORTED OS: Windows 7 and higher
| [in] | *pDevContext11 | Pointer to D3D11 device context (IC or DC) |
| [in] | drawCount | Do DrawInstancedIndirect operation this many times |
| [in] | *pBuffer | ID3D11Buffer that contains the command parameters |
| [in] | alignedByteOffsetForArgs | Start in pBuffer of the command parameters |
| [in] | alignedByteStrideForArgs | Stride of the command parameters - must be >= 4 * sizeof(NvU32) |
RETURN STATUS: 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_D3D_DEVICE_NOT_REGISTERED | When MultiDraw is called on a deferred context, and the device has not yet been registered (NvAPI_D3D_RegisterDevice), this error is returned. |
| NVAPI_INTERFACE NvAPI_D3D11_MultiGPU_GetCaps | ( | __inout PNV_MULTIGPU_CAPS | pMultiGPUCaps | ) |
SUPPORTED OS: Windows 7 and higher
| NVAPI_INTERFACE NvAPI_D3D11_MultiGPU_Init | ( | __in bool | bEnable | ) |
SUPPORTED OS: Windows 7 and higher : Request to enable/disable multi GPU extension. Also if enabled automatically disables auto stereo.
| [in] | bEnable | if true enables the extension for all subsequently created devices. Otherwise disables it |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INTERFACE NvAPI_D3D11_ResolveSubresourceRegion | ( | __in ID3D11Device * | pDevice, |
| __in ID3D11Texture2D * | pDstResource, | ||
| __in UINT | DstSubresource, | ||
| __in UINT | DstX, | ||
| __in UINT | DstY, | ||
| __in ID3D11Texture2D * | pSrcResource, | ||
| __in UINT | SrcSubresource, | ||
| __in_opt const RECT * | pSrcRect, | ||
| __in DXGI_FORMAT | Format, | ||
| __in NV_RESOLVE_MODE | ResolveMode | ||
| ) |
DESCRIPTION: NvAPI_D3D11_ResolveSubresourceRegion is D3D11 an analog of D3D12 ResolveSubresourceRegion.
| [in] | pDstResource | Destination resource. Must be a created with the D3D11_USAGE_DEFAULT flag and be single-sampled. |
| [in] | DstSubresource | A zero-based index, that identifies the destination subresource. Use D3D11CalcSubresource to calculate the index. |
| [in] | DstX | The X coordinate of the left-most edge of the destination region. The width of the destination region is the same as the width of the source rect. |
| [in] | DstY | The Y coordinate of the top-most edge of the destination region. The height of the destination region is the same as the height of the source rect. |
| [in] | pSrcResource | Source resource. Must be multisampled. |
| [in] | SrcSubresource | The source subresource of the source resource. |
| [in] | pSrcRect | Specifies the rectangular region of the source resource to be resolved. Passing NULL for pSrcRect specifies that the entire subresource is to be resolved. |
| [in] | Format | A DXGI_FORMAT that indicates how the multisampled resource will be resolved to a single-sampled resource. |
| [in] | ResolveMode | Specifies the operation used to resolve the source samples. NV_RESOLVE_MODE_SAMPLE_0 is the only supported mode. NV_RESOLVE_MODE_SAMPLE_0 outputs sample 0 and discards all other samples. |
| NVAPI_INTERFACE NvAPI_D3D11_RSGetPixelShadingRateSampleOrder | ( | __in IUnknown * | pContext, |
| __out NV_PIXEL_SHADING_RATE_SAMPLE_ORDER_TABLE * | pSampleOrderTable | ||
| ) |
DESCRIPTION: Get the Sample Order for Variable Shading Rate
SUPPORTED OS: Windows 7 and higher
| [in] | pContext | The device context (ID3D11DeviceContext) used for getting the Shading Rate Sample Order |
| [out] | pSampleOrderTable | A pointer to NV_PIXEL_SHADING_RATE_SAMPLE_ORDER_TABLE where the current Sample Order for Variable Pixel Rate Shading that is returned |
| NVAPI_INTERFACE NvAPI_D3D11_RSSetExclusiveScissorRects | ( | __in IUnknown * | pContext, |
| __in NV_D3D11_EXCLUSIVE_SCISSOR_RECTS_DESC * | pExclusiveScissorRectsDesc | ||
| ) |
DESCRIPTION: Sets Exclusive Scissor Rects. The content bounded within the Scissor Rects will be excluded from rendering unlike regular Scissor Rects. These are orthogonal with Regular Scissor Rects.
SUPPORTED OS: Windows 7 and higher
| [in] | pContext | The device context (ID3D11DeviceContext) to be used for setting the Exclusive Scissor Rects. |
| [in] | pExclusiveScissorRectsDesc | Description of the Exclusive Scissor Rects duly filled with their dimensions and control over enablement of individual ScissorRect |
| NVAPI_INTERFACE NvAPI_D3D11_RSSetPixelShadingRateSampleOrder | ( | __in IUnknown * | pContext, |
| __in NV_PIXEL_SHADING_RATE_SAMPLE_ORDER_TABLE * | pSampleOrderTable | ||
| ) |
DESCRIPTION: Set the Sample Order for Variable Shading Rate
SUPPORTED OS: Windows 7 and higher
| [in] | pContext | The device context (ID3D11DeviceContext) used for setting the Shading Rate Sample Order |
| [out] | pSampleOrderTable | Sample Order for Variable Shading Rate to be set |
| NVAPI_INTERFACE NvAPI_D3D11_RSSetShadingRateResourceView | ( | __in IUnknown * | pContext, |
| __in ID3D11NvShadingRateResourceView * | pShadingRateResourceView | ||
| ) |
DESCRIPTION: Sets Shading Rate Resource View
SUPPORTED OS: Windows 7 and higher
| [in] | pContext | The device context (ID3D11DeviceContext) used for setting the Shading Rate Resource View |
| [out] | pShadingRateResourceView | Shading Rate Resource View to be set |
| NVAPI_INTERFACE NvAPI_D3D11_RSSetViewportsPixelShadingRates | ( | __in IUnknown * | pContext, |
| __in NV_D3D11_VIEWPORTS_SHADING_RATE_DESC * | pShadingRateDesc | ||
| ) |
DESCRIPTION: Sets Pixel Shading Rates and Enables/Disables per-viewport Variable Pixel Shading Rate feature
SUPPORTED OS: Windows 7 and higher
| [in] | pContext | The device context (ID3D11DeviceContext) to be used for setting the Viewports Shading Rates |
| [in] | pShadingRateDesc | Shading rate descriptor |
| NVAPI_INTERFACE NvAPI_D3D11_SetDepthBoundsTest | ( | IUnknown * | pDeviceOrContext, |
| NvU32 | bEnable, | ||
| float | fMinDepth, | ||
| float | fMaxDepth | ||
| ) |
DESCRIPTION: This function enables/disables the depth bounds test
SUPPORTED OS: Windows 7 and higher
| [in] | pDeviceOrContext | The device or device context to set depth bounds test |
| [in] | bEnable | Enable(non-zero)/disable(zero) the depth bounds test |
| [in] | fMinDepth | The minimum depth for depth bounds test |
| [in] | fMaxDepth | The maximum depth for depth bounds test The valid values for fMinDepth and fMaxDepth are such that 0 <= fMinDepth <= fMaxDepth <= 1 |
| NVAPI_INTERFACE NvAPI_D3D11_SetNvShaderExtnSlot | ( | __in IUnknown * | pDev, |
| __in NvU32 | uavSlot | ||
| ) |
DESCRIPTION: This function sets the fake UAV slot that is used by Nvidia HLSL shader extensions globally. All createShader calls made to the driver after setting this slot would treat writes/reads to this UAV in a different way. Applications are expected to bind null UAV to this slot. The same slot is used for all shader stages. To disable shader extensions the app need to set this uav slot to 0xFFFFFFFF. To use Nvidia HLSL extensions the application must include nvHLSLExtns.h in the hlsl shader code. See nvHLSLExtns.h for more details.
This function can be called from a different thread than the one calling immediate device setstate functions.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | The device for which to set the extension slot should be a ID3D11Device+ device |
| [in] | uavSlot | the uav slot to use |
| NVAPI_OK | success, the uavSlot was set sucessfully |
| NVAPI_INTERFACE NvAPI_D3D11_SetNvShaderExtnSlotLocalThread | ( | __in IUnknown * | pDev, |
| __in NvU32 | uavSlot | ||
| ) |
DESCRIPTION: This function sets the fake UAV slot that is used by Nvidia HLSL shader extensions on local thread. All createShader calls on the same thread that calls this function after setting this slot would treat writes/reads to this UAV in a different way. Applications are expected to bind null UAV to this slot. The same slot is used for all shader stages. To disable shader extensions the app may set this uav slot to 0xFFFFFFFF. To use Nvidia HLSL extensions the application must include nvHLSLExtns.h in the hlsl shader code. See nvHLSLExtns.h for more details.
This function can be called from a different thread than the one calling immediate device setstate functions.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | The device for which to set the extension slot should be a ID3D11Device+ device |
| [in] | uavSlot | the uav slot to use |
| NVAPI_OK | success, the uavSlot was set sucessfully |
| NVAPI_INTERFACE NvAPI_D3D12_CopyTileMappings | ( | __in ID3D12CommandQueue * | pCommandQueue, |
| __in ID3D12Resource * | pDstResource, | ||
| __in const D3D12_TILED_RESOURCE_COORDINATE * | pDstRegionStartCoordinate, | ||
| __in ID3D12Resource * | pSrcResource, | ||
| __in const D3D12_TILED_RESOURCE_COORDINATE * | pSrcRegionStartCoordinate, | ||
| __in const D3D12_TILE_REGION_SIZE * | pRegionSize, | ||
| __in D3D12_TILE_MAPPING_FLAGS | Flags | ||
| ) |
DESCRIPTION: NvAPI_D3D12_CopyTileMappings is an extension of ID3D12CommandQueue::CopyTileMappings pDstResource and pSrcResource must be created by NvAPI_D3D12_CreateReservedResource.
| [in] | pCommandQueue | A pointer to ID3D12CommandQueue. |
| [in] | pDstResource | Tiled resource created by NvAPI_D3D12_CreateReservedResource to copy tile mappings into. |
| [in] | pDstRegionStartCoordinate | A pointer to a D3D12_TILED_RESOURCE_COORDINATE structure that describes the starting coordinates of the destination reserved resource. |
| [in] | pSrcResource | Tiled resource created by NvAPI_D3D12_CreateReservedResource to copy tile mappings from. |
| [in] | pSourceRegionStartCoordinate | A pointer to a D3D12_TILED_RESOURCE_COORDINATE structure that describes the starting coordinates of the source reserved resource. |
| [in] | pTileRegionSize | A pointer to a D3D12_TILE_REGION_SIZE structure that describes the size of the reserved region. |
| [in] | Flags | One member of D3D12_TILE_MAPPING_FLAGS. SUPPORTED OS: Windows 10 |
| NVAPI_INTERFACE NvAPI_D3D12_CreateCommittedImplicitMSAATexture2D | ( | __in ID3D12Device * | pDevice, |
| __in const D3D12_HEAP_PROPERTIES * | pHeapProperties, | ||
| D3D12_HEAP_FLAGS | HeapFlags, | ||
| __in const D3D12_RESOURCE_DESC * | pDesc, | ||
| D3D12_RESOURCE_STATES | InitialResourceState, | ||
| __in_opt const D3D12_CLEAR_VALUE * | pOptimizedClearValue, | ||
| REFIID | riidResource, | ||
| __out void ** | ppvResource | ||
| ) |
SUPPORTED OS: Windows 10 and higher
DESCRIPTION: NvAPI_D3D12_CreateCommittedImplicitMSAATexture2D is a simple wrapper of ID3D12Device::CreateCommittedResource which allows to create multisampled 2D texture that is exposed to DX runtime as non-multisampled texture.
| [in] | pDevice | Current d3d device |
| [in] | pDesc | A pointer to a D3D12_RESOURCE_DESC structure that describes a 2D texture resource. To create a typeless resource that can be interpreted at runtime into different, compatible formats, specify a typeless format in the texture description. To generatemipmap levels automatically, set the number of mipmap levels to 0. SampleDesc.SampleCount specifies actual resource sample count, while D3D runtime object sees resource as non-multisampled. |
| [in] | pHeapProperties,HeapFlags,InitialResourceState,pOptimizedClearValue,riidResource | See D3D12 docs |
| [out] | ppResource | Same ID3D12Device::CreateCommittedResource |
| NVAPI_INTERFACE NvAPI_D3D12_CreateComputePipelineState | ( | __in ID3D12Device * | pDevice, |
| __in const D3D12_COMPUTE_PIPELINE_STATE_DESC * | pPSODesc, | ||
| NvU32 | numExtensions, | ||
| __in const NVAPI_D3D12_PSO_EXTENSION_DESC ** | ppExtensions, | ||
| __out ID3D12PipelineState ** | ppPSO | ||
| ) |
DESCRIPTION: This function will create PSO with provided extensions
| [in] | pDevice | Current d3d device |
| [in] | pPSODesc | PSO description of type D3D12_COMPUTE_PIPELINE_STATE_DESC |
| [in] | numExtensions | Number of extensions |
| [in] | ppExtensions | Array of PSO extensions (see NV_PSO_EXTENSION for possible extensions) |
| [out] | ppPSO | Output PSO object of type ID3D12PipelineState |
SUPPORTED OS: Windows 10
| NVAPI_INTERFACE NvAPI_D3D12_CreateGraphicsPipelineState | ( | __in ID3D12Device * | pDevice, |
| __in const D3D12_GRAPHICS_PIPELINE_STATE_DESC * | pPSODesc, | ||
| NvU32 | numExtensions, | ||
| __in const NVAPI_D3D12_PSO_EXTENSION_DESC ** | ppExtensions, | ||
| __out ID3D12PipelineState ** | ppPSO | ||
| ) |
DESCRIPTION: This function will create PSO with provided extensions
| [in] | pDevice | Current d3d device |
| [in] | pPSODesc | PSO description of type D3D12_GRAPHICS_PIPELINE_STATE_DESC |
| [in] | numExtensions | Number of extensions |
| [in] | ppExtensions | Array of PSO extensions (see NV_PSO_EXTENSION for possible extensions) |
| [out] | ppPSO | Output PSO object of type ID3D12PipelineState |
SUPPORTED OS: Windows 10
| NVAPI_OK | if the call succeeds. |
| NVAPI_INTERFACE NvAPI_D3D12_CreateHeap | ( | __in ID3D12Device * | pDevice, |
| __in const D3D12_HEAP_DESC * | pDesc, | ||
| __in REFIID | riid, | ||
| __out void ** | ppvHeap | ||
| ) |
DESCRIPTION: NvAPI_D3D12_CreateHeap is a safe replacement of ID3D12Device::CreateHeap with no functionality change and overhead. In NvAPI_D3D12_UpdateTileMappings, pTilePool must be created with NvAPI_D3D12_CreateHeap and otherwise NvAPI_D3D12_UpdateTileMappings will fail. In other word, any tile pool used in NvAPI_D3D12_UpdateTileMappings must be created by NvAPI_D3D12_CreateHeap.
| [in] | pDevice | A pointer to D3D12 device. |
| [in] | pDesc | A pointer to a D3D12_HEAP_DESC structure that describes the heap. |
| [in] | riid | The globally unique identifier (GUID) for the resource interface. |
| [out] | ppvHeap | A pointer to a memory block that receives a pointer to the heap. Cannot be NULL. |
SUPPORTED OS: Windows 10
| NVAPI_INTERFACE NvAPI_D3D12_CreateMetaCommand | ( | __in ID3D12Device * | pDevice, |
| __in REFGUID | CommandId, | ||
| __in NvU32 | NodeMask, | ||
| __in_bcount(CreationParametersDataSize) const void * | pCreationParametersData, | ||
| __in NvU32 | CreationParametersDataSize, | ||
| __out ID3D12NvMetaCommand ** | ppMetaCommand | ||
| ) |
| NVAPI_INTERFACE NvAPI_D3D12_CreateReservedResource | ( | __in ID3D12Device * | pDevice, |
| __in const D3D12_RESOURCE_DESC * | pDesc, | ||
| __in D3D12_RESOURCE_STATES | InitialState, | ||
| __in const D3D12_CLEAR_VALUE * | pOptimizedClearValue, | ||
| __in REFIID | riid, | ||
| __out void ** | ppvResource, | ||
| __in bool | bTexture2DArrayMipPack, | ||
| __in ID3D12Heap * | pHeap | ||
| ) |
DESCRIPTION: Tiled resource is supported for Texture2D Array, however, but only when mip packing is not triggered. So any mip level cannot be smaller than a single tile size(64KB). This set of API is an extension of D3D12 support for tiled resource to allow a tiled texture2D array with mip packing. If any of API from this set is used, using all of them is highly recommended. It includes NvAPI_D3D12_CreateReservedResource, NvAPI_D3D12_CreateHeap, NvAPI_D3D12_ReservedResourceGetDesc, NvAPI_D3D12_UpdateTileMappings, NvAPI_D3D12_CopyTileMappings, NvAPI_D3D12_ResourceAliasingBarrier. Reminder: all API in this set other than NvAPI_D3D12_CreateReservedResource won't has D3D Debug Layer information.
NvAPI_D3D12_CreateReservedResource is an extension of ID3D12Device::CreateReservedResource. Use this function to create a tiled Texture2D array with mip packing. Runtime doesn't know the created resource is actually a tiled resource. Any other D3D12 API where runtime will check whether resource is tiled or not, has a corresponding NVAPI version and they should be used. Different from DX11 implementation, we highly recommend replace all ID3D12Device::CreateReservedResource with NvAPI_D3D12_CreateReservedResource, and use bTexture2DArrayMipPack to control which creation to use. Otherwise, NvAPI_D3D12_ResourceAliasingBarrier will fail if any resource is not created by NvAPI_D3D12_CreateReservedResource. DX11 implementation doesn't have this restriction and resource created by NVAPI and D3D API can be used together. pHeap is necessary when bTexture2DArrayMipPack is true. pHeap can be any heap and this API doens't change anything to it.
| [in] | pDevice | A pointer to D3D12 device. |
| [in] | pDesc | A pointer to a D3D12_RESOURCE_DESC structure that describes the resource. |
| [in] | InitialState | The initial state of the resource, as a bitwise-OR'd combination of D3D12_RESOURCE_STATES enumeration constants. |
| [in] | pOptimizedClearValue | Specifies a D3D12_CLEAR_VALUE that describes the default value for a clear color. |
| [in] | riid | The globally unique identifier (GUID) for the resource interface. |
| [out] | ppvResource | A pointer to a memory block that receives a pointer to the resource. Cannot be NULL. |
| [in] | bTexture2DArrayMipPack | Whether pDesc indicates it's a texture2D array resource with mip packing. TRUE: Use NVAPI to create. Will check pHeap to be not NULL. FALSE: Standard D3D12 API will be used, use DebugDevice to check any runtime ERROR. Won't check pHeap |
| [in] | pHeap | A pointer to ID3D12Heap. Cannot be NULL when bTexture2DArrayMipPack is true. |
SUPPORTED OS: Windows 10
| NVAPI_INTERFACE NvAPI_D3D12_EnumerateMetaCommands | ( | __in ID3D12Device * | pDevice, |
| __inout NvU32 * | pNumMetaCommands, | ||
| __out_ecount_opt *pNumMetaCommands NVAPI_META_COMMAND_DESC * | pDescs | ||
| ) |
DESCRIPTION: Enumerates MetaCommands supported on the system
| [in] | pDevice | A pointer to D3D12 device. |
| [in,out] | pNumMetaCommands | Should be non-null. When the value pointed by pNumMetaCommands is 0 or when pDescs is NULL, the function returns number of metacommands supported. When the value pointed is non-zero, the value indicates number of Metacommand descriptions to be populated in pDescs array. |
| [out] | pDescs | Pointer to array where Metacommand descriptions will be returned. Can be null to indicate that the app is querying the number of supported metacommands. Otherwise should have enough space to hold *pNumMetaCommands descriptors SUPPORTED OS: Windows 10 |
| NVAPI_INTERFACE NvAPI_D3D12_ExecuteMetaCommand | ( | __in ID3D12GraphicsCommandList * | pCommandlist, |
| __in ID3D12NvMetaCommand * | pMetaCommand, | ||
| __in_bcount(ExecutionParametersDataSize) const void * | pExecutionParametersData, | ||
| __in NvU32 | ExecutionParametersDataSize | ||
| ) |
DESCRIPTION: Executes the given MetaCommand with the parameters passed in
| [in] | pCommandList | A pointer to D3D12 command list. |
| [in] | pMetaCommand | the MetaCommand to execute |
| [in] | pExecutionParametersData | Structure containing parameters |
| [in] | ExecutionParametersDataSize | Size of the parameter structure in bytes SUPPORTED OS: Windows 10 |
| NVAPI_INTERFACE NvAPI_D3D12_InitializeMetaCommand | ( | __in ID3D12GraphicsCommandList * | pCommandlist, |
| __in ID3D12NvMetaCommand * | pMetaCommand, | ||
| __in_bcount(InitializationParametersDataSize) const void * | pInitializationParametersData, | ||
| __in NvU32 | InitializationParametersDataSize | ||
| ) |
DESCRIPTION: Initializes the given MetaCommand with the parameters passed in
| [in] | pCommandList | A pointer to D3D12 command list. |
| [in] | pMetaCommand | the MetaCommand to initialize |
| [in] | pInitializationParametersData | Structure containing parameters |
| [in] | InitializationParametersDataSize | Size of the parameter structure in bytes SUPPORTED OS: Windows 10 |
| NVAPI_INTERFACE NvAPI_D3D12_IsNvShaderExtnOpCodeSupported | ( | __in ID3D12Device * | pDevice, |
| __in NvU32 | opCode, | ||
| __out bool * | pSupported | ||
| ) |
DESCRIPTION: This function checks if a nv HLSL shader extension opcode is supported on current hardware. List of opcodes is in nvShaderExtnEnums.h To use Nvidia HLSL extensions the application must include nvHLSLExtns.h in the hlsl shader code. See nvHLSLExtns.h for more details on supported opcodes.
SUPPORTED OS: Windows 10
| [in] | pDev | The device on which to query for support |
| [in] | opCode | the opcode to check |
| [out] | pSupported | true if supported, false otherwise |
RETURN STATUS: This API can return any of the error codes enumerated in NvAPI_Status.
| NVAPI_OK | if the call succeeded |
| NVAPI_INTERFACE NvAPI_D3D12_Mosaic_GetCompanionAllocations | ( | __inout NV_D3D12_MOSAIC_GETCOMPANIONALLOCATIONS * | params | ) |
DESCRIPTION: Queries the driver for internally created allocations that accompany a swap chain buffer for present-related operations. Surfaces returned by this interface must be destroied at the same time that the original swap chain buffer is destroyed. In general this occurs prior to a ResizeBuffers call, or when the swap chain is released.
| [in,out] | companionBufferCount | The parameters for this function. |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid. |
| NVAPI_INTERFACE NvAPI_D3D12_Mosaic_GetViewportAndGpuPartitions | ( | __inout NV_D3D12_MOSAIC_GETVIEWPORTANDGPUPARTITIONS * | params | ) |
DESCRIPTION: Queries the driver for how a swap chain display surface is subdivided across devices in relation to display connectivity. Call this interface with NULL pPartitions in order to know how many subdivisions exist and allocate a proper size to hold all data. Call it a second time with a properly sized partitions array to receive all subdivisions along with GPU node masks of each rectangle.
| [in,out] | params | The parameters for this function. |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid. |
| NVAPI_INTERFACE NvAPI_D3D12_QueryModifiedWSupport | ( | __in ID3D12Device * | pDevice, |
| __inout NV_QUERY_MODIFIED_W_SUPPORT_PARAMS * | pQueryModifiedWSupportedParams | ||
| ) |
DESCRIPTION: Queries the support of Modified-W feature on current setup and returns appropriate boolean value.
SUPPORTED OS: Windows 10
| [in] | pDevice | The ID3D12Device Device created by application |
| [in,out] | pQueryModifiedWSupportedParams | Stores value of whether Modified-W is supported on current setup or not. |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid. |
| NVAPI_INTERFACE NvAPI_D3D12_QuerySinglePassStereoSupport | ( | __in ID3D12Device * | pDevice, |
| __inout NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS * | pQuerySinglePassStereoSupportedParams | ||
| ) |
DESCRIPTION: Queries the support of Single Pass Stereo feature on current setup and returns appropriate boolean value.
SUPPORTED OS: Windows 10
| [in] | pDevice | The IDirect3DDevice12 to use. |
| [in,out] | pQuerySinglePassStereoSupportedParams | Stores value of whether Single Pass Stereo is supported on current setup or not. |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid. |
| NVAPI_INTERFACE NvAPI_D3D12_ReservedResourceGetDesc | ( | __in ID3D12Resource * | pReservedResource, |
| __out D3D12_RESOURCE_DESC * | pDesc | ||
| ) |
DESCRIPTION: NvAPI_D3D12_ReservedResourceGetDesc is an simple wrapper of ID3D12Resource::GetDesc when pReservedResource is created by NvAPI_D3D12_CreateReservedResource. Runtime doesn't know the created resource is actually a tiled resource if bTexture2DArrayMipPack = true in NvAPI_D3D12_CreateReservedResource. So calling ID3D12Resource::GetDesc on such resource will get a desc with D3D12_TEXTURE_LAYOUT_UNKNOWN in Layout instead of D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE. This wrapper API just set Layout to D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE if Layout is D3D12_TEXTURE_LAYOUT_UNKNOWN.
| [in] | pReservedResource | Pointer of reserved resource to get resource desc from. |
| [out] | pDesc | Pointer to a resource description. SUPPORTED OS: Windows 10 |
| NVAPI_INTERFACE NvAPI_D3D12_ResolveSubresourceRegion | ( | __in ID3D12GraphicsCommandList1 * | pCommandList, |
| __in ID3D12Resource * | pDstResource, | ||
| __in UINT | DstSubresource, | ||
| __in UINT | DstX, | ||
| __in UINT | DstY, | ||
| __in ID3D12Resource * | pSrcResource, | ||
| __in UINT | SrcSubresource, | ||
| __in_opt RECT * | pSrcRect, | ||
| __in DXGI_FORMAT | Format, | ||
| __in NV_RESOLVE_MODE | ResolveMode | ||
| ) |
SUPPORTED OS: Windows 10 and higher
DESCRIPTION: NvAPI_D3D12_ResolveSubresourceRegion is D3D11 an analog of D3D12 ResolveSubresourceRegion.
| [in] | pDstResource | Destination resource. Must be a created with the D3D11_USAGE_DEFAULT flag and be single-sampled. |
| [in] | DstSubresource | A zero-based index, that identifies the destination subresource. Use D3D11CalcSubresource to calculate the index. |
| [in] | DstX | The X coordinate of the left-most edge of the destination region. The width of the destination region is the same as the width of the source rect. |
| [in] | DstY | The Y coordinate of the top-most edge of the destination region. The height of the destination region is the same as the height of the source rect. |
| [in] | pSrcResource | Source resource. Must be multisampled. |
| [in] | SrcSubresource | The source subresource of the source resource. |
| [in] | pSrcRect | Specifies the rectangular region of the source resource to be resolved. Passing NULL for pSrcRect specifies that the entire subresource is to be resolved. |
| [in] | Format | A DXGI_FORMAT that indicates how the multisampled resource will be resolved to a single-sampled resource. |
| [in] | ResolveMode | Specifies the operation used to resolve the source samples. NV_RESOLVE_MODE_SAMPLE_0 is the only supported mode. NV_RESOLVE_MODE_SAMPLE_0 outputs sample 0 and discards all other samples. |
| NVAPI_INTERFACE NvAPI_D3D12_ResourceAliasingBarrier | ( | __in ID3D12GraphicsCommandList * | pCommandList, |
| __in UINT | NumBarriers, | ||
| __in const D3D12_RESOURCE_BARRIER * | pBarriers | ||
| ) |
DESCRIPTION: NvAPI_D3D12_ResourceAliasingBarrier is an extension of ID3D12GraphicsCommandList::ResourceBarrier, but only for D3D12_RESOURCE_ALIASING_BARRIER. Both resource in pBarriers must be created by NvAPI_D3D12_CreateReservedTexture2DArray.
| [in] | pCommandList | A pointer to ID3D12GraphicsCommandList. |
| [in] | NumBarriers | The number of submitted barrier descriptions. |
| [in] | pBarriers | Pointer to an array of barrier descriptions with D3D12_RESOURCE_ALIASING_BARRIER type only. SUPPORTED OS: Windows 10 |
| NVAPI_INTERFACE NvAPI_D3D12_SetDepthBoundsTestValues | ( | __in ID3D12GraphicsCommandList * | pCommandList, |
| __in const float | minDepth, | ||
| __in const float | maxDepth | ||
| ) |
DESCRIPTION: This function will set the minDepth and maxDepth values for depth bounds test To enable/ disable depth bounds test use PSO extension NV_PSO_ENABLE_DEPTH_BOUND_TEST_EXTENSION in the nvapi NvAPI_D3D12_CreateGraphicsPipelineState
| [in] | pCommandList | Command List to set depth bounds test |
| [in] | minDepth | min value for depth bound test |
| [in] | maxDepth | max value for depth bound test |
The valid values for minDepth and maxDepth are such that 0 <= minDepth <= maxDepth <= 1
SUPPORTED OS: Windows 10
| NVAPI_OK | if the call succeeds. |
| NVAPI_INTERFACE NvAPI_D3D12_SetModifiedWMode | ( | __in ID3D12GraphicsCommandList * | pCommandList, |
| __in NV_MODIFIED_W_PARAMS * | pModifiedWParams | ||
| ) |
DESCRIPTION: Set the Modified-W state and A, B coefficients for HW support
SUPPORTED OS: Windows 10
| [in] | pCommandList | The command list in which we will add push buffer commmands for enabling Modified-W feature Note: Command list of type D3D12_COMMAND_LIST_TYPE_BUNDLE is not allowed for setting the state of this feature. |
| [in] | pModifiedWParams | Modified-W parameters. |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid. |
| NVAPI_INTERFACE NvAPI_D3D12_SetNvShaderExtnSlotSpace | ( | __in IUnknown * | pDev, |
| __in NvU32 | uavSlot, | ||
| __in NvU32 | uavSpace | ||
| ) |
DESCRIPTION: This function is specifically created for ray tracing since we do not currently support PSOs with DXR. This function sets the device's fake UAV slot and space that is used by NVIDIA HLSL shader extensions globally. All state objects created by the driver after setting this slot would treat writes/reads to this UAV in a different way. Applications are expected to bind null UAV to this slot. The same slot is used for all shader stages. To disable shader extensions the app need to set this uav slot to 0xFFFFFFFF. To use NVIDIA HLSL extensions the application must include nvHLSLExtns.h in the hlsl shader code. See nvHLSLExtns.h for more details.
This function can be called from a different thread than the one calling immediate device setstate functions.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | The device for which to set the extension slot should be a ID3D12Device+ device |
| [in] | uavSlot | The UAV slot to use |
| [in] | uavSpace | The UAV space to use |
| NVAPI_OK | Success, the uavSlot and uavSpace were set successfully |
| NVAPI_INTERFACE NvAPI_D3D12_SetNvShaderExtnSlotSpaceLocalThread | ( | __in IUnknown * | pDev, |
| __in NvU32 | uavSlot, | ||
| __in NvU32 | uavSpace | ||
| ) |
DESCRIPTION: This function is specifically created for ray tracing shaders since we do not currently support PSOs with DXR. This function sets the device's fake UAV slot that is used by Nvidia HLSL shader extensions on local thread. All state objects created by the driver on the same thread that call this function after setting this slot would treat writes/reads to this UAV in a different way. Applications are expected to bind null UAV to this slot. The same slot is used for all shader stages for the device. To disable shader extensions the app may set this uav slot to 0xFFFFFFFF. To use Nvidia HLSL extensions the application must include nvHLSLExtns.h in the hlsl shader code. See nvHLSLExtns.h for more details.
This function can be called from a different thread than the one calling immediate device setstate functions.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | The device for which to set the extension slot should be a ID3D12Device+ device |
| [in] | uavSlot | the uav slot to use |
| [in] | uavSpace | the uav space to use |
| NVAPI_OK | Success, the uavSlot and uavSpace were set successfully |
| NVAPI_INTERFACE NvAPI_D3D12_SetSinglePassStereoMode | ( | __in ID3D12GraphicsCommandList * | pCommandList, |
| __in NvU32 | numViews, | ||
| __in NvU32 | renderTargetIndexOffset, | ||
| __in NvU8 | independentViewportMaskEnable | ||
| ) |
DESCRIPTION: Set the Single Pass Stereo state.
SUPPORTED OS: Windows 10
| [in] | pCommandList | The command list in which we will add push buffer commmands for enabling Single Pass Stereo feature Note: Command list of type D3D12_COMMAND_LIST_TYPE_BUNDLE is not allowed for setting the state of this feature. |
| [in] | numViews | Number of views to render. |
| [in] | RenderTargetIndexOffset | Offset between render targets of the different views. |
| [in] | IndependentViewportMaskEnable | Is the independent viewport mask enabled. |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid. |
| NVAPI_INTERFACE NvAPI_D3D12_UpdateTileMappings | ( | __in ID3D12CommandQueue * | pCommandQueue, |
| __in ID3D12Resource * | pResource, | ||
| __in UINT | NumResourceRegions, | ||
| __in const D3D12_TILED_RESOURCE_COORDINATE * | pResourceRegionStartCoordinates, | ||
| __in const D3D12_TILE_REGION_SIZE * | pResourceRegionSizes, | ||
| __in ID3D12Heap * | pHeap, | ||
| __in UINT | NumRanges, | ||
| __in const D3D12_TILE_RANGE_FLAGS * | pRangeFlags, | ||
| __in const UINT * | pHeapRangeStartOffsets, | ||
| __in const UINT * | pRangeTileCounts, | ||
| __in D3D12_TILE_MAPPING_FLAGS | Flags | ||
| ) |
DESCRIPTION: NvAPI_D3D12_UpdateTileMappings is an extension of ID3D12CommandQueue::UpdateTileMappings. pTiledResource must be created by NvAPI_D3D12_CreateReservedResource. pTilePool must be created by NvAPI_D3D12_CreateHeap.
| [in] | pCommandQueue | A pointer to ID3D12CommandQueue. |
| [in] | pTiledResource | A pointer to the tiled resource created by NvAPI_D3D12_CreateReservedResource. |
| [in] | NumTiledResourceRegions | The number of tiled resource regions. |
| [in] | pTiledResourceRegionStartCoordinates | An array of D3D12_TILED_RESOURCE_COORDINATE structures that describe the starting coordinates of the tiled resource regions. Cannot be NULL. |
| [in] | pTiledResourceRegionSizes | An array of D3D12_TILE_REGION_SIZE structures that describe the sizes of the tiled resource regions. Cannot be NULL. |
| [in] | pTilePool | A pointer to the resource heap created by NvAPI_D3D12_CreateHeap. |
| [in] | NumRanges | The number of tile-pool ranges. |
| [in] | pRangeFlags | A pointer to an array of D3D12_TILE_RANGE_FLAGS values that describes each tile range. |
| [in] | pTilePoolStartOffsets | An array of offsets into the tile pool. These are 0-based tile offsets, counting in tiles (not bytes). |
| [in] | pRangeTileCounts | An array of values that specify the number of tiles in each tile-pool range. |
| [in] | Flags | A combination of D3D12_TILE_MAPPING_FLAGS values that are combined by using a bitwise OR operation. SUPPORTED OS: Windows 10 |
| NVAPI_INTERFACE NvAPI_D3D12_UseDriverHeapPriorities | ( | __in ID3D12Device * | pDevice | ) |
SUPPORTED OS: Windows 10FUNCTION NAME: NvAPI_D3D12_UseDriverHeapPriorities
DESCRIPTION: Sets the driver to override Microsoft's heap allocation priority values with Nvidia driver priority values. Use this once per process before allocating resources.
| [in] | pDevice | The IDirect3DDevice12 to use. |
| NVAPI_INTERFACE NvAPI_D3D1x_BindSwapBarrier | ( | IUnknown * | pDevice, |
| NvU32 | group, | ||
| NvU32 | barrier | ||
| ) |
DESCRIPTION: This API causes a SwapGroup to be bound to or released from the specified SwapBarrier.
| [in] | pDevice | The caller provides the D3D device that owns the SwapChain used as a SwapGroup client. pDevice can be either ID3D10Device or ID3D10Device1 or ID3D11Device or ID3D12Device. |
| [in] | group | The caller specifies the SwapGroup to be bound to the SwapBarrier. |
| [in] | barrier | The caller specifies the SwapBarrier that the SwapGroup should be bound to.
|
| NVAPI_OK | the SwapGroup is bound to the specified SwapBarrier |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D1x_DisableShaderDiskCache | ( | IUnknown * | pDevice | ) |
SUPPORTED OS: Windows 7 and higherDESCRIPTION: Disables driver managed caching of shader compilations to disk
| [in] | pDevice | Device to disabled the shader disk cache on |
| NVAPI_OK | Shader disk cache was disabled |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | Argument passed in is invalid. |
| NVAPI_INTERFACE NvAPI_D3D1x_GetGraphicsCapabilities | ( | __in IUnknown * | pDevice, |
| __in NvU32 | structVersion, | ||
| __inout NV_D3D1x_GRAPHICS_CAPS * | pGraphicsCaps | ||
| ) |
DESCRIPTION: Get the graphics capabilities for current hardware/software setup
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The ID3D11Device device to be used for getting the graphics capabilities. |
| [in] | structVersion | Version of the caps struct. Should be set to NV_D3D1x_GRAPHICS_CAPS_VER. |
| [in,out] | pGraphicsCaps | Pointer to a NV_D3D1x_GRAPHICS_CAPS_CAPS struct created by app. Graphics capabilities will be filled in this struct by the driver. |
| NVAPI_INTERFACE NvAPI_D3D1x_JoinSwapGroup | ( | IUnknown * | pDevice, |
| IDXGISwapChain * | pSwapChain, | ||
| NvU32 | group, | ||
| BOOL | blocking | ||
| ) |
DESCRIPTION: This API causes the SwapChain of a SwapGroup client to join or leave the specified SwapGroup.
| [in] | pDevice | The caller provides the D3D device that owns the SwapChain used as a SwapGroup client. pDevice can be either ID3D10Device or ID3D10Device1 or ID3D11Device or ID3D12Device. |
| [in] | pSwapChain | The IDXGISwapChain interface that is used as the SwapGroup client. |
| [in] | group | The caller specifies the SwapGroup which the SwapChain should join.
|
| [in] | blocking | The caller specifies that a presentation of this SwapChain should return immediately or block until all members of the SwapGroup are ready and the presentation was actually executed. A boolean value of false means the Present operation returns immediately and a value of true means the Present operation is blocking. |
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | the SwapChain joined/left the SwapGroup accordingly |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D1x_Present | ( | IUnknown * | pDevice, |
| IDXGISwapChain * | pSwapChain, | ||
| UINT | SyncInterval, | ||
| UINT | Flags | ||
| ) |
DESCRIPTION: Presents the contents of the next buffer in the sequence of back buffers owned by a D3D device. This Present operation supports using a SwapGroup and SwapBarrier on the SwapChain that owns the back buffer to be presented.
NOTE: NvAPI_D3D1x_Present is a wrapper of the method IDXGISwapChain::Present which additionally notifies the D3D driver of the SwapChain used by the runtime for presentation, thus allowing the D3D driver to apply SwapGroup and SwapBarrier functionality to that SwapChain.
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The D3D device interface that is used to issue the Present operation, using the following IDirect3DDevice9::Present input parameters. pDevice can be either ID3D10Device or ID3D10Device1 or ID3D11Device or ID3D12Device. |
| [in] | pSwapChain | The IDXGISwapChain interface that is intended to present |
| [in] | SyncInterval | An integer that specifies the how to synchronize presentation of a frame with the vertical blank. Values are:
|
| [in] | Flags | An integer value that contains swap-chain presentation options as defined in DXGI_PRESENT. |
| NVAPI_OK | the Present operation was successfully executed |
| NVAPI_DEVICE_BUSY | the Present operation failed with an error DXGI_ERROR_DEVICE_RESET or DXGI_ERROR_DEVICE_REMOVED, |
| NVAPI_ERROR | the communication with the D3D driver failed, SwapGroup/SwapBarrier may not be possible. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D1x_QueryFrameCount | ( | IUnknown * | pDevice, |
| NvU32 * | pFrameCount | ||
| ) |
DESCRIPTION: This API queries the universal framecounter of the Quadro-Sync master device.
| [in] | pDevice | The caller provides the D3D device that has access to the Quadro-Sync device, pDevice can be either ID3D10Device or ID3D10Device1 or ID3D11Device or ID3D12Device. |
| [out] | pFrameCount | The caller provides the storage space where the framecount is stored. |
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | *pFrameCount populated with framecount value. |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D1x_QueryMaxSwapGroup | ( | IUnknown * | pDevice, |
| NvU32 * | pMaxGroups, | ||
| NvU32 * | pMaxBarriers | ||
| ) |
DESCRIPTION: This API queries the number of supported SwapGroups and SwapBarriers in the graphics system.
| [in] | pDevice | The caller provides the D3D device that is intended to use SwapGroup functionality. pDevice can be either ID3D10Device or ID3D10Device1 or ID3D11Device or ID3D12Device. |
| [out] | pMaxGroups | The caller provides the storage space where the number of available SwapGroups is stored. |
| [out] | pMaxBarriers | The caller provides the storage space where the number of available SwapBarriers is stored. |
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | the number of SwapGroups and SwapBarriers has been stored |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D1x_QuerySwapGroup | ( | IUnknown * | pDevice, |
| IDXGISwapChain * | pSwapChain, | ||
| NvU32 * | pSwapGroup, | ||
| NvU32 * | pSwapBarrier | ||
| ) |
DESCRIPTION: This API queries the current SwapGroup and SwapBarrier that a SwapChain of a specific client device is bound to.
| [in] | pDevice | The caller provides the D3D device that owns the SwapChain used as a SwapGroup client. pDevice can be either ID3D10Device or ID3D10Device1 or ID3D11Device or ID3D12Device. |
| [in] | pSwapChain | The IDXGISwapChain interface that is used as the SwapGroup client. |
| [out] | pSwapGroup | The caller provides the storage space where the current SwapGroup is stored. |
| [out] | pSwapBarrier | The caller provides the storage space where the current SwapBarrier is stored. |
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | the current SwapGroup and SwapBarrier has been stored |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D1x_ResetFrameCount | ( | IUnknown * | pDevice | ) |
DESCRIPTION: This API resets the universal framecounter on the Quadro-Sync master device.
| [in] | pDevice | The caller provides the D3D device that has access to the Quadro-Sync device, pDevice can be either ID3D10Device or ID3D10Device1 or ID3D11Device or ID3D12Device. |
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | framecounter has been reset |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | pDevice arg passed in is invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NvAPI_D3D9_AliasSurfaceAsTexture | ( | IDirect3DDevice9 * | pDev, |
| IDirect3DSurface9 * | pSurface, | ||
| IDirect3DTexture9 ** | ppTexture, | ||
| DWORD | dwFlag | ||
| ) |
DESCRIPTION: Create a texture that is an alias of a surface registered with NvAPI. The new texture can be bound with IDirect3DDevice9::SetTexture(). Note that the texture must be unbound before drawing to the surface again. Unless the USE_SUPER flag is passed, MSAA surfaces will be resolved before being used as a texture. MSAA depth buffers are resolved with a point filter, and non-depth MSAA surfaces are resolved with a linear filter.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | The D3D device that owns the objects |
| [in] | pSurface | Pointer to a surface that has been registered with NvAPI to which a texture alias is to be provided |
| [out] | ppTexture | Fill with the texture created |
| [in] | dwFlag | NVAPI_ALIAS_SURFACE_FLAG to describe how to handle the texture |
| NVAPI_OK | completed request |
| NVAPI_INVALID_POINTER | A null pointer was passed as an argument |
| NVAPI_INVALID_ARGUMENT | One of the arguments was invalid, probably dwFlag. |
| NVAPI_UNREGISTERED_RESOURCE | pSurface has not been registered with NvAPI |
| NVAPI_ERROR | error occurred |
| NVAPI_INTERFACE NvAPI_D3D9_BindSwapBarrier | ( | IDirect3DDevice9 * | pDevice, |
| NvU32 | group, | ||
| NvU32 | barrier | ||
| ) |
DESCRIPTION: This API causes a SwapGroup to be bound to or released from the specified SwapBarrier.
| [in] | pDevice | The caller provides the DirectX 9 device that is used as a swapgroup client |
| [in] | group | The caller specifies the SwapGroup to be bound to the SwapBarrier. |
| [in] | barrier | The caller specifies the SwapBarrier that the SwapGroup should be bound to.
|
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | the SwapGroup is bound to or released from the specified SwapBarrier |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D9_ClearRT | ( | IDirect3DDevice9 * | pDevice, |
| NvU32 | dwNumRects, | ||
| CONST RECT * | pRects, | ||
| float | r, | ||
| float | g, | ||
| float | b, | ||
| float | a | ||
| ) |
DESCRIPTION: This API Clears the currently bound render target(s) with the given color
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The D3D device that owns the objects. |
| [in] | dwNumRects | The no of rectangles to clear. If 0, clear the entire surface (clipped to viewport) |
| [in] | pRects | Defines the rectangles to clear. Should be NULL if dwNumRects == 0 |
| [in] | r | red component of the clear color |
| [in] | g | green component of the clear color |
| [in] | b | blue component of the clear color |
| [in] | a | alpha component of the clear color |
| NVAPI_INTERFACE NvAPI_D3D9_GetSurfaceHandle | ( | IDirect3DSurface9 * | pSurface, |
| NVDX_ObjectHandle * | pHandle | ||
| ) |
SUPPORTED OS: Windows 7 and higher This function gets the handle of a given surface. This handle uniquely identifies the surface through all NvAPI entries.
| [in] | pSurface | Surface to be identified |
| [out] | pHandle | Will be filled by the return handle |
| NVAPI_INTERFACE NvAPI_D3D9_JoinSwapGroup | ( | IDirect3DDevice9 * | pDevice, |
| IDirect3DSwapChain9 * | pSwapChain, | ||
| NvU32 | group, | ||
| BOOL | blocking | ||
| ) |
DESCRIPTION: This API causes the SwapChain of a SwapGroup client to join or leave the specified SwapGroup.
| [in] | pDevice | The caller provides the DirectX 9 device that is used as a swapgroup client |
| [in] | pSwapChain | The caller provides the IDirect3DSwapChain9 interface as a handle to the SwapChain that belongs to the swapgroup client device |
| [in] | group | The caller specifies the SwapGroup which the SwapChain should join.
|
| [in] | blocking | The caller specifies that a presentation of this SwapChain should return immediately or block until all members of the SwapGroup are ready and the presentation was actually executed. A boolean value of false means the Present operation returns immediately and a value of true means the Present operation is blocking. |
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | the SwapChain joined/left the SwapGroup accordingly |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D9_Present | ( | IDirect3DDevice9 * | pDevice, |
| IDirect3DSwapChain9 * | pSwapChain, | ||
| const RECT * | pSourceRect, | ||
| const RECT * | pDestRect, | ||
| HWND | hDestWindowOverride, | ||
| const RGNDATA * | pDirtyRegion | ||
| ) |
DESCRIPTION: This API presents the contents of the next buffer in the sequence of back buffers owned by a IDirect3DDevice9 device. This Present operation supports using a SwapGroup and SwapBarrier on the SwapChain that owns the back buffer to be presented.
NOTE: NvAPI_D3D9_Present is a wrapper of the method IDirect3DDevice9::Present which additionally notifies the D3D driver of the SwapChain used by the runtime for presentation, thus allowing the D3D driver to apply SwapGroup and SwapBarrier functionality to that SwapChain.
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The IDirect3DDevice9 interface that is used to issue the Present, using the following IDirect3DDevice9::Present input parameters |
| [in] | pSwapChain | Optional pointer to a IDirect3DSwapChain9 interface. If provided, the presentation is executed using this interface (i.e. pSwapChain->Present()) for the given swapchain only. If NULL, the presentation is executed on the device for all swapchains as in pDevice->Present() |
| [in] | pSourceRect | A pointer to a RECT structure containing the source rectangle. If NULL, the entire source surface is presented. |
| [in] | pDestRect | A pointer to a RECT structure containing the destination rectangle, in window client coordinates. If NULL, the entire client area is filled. |
| [in] | hDestWindowOverride | A pointer to a destination window whose client area is taken as the target for this presentation. If this value is NULL, then the hWndDeviceWindow member of D3DPRESENT_PARAMTERS is taken. |
| [in] | pDirtyRegion | (IN) A pointer to a region to be presented. It must be NULL unless the swap chain was reated with D3DSWAPEFFECT_COPY. If this value is non-NULL, the contained region is expressed in back buffer coordinates. |
| NVAPI_OK | the Present operation was successfully executed |
| NVAPI_D3D_DEVICE_LOST | D3D device status is D3DERR_DEVICELOST or D3DERR_DEVICENOTRESET, the caller has to reset device |
| NVAPI_DEVICE_BUSY | the Present operation failed with an error other than D3DERR_DEVICELOST or D3DERR_DEVICENOTRESET |
| NVAPI_ERROR | the communication with the D3D driver failed, SwapGroup/SwapBarrier may not be possible. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D9_QueryFrameCount | ( | IDirect3DDevice9 * | pDevice, |
| NvU32 * | pFrameCount | ||
| ) |
DESCRIPTION: This API queries the universal framecounter of the Quadro-Sync master device.
| [in] | pDevice | The caller provides the DX9 device that has access to the Quadro-Sync device |
| [out] | pFrameCount | The caller provides the storage space where the framecount is stored. |
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | *pFrameCount populated with framecount value. |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D9_QueryMaxSwapGroup | ( | IDirect3DDevice9 * | pDevice, |
| NvU32 * | pMaxGroups, | ||
| NvU32 * | pMaxBarriers | ||
| ) |
DESCRIPTION: This API queries the number of supported SwapGroups and SwapBarriers in the graphics system.
| [in] | pDevice | The caller provides the DirectX 9 device that is used as a swapgroup client |
| [out] | pMaxGroups | The caller provides the storage space where the number of available SwapGroups is stored. |
| [out] | pMaxBarriers | The caller provides the storage space where the number of available SwapBarriers is stored. |
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | the number of SwapGroups and SwapBarriers has been stored |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D9_QuerySwapGroup | ( | IDirect3DDevice9 * | pDevice, |
| IDirect3DSwapChain9 * | pSwapChain, | ||
| NvU32 * | pSwapGroup, | ||
| NvU32 * | pSwapBarrier | ||
| ) |
DESCRIPTION: This API queries the current SwapGroup and SwapBarrier that a SwapChain of a specific client device is bound to.
| [in] | pDevice | The caller provides the DirectX 9 device that is used as a swapgroup client |
| [in] | pSwapChain | The caller provides the IDirect3DSwapChain9 interface as a handle to the SwapChain that belongs to the swapgroup client device |
| [out] | pSwapGroup | The caller provides the storage space where the current SwapGroup is stored. |
| [out] | pSwapBarrier | The caller provides the storage space where the current SwapBarrier is stored. |
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | the current SwapGroup and SwapBarrier has been stored |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D9_RegisterResource | ( | IDirect3DResource9 * | pResource | ) |
DESCRIPTION: This API binds a resource (surface/texture) so that it can be retrieved internally by NVAPI.
SUPPORTED OS: Windows 7 and higher
| [in] | pResource | surface/texture |
| NVAPI_INTERFACE NvAPI_D3D9_ResetFrameCount | ( | IDirect3DDevice9 * | pDevice | ) |
DESCRIPTION: This API resets the universal framecounter on the Quadro-Sync master device.
| [in] | pDevice | The caller provides the DX9 device that has access to the Quadro-Sync device |
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | framecounter has been reset |
| NVAPI_ERROR | The operation failed. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INITIALIZED | NvAPI was not yet initialized. |
| NVAPI_INTERFACE NvAPI_D3D9_StretchRectEx | ( | IDirect3DDevice9 * | pDevice, |
| IDirect3DResource9 * | pSourceResource, | ||
| CONST RECT * | pSourceRect, | ||
| IDirect3DResource9 * | pDestResource, | ||
| CONST RECT * | pDestRect, | ||
| D3DTEXTUREFILTERTYPE | Filter | ||
| ) |
DESCRIPTION: This API copies the contents of the source resource to the destination resource. This function can convert between a wider range of surfaces than IDirect3DDevice9::StretchRect. For example, it can copy from a depth/stencil surface to a texture.
The source and destination resources must be registered with NvAPI before being used with NvAPI_D3D9_StretchRectEx().
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The D3D device that owns the objects. |
| [in] | pSourceResource | Pointer to the source resource. |
| [in] | pSrcRect | Defines the rectangle on the source to copy from. If NULL, copy from the entire resource. |
| [in] | pDestResource | Pointer to the destination resource. |
| [in] | pDstRect | Defines the rectangle on the destination to copy to. If NULL, copy to the entire resource. |
| [in] | Filter | Choose a filtering method: D3DTEXF_NONE, D3DTEXF_POINT, D3DTEXF_LINEAR. |
| NVAPI_OK | completed request |
| NVAPI_INVALID_POINTER | An invalid pointer was passed as an argument (probably NULL) |
| NVAPI_INVALID_ARGUMENT | One of the arguments was invalid |
| NVAPI_UNREGISTERED_RESOURCE | a resource was passed in without being registered |
| NVAPI_ERROR | error occurred |
| NVAPI_INTERFACE NvAPI_D3D9_UnregisterResource | ( | IDirect3DResource9 * | pResource | ) |
DESCRIPTION: This API unbinds a resource (surface/texture) after use.
SUPPORTED OS: Windows 7 and higher
| [in] | pResource | surface/texture |
| NvAPI_D3D_BeginResourceRendering | ( | IUnknown * | pDeviceOrContext, |
| NVDX_ObjectHandle | obj, | ||
| NvU32 | Flags | ||
| ) |
DESCRIPTION: This function tells the driver that the resource will begin to receive updates. It must be used in combination with NvAPI_D3D_EndResourceRendering(). The primary use of this function is allow the driver to initiate early inter-frame synchronization of resources while running in AFR SLI mode.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | IDirect3DDevice9, ID3D10Device, ID3D11Device or ID3D11DeviceContext that is using the resource |
| [in] | obj | Previously obtained HV resource handle |
| [in] | Flags | The flags for functionality applied to resource while being used. |
| NVAPI_OK | Function succeeded, if used properly and driver can initiate proper sync'ing of the resources. |
| NVAPI_INVALID_ARGUMENT | Bad argument(s) or invalid flag values |
| NVAPI_INVALID_CALL | Mismatched begin/end calls |
| NVAPI_INTERFACE NvAPI_D3D_ConfigureAnsel | ( | __in IUnknown * | pDevice, |
| __in NVAPI_ANSEL_CONFIGURATION_STRUCT * | pNLSConfig | ||
| ) |
SUPPORTED OS: Windows 7 and higher
DESCRIPTION: This function configure the setting of AnselShim, including hotkey.
| [in] | pDevice | current d3d device (should be either ID3D11Device or ID3D10Device) |
| [in] | pAnselConfig | configuration of Ansel to be set, including hotkey setting |
| NVAPI_INTERFACE NvAPI_D3D_CreateLateLatchObject | ( | __in IUnknown * | pDevice, |
| __inout NV_D3D_LATELATCH_OBJECT_DESC * | pLateLatchObjectDesc | ||
| ) |
DESCRIPTION: Creates a Late Latch Object interface
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | Current ID3D11Device. |
| [in,out] | pLateLatchObjectDesc | Pointer to in/out structure for late latch object creation |
RETURN STATUS: 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_D3D_EndResourceRendering | ( | IUnknown * | pDeviceOrContext, |
| NVDX_ObjectHandle | obj, | ||
| NvU32 | Flags | ||
| ) |
DESCRIPTION: This function tells the driver that the resource is done receiving updates. It must be used in combination with NvAPI_D3D_BeginResourceRendering(). The primary use of this function is allow the driver to initiate early inter-frame syncs of resources while running in AFR SLI mode.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | IDirect3DDevice9, ID3D10Device, ID3D11Device or ID3D11DeviceContext that is using the resource |
| [in] | obj | Previously obtained HV resource handle |
| [in] | Flags | Reserved, must be zero |
| NVAPI_OK | Function succeeded, if used properly and driver can initiate proper sync'ing of the resources. |
| NVAPI_INVALID_ARGUMENT | Bad argument(s) or invalid flag values |
| NVAPI_INVALID_CALL | Mismatched begin/end calls |
| NVAPI_INTERFACE NvAPI_D3D_GetCurrentSLIState | ( | IUnknown * | pDevice, |
| NV_GET_CURRENT_SLI_STATE * | pSliState | ||
| ) |
DESCRIPTION: This function returns the current SLI state for the specified device. The structure contains the number of AFR groups, the current AFR group index, and what the AFR group index will be for the next frame. pDevice can be either a IDirect3DDevice9 or ID3D10Device pointer.
SUPPORTED OS: Windows 7 and higher
| NVAPI_OK | Completed request |
| NVAPI_ERROR | Error occurred |
| NVAPI_INTERFACE NvAPI_D3D_GetObjectHandleForResource | ( | IUnknown * | pDevice, |
| IUnknown * | pResource, | ||
| NVDX_ObjectHandle * | pHandle | ||
| ) |
DESCRIPTION: This API gets a handle to a resource.
| [in] | pDev | The ID3D11Device, ID3D10Device or IDirect3DDevice9 or ID3D11DeviceContext to use |
| [in] | pResource | The ID3D11Resource, ID3D10Resource or IDirect3DResource9 from which we want the NvAPI handle |
| [out] | pHandle | A handle to the resource |
SUPPORTED OS: Windows 7 and higher
| NvAPI_D3D_ImplicitSLIControl | ( | __in IMPLICIT_SLI_CONTROL | implicitSLIControl | ) |
SUPPORTED OS: Windows 7 and higher
This function enables/disables the SLI rendering mode. It has to be called prior to D3D device creation. Once this function is called with DISABLE_IMPLICIT_SLI parameter all subsequently created devices will be forced to run in a single gpu mode until the same function is called with ENABLE_IMPLICIT_SLI parameter. The enable call will force all subsequently created devices to run in default implicit SLI mode being determined by an application profile or a global control panel SLI setting. This NvAPI call is supported in all DX10+ versions of the driver. It is supported on all Windows versions.
| NVAPI_OK | Completed request |
| NVAPI_ERROR | Error occurred |
| NVAPI_INTERFACE NvAPI_D3D_InitializeNvGazeHandler | ( | __in IUnknown * | pDevice, |
| __inout NV_GAZE_HANDLER_INIT_PARAMS * | pInitializeNvGazeHandlerParams | ||
| ) |
DESCRIPTION: Creates an interface for updating and managing gaze data
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The device to be used for creating the Gaze Handler interface |
| [in] | pInitializeNvGazeHandlerParams | Descriptor for Gaze Data Handler initialization |
| NVAPI_INTERFACE NvAPI_D3D_InitializeSMPAssist | ( | __in IUnknown * | pDevice, |
| __inout NV_SMP_ASSIST_INITIALIZE_PARAMS * | pSMPAssistInitParams | ||
| ) |
DESCRIPTION: Initializes SMP Assist extension. Takes the SMPAssist(MRS/LMS) parameters from the application. Provides the application with an interface pointer for future use.
| [in] | pDevice | Pointer to IUnknown (Currently supports ID3D11Device) |
| [in,out] | pSMPAssistInitParams | SMP Assist initialization params |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One of the required input arguments was NULL |
| NVAPI_INTERFACE NvAPI_D3D_InitializeVRSHelper | ( | __in IUnknown * | pDevice, |
| __inout NV_VRS_HELPER_INIT_PARAMS * | pInitializeVRSHelperParams | ||
| ) |
SUPPORTED OS: Windows 7 and higherDESCRIPTION: Creates an interface for updating, enabling and disabling internally tracked shading rate pattern for Variable Rate Shading
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The device to be used for creating the VRS Handler interface |
| [in] | pInitializeVRSHelperParams | Descriptor for VRS Helper initialization |
| NVAPI_INTERFACE NvAPI_D3D_IsGSyncActive | ( | __in IUnknown * | pDeviceOrContext, |
| __in NVDX_ObjectHandle | primarySurface, | ||
| __out BOOL * | pIsGsyncActive | ||
| ) |
FUNCTION NAME: NvAPI_D3D_IsGSyncActive
DESCRIPTION: This API get the G-Sync state for the given device context. This is only reliable after the first present call has completed. As it is a bit time consuming, It should not be called per frame.
| [in] | pDeviceOrContext | The D3D9, D3D10, D3D11 device, or D3D11 device context |
| [in] | NVDX_ObjectHandle | The handle of primary surface |
| [out] | pIsGsyncActive | if G-Sync is active, *pisGsyncActive is true. |
SUPPORTED OS: Windows 7 and higher
RETURN STATUS: 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_D3D_IsGSyncCapable | ( | __in IUnknown * | pDeviceOrContext, |
| __in NVDX_ObjectHandle | primarySurface, | ||
| __out BOOL * | pIsGsyncCapable | ||
| ) |
FUNCTION NAME: NvAPI_D3D_IsGSyncCapable
DESCRIPTION: This API gets G-Sync capability for the given device context. This is only reliable after the first present call has completed.
| [in] | pDeviceOrContext | The D3D9, D3D10, D3D11 device, or D3D11 device context |
| [in] | NVDX_ObjectHandle | The handle of primary surface |
| [out] | pIsGsyncCapable | if G-Sync can be enabled, *pIsGsyncCapable is true. |
SUPPORTED OS: Windows 7 and higher
RETURN STATUS: 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_D3D_QueryLateLatchSupport | ( | __in IUnknown * | pDevice, |
| __inout NV_QUERY_LATELATCH_SUPPORT_PARAMS * | pQueryLateLatchSupportParams | ||
| ) |
DESCRIPTION: Queries the support of DX11 Late Latch feature on current setup.
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | Current ID3D11Device. |
| [in,out] | pQueryLateLatchSupportParams | Stores value of whether Late Latch is supported on current setup or not. |
RETURN STATUS: 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_D3D_QueryModifiedWSupport | ( | __in IUnknown * | pDev, |
| __inout NV_QUERY_MODIFIED_W_SUPPORT_PARAMS * | pQueryModifiedWSupportedParams | ||
| ) |
DESCRIPTION: Queries the support of Modified W feature on current setup and returns appropriate boolean value.
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The ID3D11Device to use. |
| [in,out] | pQueryModifiedWSupportedParams | Stores value of whether Modified W is supported on current setup or not. |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid. |
| NVAPI_INTERFACE NvAPI_D3D_QueryMultiViewSupport | ( | __in IUnknown * | pDevice, |
| __inout NV_QUERY_MULTIVIEW_SUPPORT_PARAMS * | pQueryMultiViewSupportedParams | ||
| ) |
DESCRIPTION: Queries the support of MultiView feature on current setup and returns appropriate boolean value.
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The ID3D11Device to use. |
| [in,out] | pMultiViewSupportedParams | Stores value of whether MultiView is supported on current setup or not. |
| NVAPI_INTERFACE NvAPI_D3D_QuerySinglePassStereoSupport | ( | __in IUnknown * | pDevice, |
| __inout NV_QUERY_SINGLE_PASS_STEREO_SUPPORT_PARAMS * | pQuerySinglePassStereoSupportedParams | ||
| ) |
DESCRIPTION: Queries the support of Single Pass Stereo feature on current setup and returns appropriate boolean value.
SUPPORTED OS: Windows 7 and higher
| [in] | pDevice | The ID3D11Device to use. |
| [in,out] | pSinglePassStereoSupportedParams | Stores value of whether Single Pass Stereo is supported on current setup or not. |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid. |
| NVAPI_INTERFACE NvAPI_D3D_QuerySMPAssistSupport | ( | __in IUnknown * | pDev, |
| __inout NV_QUERY_SMP_ASSIST_SUPPORT_PARAMS * | pQuerySMPAssistSupportParams | ||
| ) |
SUPPORTED OS: Windows 7 and higher : Query SMP assist extension support.
| [in] | pDev | Pointer to IUnknown (Currently supports ID3D11Device) |
| [out] | pQuerySMPAssistSupportParams | Pointer to a structure returning requested SMP assist support |
| NVAPI_NOT_SUPPORTED | Requested SMP assist is not supported. |
| NVAPI_OK | Call succeeded. Check value of pQuerySMPAssistSupportParams->bSMPAssistSupported |
| NVAPI_INVALID_POINTER | pDev or pQuerySMPAssistSupportParams was a NULL pointer |
| NVAPI_INTERFACE NvAPI_D3D_RegisterDevice | ( | __in IUnknown * | pDev | ) |
DESCRIPTION: Tells NvAPI about a D3D device. This must be called prior to using any DX1x deferred-context calls.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | The ID3D10Device or ID3D11Device to use. |
RETURN STATUS: 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_D3D_SetFPSIndicatorState | ( | IUnknown * | pDev, |
| NvU8 | doEnable | ||
| ) |
DESCRIPTION: Display an overlay that tracks the number of times the app presents per second, or, the number of frames-per-second (FPS)
SUPPORTED OS: Windows 7 and higher
| [in] | bool | Whether or not to enable the fps indicator. |
| NVAPI_OK | |
| NVAPI_ERROR |
| NVAPI_INTERFACE NvAPI_D3D_SetModifiedWMode | ( | __in IUnknown * | pDevOrContext, |
| __in NV_MODIFIED_W_PARAMS * | psModifiedWParams | ||
| ) |
DESCRIPTION: Set the Modified W state and A,B coefficients for HW support
SUPPORTED OS: Windows 7 and higher
| [in] | pDevOrContext | The ID3D11Device or ID3D11DeviceContext to use. |
| [in] | psModifiedWParams | Modified W parameters. |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid. |
| NVAPI_INTERFACE NvAPI_D3D_SetMultiViewMode | ( | __in IUnknown * | pDevOrContext, |
| __in NV_MULTIVIEW_PARAMS * | pMultiViewParams | ||
| ) |
DESCRIPTION: Set the MultiView state
SUPPORTED OS: Windows 7 and higher
| [in] | pDevOrContext | The ID3D11Device or ID3D11DeviceContext to use. |
| [in] | pMultiViewParams | MultiView Params |
| NvAPI_D3D_SetResourceHint | ( | IUnknown * | pDev, |
| NVDX_ObjectHandle | obj, | ||
| NVAPI_D3D_SETRESOURCEHINT_CATEGORY | dwHintCategory, | ||
| NvU32 | dwHintName, | ||
| NvU32 * | pdwHintValue | ||
| ) |
DESCRIPTION: This is a general purpose function for passing down various resource related hints to the driver. Hints are divided into categories and types within each category. For DX11 devices this function is free-threaded. An application is responsible to complete this call before making use of the resource in a rendering context (therefore applying inter-thread synchronization as appropriate). As a debug help to an application the driver enforces that a resource in this call was never bound.
SUPPORTED OS: Windows 7 and higher
| [in] | pDev | The ID3D10Device or IDirect3DDevice9 that is a using the resource |
| [in] | obj | Previously obtained HV resource handle |
| [in] | dwHintCategory | Category of the hints |
| [in] | dwHintName | A hint within this category |
| [in/out] | *pdwHintValue Pointer to location containing hint value, function returns previous hint value in this slot |
| NVAPI_OK | |
| NVAPI_INVALID_ARGUMENT | |
| NVAPI_INVALID_CALL | It is illegal to change a hint dynamically when the resource is already bound. |
| NVAPI_INTERFACE NvAPI_D3D_SetSinglePassStereoMode | ( | __in IUnknown * | pDevOrContext, |
| __in NvU32 | numViews, | ||
| __in NvU32 | renderTargetIndexOffset, | ||
| __in NvU8 | independentViewportMaskEnable | ||
| ) |
DESCRIPTION: Set the Single Pass Stereo state
SUPPORTED OS: Windows 7 and higher
| [in] | pDevOrContext | The ID3D11Device or ID3D11DeviceContext to use. |
| [in] | numViews | Number of views to render. |
| [in] | renderTargetIndexOffset | Offset between render targets of the different views. |
| [in] | independentViewportMaskEnable | Is the independent viewport mask enabled. |
| NVAPI_OK | Call succeeded. |
| NVAPI_ERROR | Call failed. |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid. |
