NVAPI Reference Documentation
|
|
Release 560
|
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_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_D3D_SetVerticalSyncMode (__in IUnknown *pDevice, __in NVAPI_VSYNC_MODE vsyncMode) |
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_D3D12_QueryPresentBarrierSupport (__in ID3D12Device *pDevice, __out bool *pSupported) |
NVAPI_INTERFACE | NvAPI_D3D12_CreatePresentBarrierClient (__in ID3D12Device *pDevice, __in IDXGISwapChain *pSwapChain, __out NvPresentBarrierClientHandle *pPresentBarrierClient) |
NVAPI_INTERFACE | NvAPI_D3D12_RegisterPresentBarrierResources (__in NvPresentBarrierClientHandle presentBarrierClient, __in ID3D12Fence *pFence, __in ID3D12Resource **ppResources, __in NvU32 numResources) |
NVAPI_INTERFACE | NvAPI_D3D12_CreateDDisplayPresentBarrierClient (__in ID3D12Device *pDevice, __in NvU32 sourceId, __out NvPresentBarrierClientHandle *pPresentBarrierClient) |
NVAPI_INTERFACE | NvAPI_D3D11_CreateRasterizerState (__in ID3D11Device *pDevice, __in const NvAPI_D3D11_RASTERIZER_DESC_EX *pRasterizerDesc, __out ID3D11RasterizerState **ppRasterizerState) |
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_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_QueryCpuVisibleVidmem (__in ID3D12Device *pDevice, __out NvU64 *pTotalBytes, __out NvU64 *pFreeBytes) |
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_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_GetCopyableFootprints (__in ID3D12Device *pDevice, __in const D3D12_RESOURCE_DESC *pResourceDesc, __in const NV_RESOURCE_PARAMS *pNVResourceParams, __in UINT FirstSubresource, __in UINT NumSubresources, __in UINT64 BaseOffset, __out_ecount_opt(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts, __out_ecount_opt(NumSubresources) UINT *pNumRows, __out_ecount_opt(NumSubresources) UINT64 *pRowSizeInBytes, __out_opt UINT64 *pTotalBytes) |
NVAPI_INTERFACE | NvAPI_D3D12_CopyTextureRegion (__in ID3D12GraphicsCommandList *pCommandList, __in const D3D12_TEXTURE_COPY_LOCATION *pDst, __in UINT DstX, __in UINT DstY, __in UINT DstZ, __in const D3D12_TEXTURE_COPY_LOCATION *pSrc, __in_opt const D3D12_BOX *pSrcBox) |
NVAPI_INTERFACE | NvAPI_D3D12_IsNvShaderExtnOpCodeSupported (__in ID3D12Device *pDevice, __in NvU32 opCode, __out bool *pSupported) |
NVAPI_INTERFACE | NvAPI_D3D12_GetOptimalThreadCountForMesh (__in ID3D12Device *pDevice, __out NvU32 *pThreadCount) |
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_GetNeedsAppFPBlendClamping (__in ID3D12Device *pDevice, __out bool *pAppClampNeeded) |
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_D3D12_GetGraphicsCapabilities (__in IUnknown *pDevice, __in NvU32 structVersion, __inout NV_D3D12_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_GetSleepStatus (__in IUnknown *pDev, __in NV_GET_SLEEP_STATUS_PARAMS *pGetSleepStatusParams) |
NVAPI_INTERFACE | NvAPI_D3D_SetSleepMode (__in IUnknown *pDev, __in NV_SET_SLEEP_MODE_PARAMS *pSetSleepModeParams) |
NVAPI_INTERFACE | NvAPI_D3D_Sleep (__in IUnknown *pDev) |
NVAPI_INTERFACE | NvAPI_D3D_SetReflexSync (__in IUnknown *pDev, __in NV_SET_REFLEX_SYNC_PARAMS *pSetReflexSyncParams) |
NVAPI_INTERFACE | NvAPI_D3D_GetLatency (__in IUnknown *pDev, __out NV_LATENCY_RESULT_PARAMS *pGetLatencyParams) |
NVAPI_INTERFACE | NvAPI_D3D_SetLatencyMarker (__in IUnknown *pDev, __in NV_LATENCY_MARKER_PARAMS *pSetLatencyMarkerParams) |
NVAPI_INTERFACE | NvAPI_D3D12_SetAsyncFrameMarker (__in ID3D12CommandQueue *pCommandQueue, __in NV_ASYNC_FRAME_MARKER_PARAMS *pSetAsyncFrameMarkerParams) |
NVAPI_INTERFACE | NvAPI_D3D12_NotifyOutOfBandCommandQueue (__in ID3D12CommandQueue *pCommandQueue, __in NV_OUT_OF_BAND_CQ_TYPE cqType) |
NVAPI_INTERFACE | NvAPI_D3D12_SetCreateCommandQueueLowLatencyHint (__in ID3D12Device *pDevice) |
NVAPI_INTERFACE | NvAPI_D3D12_GetRaytracingCaps (__in ID3D12Device *pDevice, __in NVAPI_D3D12_RAYTRACING_CAPS_TYPE type, __out void *pData, __in size_t dataSize) |
NVAPI_INTERFACE | NvAPI_D3D12_EnableRaytracingValidation (__in ID3D12Device5 *pDevice, __in NVAPI_D3D12_RAYTRACING_VALIDATION_FLAGS flags) |
NVAPI_INTERFACE | NvAPI_D3D12_RegisterRaytracingValidationMessageCallback (__in ID3D12Device5 *pDevice, __in NVAPI_D3D12_RAYTRACING_VALIDATION_MESSAGE_CALLBACK pfnMessageCallback, __in_opt void *pUserData, __out void **pHandle) |
NVAPI_INTERFACE | NvAPI_D3D12_UnregisterRaytracingValidationMessageCallback (__in ID3D12Device5 *pDevice, __in void *handle) |
NVAPI_INTERFACE | NvAPI_D3D12_FlushRaytracingValidationMessages (__in ID3D12Device5 *pDevice) |
NVAPI_INTERFACE | NvAPI_D3D12_GetRaytracingDisplacementMicromapArrayPrebuildInfo (__in ID3D12Device5 *pDevice, __inout NVAPI_GET_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PREBUILD_INFO_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_GetRaytracingOpacityMicromapArrayPrebuildInfo (__in ID3D12Device5 *pDevice, __inout NVAPI_GET_RAYTRACING_OPACITY_MICROMAP_ARRAY_PREBUILD_INFO_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_SetCreatePipelineStateOptions (__in ID3D12Device5 *pDevice, __in const NVAPI_D3D12_SET_CREATE_PIPELINE_STATE_OPTIONS_PARAMS *pState) |
NVAPI_INTERFACE | NvAPI_D3D12_CheckDriverMatchingIdentifierEx (__in ID3D12Device5 *pDevice, __inout NVAPI_CHECK_DRIVER_MATCHING_IDENTIFIER_EX_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_GetRaytracingAccelerationStructurePrebuildInfoEx (__in ID3D12Device5 *pDevice, __inout NVAPI_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_EX_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_BuildRaytracingOpacityMicromapArray (__in ID3D12GraphicsCommandList4 *pCommandList, __in NVAPI_BUILD_RAYTRACING_OPACITY_MICROMAP_ARRAY_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_RelocateRaytracingOpacityMicromapArray (__in ID3D12GraphicsCommandList4 *pCommandList, __in const NVAPI_RELOCATE_RAYTRACING_OPACITY_MICROMAP_ARRAY_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_BuildRaytracingDisplacementMicromapArray (__in ID3D12GraphicsCommandList4 *pCommandList, __in NVAPI_BUILD_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_RelocateRaytracingDisplacementMicromapArray (__in ID3D12GraphicsCommandList4 *pCommandList, __in const NVAPI_RELOCATE_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_EmitRaytracingDisplacementMicromapArrayPostbuildInfo (__in ID3D12GraphicsCommandList4 *pCommandList, __in const NVAPI_EMIT_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_EmitRaytracingOpacityMicromapArrayPostbuildInfo (__in ID3D12GraphicsCommandList4 *pCommandList, __in const NVAPI_EMIT_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_BuildRaytracingAccelerationStructureEx (__in ID3D12GraphicsCommandList4 *pCommandList, __in const NVAPI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_EX_PARAMS *pParams) |
NVAPI_INTERFACE | NvAPI_D3D12_QueryWorkstationFeatureProperties (__in ID3D12Device *pDevice, __inout NVAPI_D3D12_WORKSTATION_FEATURE_PROPERTIES_PARAMS *pWorkstationFeatureProperties) |
NVAPI_INTERFACE | NvAPI_D3D12_CreateCommittedRDMABuffer (__in ID3D12Device *pDevice, __in NvU64 size, __in NvU32 heapCreationNodeMask, __in NvU32 heapVisibleNodeMask, __in REFIID riidResource, __out void **ppvResource, __out void **ppRDMAAddress) |
NVAPI_INTERFACE | NvAPI_DirectD3D12GraphicsCommandList_Create (__in ID3D12GraphicsCommandList *pDXD3D12GraphicsCommandList, __out INvAPI_DirectD3D12GraphicsCommandList **ppReturnD3D12GraphicsCommandList) |
NVAPI_INTERFACE | NvAPI_DirectD3D12GraphicsCommandList_Release (__in INvAPI_DirectD3D12GraphicsCommandList *pD3D12GraphicsCommandList) |
NVAPI_INTERFACE | NvAPI_DirectD3D12GraphicsCommandList_Reset (__in INvAPI_DirectD3D12GraphicsCommandList *pD3D12GraphicsCommandList) |
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) |
#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 NVAPI_COPY_ASYNCHRONOUSLY 1 |
SUPPORTED OS: Windows 7 and higher
#define NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_BYTE_ALIGNMENT 256 |
Mandatory alignment for the address of a DMM Array.
#define NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_DC1_MAX_SUBDIVISION_LEVEL 5 |
Highest subdivision-level allowed with DC1.
#define NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_BYTE_ALIGNMENT 256 |
Mandatory alignment for the address of an OMM Array.
#define NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_OC1_MAX_SUBDIVISION_LEVEL 12 |
Highest subdivision-level allowed with OC1.
typedef ID3DLateLatchObject_V1 ID3DLateLatchObject |
See NvAPI_D3D_CreateLateLatchObject
typedef enum _IMPLICIT_SLI_CONTROL IMPLICIT_SLI_CONTROL |
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 |
typedef struct _NV_ASYNC_FRAME_MARKER_PARAMS_V1 NV_ASYNC_FRAME_MARKER_PARAMS_V1 |
SUPPORTED OS: Windows 10 and higher
Used in NvAPI_D3D12_SetAsyncFrameMarker
Enum for compute shader derivative modes
See NvAPI_D3D11_RSSetExclusiveScissorRects
typedef struct _NV_D3D12_GRAPHICS_CAPS_V1 NV_D3D12_GRAPHICS_CAPS_V1 |
See NvAPI_D3D12_GetGraphicsCapabilities
typedef struct _NV_D3D1x_GRAPHICS_CAPS_V1 NV_D3D1x_GRAPHICS_CAPS_V1 |
See NvAPI_D3D1x_GetGraphicsCapabilities
typedef struct _NV_GET_SLEEP_STATUS_PARAMS NV_GET_SLEEP_STATUS_PARAMS_V1 |
SUPPORTED OS: Windows 7 and higher
Used to get sleep status
typedef struct _NV_LATENCY_MARKER_PARAMS NV_LATENCY_MARKER_PARAMS_V1 |
SUPPORTED OS: Windows 7 and higher
Used set latency markers
typedef struct _NV_LATENCY_RESULT_PARAMS NV_LATENCY_RESULT_PARAMS_V1 |
SUPPORTED OS: Windows 7 and higher
Used to get latency report.
typedef struct _NV_MULTIGPU_CAPS_V1 NV_MULTIGPU_CAPS_V1 |
SUPPORTED OS: Windows 7 and higher DESCRIPTION: Request to get multi GPU extension caps.
[in/out] | pMultiGPUCaps Pointer to a structure returning multi GPU caps |
NVAPI_OK | Call succeeded. |
NVAPI_ERROR | Call failed. |
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.
constant 5 is assigned to two members of this enum becuase the first member name contains a typo: EXTNENSION. Please use the correctly-spelled enumerator.
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 struct _NV_SET_REFLEX_SYNC_PARAMS NV_SET_REFLEX_SYNC_PARAMS_V1 |
SUPPORTED OS: Windows 10 and higher
Used to send Reflex Sync data to UMD
typedef struct _NV_SET_SLEEP_MODE_PARAMS NV_SET_SLEEP_MODE_PARAMS_V1 |
SUPPORTED OS: Windows 7 and higher
Used to set sleep mode
typedef enum NV_SMP_ASSIST_TYPE NV_SMP_ASSIST_TYPE |
SUPPORTED OS: Windows 7 and higher
typedef enum _NVAPI_ANSEL_FEATURE NVAPI_ANSEL_FEATURE |
SUPPORTED OS: Windows 7 and higher
typedef struct _NVAPI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_EX_PARAMS_V1 NVAPI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_EX_PARAMS_V1 |
Parameters given to NvAPI_D3D12_RelocateRaytracingOpacityMicromapArray().
typedef struct _NVAPI_BUILD_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PARAMS_V1 NVAPI_BUILD_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PARAMS_V1 |
Parameters given to NvAPI_D3D12_BuildRaytracingDisplacementMicromapArray().
typedef struct _NVAPI_BUILD_RAYTRACING_OPACITY_MICROMAP_ARRAY_PARAMS_V1 NVAPI_BUILD_RAYTRACING_OPACITY_MICROMAP_ARRAY_PARAMS_V1 |
Parameters given to NvAPI_D3D12_BuildRaytracingOpacityMicromapArray().
typedef struct _NVAPI_CHECK_DRIVER_MATCHING_IDENTIFIER_EX_PARAMS_V1 NVAPI_CHECK_DRIVER_MATCHING_IDENTIFIER_EX_PARAMS_V1 |
Parameters given to NvAPI_D3D12_CheckDriverMatchingIdentifierEx().
typedef enum _NVAPI_D3D11_INSERTWFI_FLAG NVAPI_D3D11_INSERTWFI_FLAG |
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.
typedef struct _NVAPI_D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC_EX NVAPI_D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC_EX |
This structure extends D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_DESC
by supporting additional geometry types as inputs. For more information on the different members, please check Microsoft's DirectX Raytracing Specification.
typedef struct _NVAPI_D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_EX NVAPI_D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS_EX |
This structure extends D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS
by supporting additional geometry types. Only modified members are fully described below; for more information on the other members, please check Microsoft's DirectX Raytracing Specification.
typedef struct _NVAPI_D3D12_BUILD_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_DESC NVAPI_D3D12_BUILD_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_DESC |
Description of the inputs and memory areas used during the building of DMM Arrays.
typedef struct _NVAPI_D3D12_BUILD_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_INPUTS NVAPI_D3D12_BUILD_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_INPUTS |
Input structure to DMM Array construction. Individual DMMs are accessed via indices when used in bottom-level acceleration structure (BLAS) construction.
typedef struct _NVAPI_D3D12_BUILD_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC NVAPI_D3D12_BUILD_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC |
Description of the inputs and memory areas used during the building of OMM Arrays.
typedef struct _NVAPI_D3D12_BUILD_RAYTRACING_OPACITY_MICROMAP_ARRAY_INPUTS NVAPI_D3D12_BUILD_RAYTRACING_OPACITY_MICROMAP_ARRAY_INPUTS |
Input structure to OMM Array construction. Individual OMMs are accessed via indices when used in bottom-level acceleration structure (BLAS) construction.
Pipeline creation state flags.
typedef enum _NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS_EX NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS_EX |
This enum extends D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS
with modified and additional values. Only modified/new values are fully described; for more information on the other values, please check Microsoft's DirectX Raytracing Specification.
List of Raytracing CAPS types that can be queried.
typedef enum _NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_BUILD_FLAGS NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_BUILD_FLAGS |
SUPPORTED OS: Windows 10 and higher Flags specifying building instructions and hints when constructing a DMM Array.
typedef struct _NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC |
Structure emitted by NvAPI_D3D12_EmitRaytracingDisplacementMicromapArrayPostbuildInfo(), and optionally NvAPI_D3D12_BuildRaytracingDisplacementMicromapArray(), when type
equals NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE.
typedef struct _NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_DESC NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_DESC |
Description of the postbuild information to generate from a DMM Array.
typedef enum _NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE |
Type of postbuild info to emit after a DMM Array build.
typedef struct _NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PREBUILD_INFO NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PREBUILD_INFO |
Conservative memory requirements for building a DMM Array.
typedef enum _NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_CAPS NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_CAPS |
Flags specifying raytracing Displacement Micromap support. Additional flags will be added as support becomes available.
typedef struct _NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_DESC NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_DESC |
Describes one Displacement Micromap.
typedef enum _NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_FORMAT NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_FORMAT |
Specifies the input Displacement Micromap formats. The DC1 (Displacement Compression 1) format follows the space-filling curve in barycentric space over the uniformly tessellated micro-triangles.
typedef enum _NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_PRIMITIVE_FLAGS NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_PRIMITIVE_FLAGS |
The edge vA..vB is decimated: after subdivision the number of micro-triangles on that edge is halved. (i.e. the neighboring primitive can have a lower subdivision level without introducing cracks)
typedef struct _NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_USAGE_COUNT NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_USAGE_COUNT |
Number of DMMs of a specific configuration in a DMM Array or BLAS build. Used to compute conservative buffer size estimates for DMM Array and BLAS builds.
This structure extends D3D12_RAYTRACING_GEOMETRY_DESC
by supporting additional geometry types. Only new members are fully described below; for more information on the other members, please check Microsoft's DirectX Raytracing Specification.
typedef struct _NVAPI_D3D12_RAYTRACING_GEOMETRY_DMM_ATTACHMENT_DESC NVAPI_D3D12_RAYTRACING_GEOMETRY_DMM_ATTACHMENT_DESC |
Geometry descriptor attachment with Displacement Micromaps.
typedef struct _NVAPI_D3D12_RAYTRACING_GEOMETRY_DMM_TRIANGLES_DESC NVAPI_D3D12_RAYTRACING_GEOMETRY_DMM_TRIANGLES_DESC |
Geometry triangle descriptor with attached augmented Displacement Micromaps.
typedef struct _NVAPI_D3D12_RAYTRACING_GEOMETRY_OMM_ATTACHMENT_DESC NVAPI_D3D12_RAYTRACING_GEOMETRY_OMM_ATTACHMENT_DESC |
Geometry descriptor attachment with Opacity Micromaps.
typedef struct _NVAPI_D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC NVAPI_D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC |
Geometry triangle descriptor with attached augmented Opacity Micromaps.
This enum extends D3D12_RAYTRACING_GEOMETRY_TYPE
with additional values. Only new values are fully described below; for more information on the other values, please check Microsoft's DirectX Raytracing Specification.
This enum extends D3D12_RAYTRACING_INSTANCE_FLAGS
with additional values. Only new values are fully described below; for more information on the other values, please check Microsoft's DirectX Raytracing Specification.
typedef enum _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_BUILD_FLAGS NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_BUILD_FLAGS |
SUPPORTED OS: Windows 10 and higher Flags specifying building instructions and hints when constructing an OMM Array.
typedef struct _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC |
Structure emitted by NvAPI_D3D12_EmitRaytracingOpacityMicromapArrayPostbuildInfo(), and optionally NvAPI_D3D12_BuildRaytracingOpacityMicromapArray(), when type
equals NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE.
typedef struct _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_DESC NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_DESC |
Description of the postbuild information to generate from an OMM Array.
typedef enum _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE |
Type of postbuild info to emit after an OMM Array build.
typedef struct _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_PREBUILD_INFO NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_PREBUILD_INFO |
Conservative memory requirements for building an OMM Array.
typedef enum _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_CAPS NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_CAPS |
Flags specifying raytracing Opacity Micromap support. Additional flags will be added as support becomes available.
typedef struct _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_DESC NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_DESC |
Describes one Opacity Micromap.
typedef enum _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT |
Specifies the input Opacity Micromap formats. The OC1 (Opacity Compression 1) format follows the space-filling curve in barycentric space over the uniformly tessellated micro-triangles.
typedef enum _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_SPECIAL_INDEX |
If a triangle has a uniform OMM state in a BLAS build, it is preferable to signal this explicitly rather than attaching a single state OMM. This can be accomplished by supplying these special indices as entries in opacityMicromapIndexBuffer
, in NVAPI_D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC.
typedef enum _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_STATE NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_STATE |
Opacity Micromap micro-triangle states. Not part of any input, but listed here for convenience.
typedef struct _NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_USAGE_COUNT NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_USAGE_COUNT |
Number of OMMs of a specific configuration in an OMM Array. Used to compute conservative buffer size estimates for OMM Array builds.
typedef enum _NVAPI_D3D12_RAYTRACING_THREAD_REORDERING_CAPS NVAPI_D3D12_RAYTRACING_THREAD_REORDERING_CAPS |
Flags specifying raytracing thread reordering hardware support. Additional flags will be added as support becomes available.
Flags specifying validation behaviour for raytracing operations.
See NvAPI_D3D12_EnableRaytracingValidation
typedef void(__stdcall * NVAPI_D3D12_RAYTRACING_VALIDATION_MESSAGE_CALLBACK) (void *pUserData, NVAPI_D3D12_RAYTRACING_VALIDATION_MESSAGE_SEVERITY severity, const char *messageCode, const char *message, const char *messageDetails) |
Callback for raytracing validation messages.
[in] | pUserData | User data pointer as provided to callback registration. |
[in] | severity | Severity of message. |
[in] | messageCode | Type of reported validation message. |
[in] | message | Human-readable description of what the message code means. |
[in] | messageDetails | Additional human-readable context for validation message. May contain newlines. |
See NvAPI_D3D12_RegisterRaytracingValidationMessageCallback
typedef enum _NVAPI_D3D12_RAYTRACING_VALIDATION_MESSAGE_SEVERITY NVAPI_D3D12_RAYTRACING_VALIDATION_MESSAGE_SEVERITY |
Severity classification of validation messages.
See NVAPI_D3D12_RAYTRACING_VALIDATION_MESSAGE_CALLBACK
Type of serialized data.
typedef struct _NVAPI_D3D12_SET_CREATE_PIPELINE_STATE_OPTIONS_PARAMS_V1 NVAPI_D3D12_SET_CREATE_PIPELINE_STATE_OPTIONS_PARAMS_V1 |
State used when creating new pipelines.
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.
typedef struct _NVAPI_EMIT_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_PARAMS_V1 NVAPI_EMIT_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_PARAMS_V1 |
Parameters given to NvAPI_D3D12_EmitRaytracingDisplacementMicromapArrayPostbuildInfo().
typedef struct _NVAPI_EMIT_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_PARAMS_V1 NVAPI_EMIT_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_PARAMS_V1 |
Parameters given to NvAPI_D3D12_EmitRaytracingOpacityMicromapArrayPostbuildInfo().
typedef struct _NVAPI_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_EX_PARAMS_V1 NVAPI_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_EX_PARAMS_V1 |
Parameters given to NvAPI_D3D12_GetRaytracingAccelerationStructurePrebuildInfoEx().
typedef struct _NVAPI_GET_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PREBUILD_INFO_PARAMS_V1 NVAPI_GET_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PREBUILD_INFO_PARAMS_V1 |
Parameters given to NvAPI_D3D12_GetRaytracingDisplacementMicromapArrayPrebuildInfo().
typedef struct _NVAPI_GET_RAYTRACING_OPACITY_MICROMAP_ARRAY_PREBUILD_INFO_PARAMS_V1 NVAPI_GET_RAYTRACING_OPACITY_MICROMAP_ARRAY_PREBUILD_INFO_PARAMS_V1 |
Parameters given to NvAPI_D3D12_GetRaytracingOpacityMicromapArrayPrebuildInfo().
typedef enum _NVAPI_RAY_FLAGS_EX NVAPI_RAY_FLAG_EX |
A list of flags that can be given to the TraceRay()
function in HLSL. Only new or modified values are fully described below; for more information on the other values, please check Microsoft's DirectX Raytracing Specification.
typedef struct _NVAPI_RELOCATE_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PARAMS_V1 NVAPI_RELOCATE_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PARAMS_V1 |
Parameters given to NvAPI_D3D12_RelocateRaytracingDisplacementMicromapArray().
typedef struct _NVAPI_RELOCATE_RAYTRACING_OPACITY_MICROMAP_ARRAY_PARAMS_V1 NVAPI_RELOCATE_RAYTRACING_OPACITY_MICROMAP_ARRAY_PARAMS_V1 |
Parameters given to NvAPI_D3D12_RelocateRaytracingOpacityMicromapArray().
typedef struct _NV_MULTIGPU_CAPS_V1 * PNV_MULTIGPU_CAPS_V1 |
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 |
Enumerator | |
---|---|
DISABLE_IMPLICIT_SLI | |
ENABLE_IMPLICIT_SLI |
enum _NV_PSO_EXTENSION |
Enum for CreatePSO extensions.
constant 5 is assigned to two members of this enum becuase the first member name contains a typo: EXTNENSION. Please use the correctly-spelled enumerator.
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 _NVAPI_ANSEL_FEATURE |
SUPPORTED OS: Windows 7 and higher
Enumerator | |
---|---|
NVAPI_ANSEL_FEATURE_UNKNOWN | |
NVAPI_ANSEL_FEATURE_BLACK_AND_WHITE | |
NVAPI_ANSEL_FEATURE_HUDLESS |
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.
Enumerator | |
---|---|
NVAPI_D3D_BEGIN_UAV_OVERLAP_NO_WFI | no WFI |
NVAPI_D3D_BEGIN_UAV_OVERLAP_GFX_WFI | (bit 0) force graphics WFI |
NVAPI_D3D_BEGIN_UAV_OVERLAP_COMP_WFI | (bit 1) force compute WFI |
Pipeline creation state flags.
This enum extends D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS
with modified and additional values. Only modified/new values are fully described; for more information on the other values, please check Microsoft's DirectX Raytracing Specification.
Enumerator | |
---|---|
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_NONE_EX | No options specified for the acceleration structure build. |
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_UPDATE_EX | Allow the acceleration structure to later be updated (via the flag NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE_EX), rather than always requiring a full rebuild. |
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_COMPACTION_EX | Allow for the acceleration structure to later be compacted. |
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_TRACE_EX | Favorize higher raytracing performance at the cost of longer build times. |
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PREFER_FAST_BUILD_EX | Favorize faster build times at the cost of lower raytracing performance. |
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_MINIMIZE_MEMORY_EX | Minimize the memory footprint of the produced acceleration structure, potentially at the cost of longer build time or lower raytracing performance. |
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_PERFORM_UPDATE_EX | Instead of rebuilding the acceleration structure from scratch, the existing acceleration structure will be updated. Added behaviour: If NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_OMM_UPDATE_EX is specified, OMM references may be changed along with positions when an update is performed. |
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_OMM_UPDATE_EX | The acceleration structure (AS) supports updating OMM contents (base OMM Array and/or indices). Specifying this flag may result in larger AS size and may reduce traversal performance. |
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_DISABLE_OMMS_EX | Only applicable for BLAS builds. If enabled, any instances referencing this BLAS are allowed to disable the OMM test through the NVAPI_D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS_EX flag. Specifying this build flag may result in some reductions in traversal performance. |
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_OMM_OPACITY_STATES_UPDATE_EX | The acceleration structure (AS) supports updating OMM data (encoded opacity values). Specifying this flag may reduce traversal performance. |
NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_DATA_ACCESS_EX | Allows triangle and micro-triangle data to be accessed through the BLAS via shader intrinsics. |
SUPPORTED OS: Windows 10 and higher Flags specifying building instructions and hints when constructing a DMM Array.
Enumerator | |
---|---|
NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_BUILD_FLAG_NONE | No options specified for the DMM Array build. |
NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_BUILD_FLAG_PREFER_FAST_TRACE | Allow the DMM Array build to take a little longer in order to optimize for traversal performance. This flag is incompatible with NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_BUILD_FLAG_PREFER_FAST_BUILD. |
NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_BUILD_FLAG_PREFER_FAST_BUILD | Spend as little time as possible on the DMM Array build with some potential loss to traversal performance. This flag is incompatible with NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_BUILD_FLAG_PREFER_FAST_TRACE. |
Type of postbuild info to emit after a DMM Array build.
Enumerator | |
---|---|
NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE | Size of the current DMM Array. May be smaller than reported by the NvAPI_D3D12_GetRaytracingDisplacementMicromapArrayPrebuildInfo() call. Unused memory can be reclaimed by copying the DMM Array into a new resource; see NVAPI_D3D12_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC. |
Flags specifying raytracing Displacement Micromap support. Additional flags will be added as support becomes available.
Specifies the input Displacement Micromap formats. The DC1 (Displacement Compression 1) format follows the space-filling curve in barycentric space over the uniformly tessellated micro-triangles.
The edge vA..vB is decimated: after subdivision the number of micro-triangles on that edge is halved. (i.e. the neighboring primitive can have a lower subdivision level without introducing cracks)
This enum extends D3D12_RAYTRACING_GEOMETRY_TYPE
with additional values. Only new values are fully described below; for more information on the other values, please check Microsoft's DirectX Raytracing Specification.
This enum extends D3D12_RAYTRACING_INSTANCE_FLAGS
with additional values. Only new values are fully described below; for more information on the other values, please check Microsoft's DirectX Raytracing Specification.
Enumerator | |
---|---|
NVAPI_D3D12_RAYTRACING_INSTANCE_FLAG_NONE_EX | No options specified for this instance. |
NVAPI_D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_CULL_DISABLE_EX | Disable triangle culling for this instance. |
NVAPI_D3D12_RAYTRACING_INSTANCE_FLAG_TRIANGLE_FRONT_COUNTERCLOCKWISE_EX | Use counter-clockwise winding for defining front faces, instead of the default of clockwise winding. |
NVAPI_D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OPAQUE_EX | Force all geometries in this instance to be opaque. |
NVAPI_D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_NON_OPAQUE_EX | All geometries in this instance will be processed as if they never had the |
NVAPI_D3D12_RAYTRACING_INSTANCE_FLAG_FORCE_OMM_2_STATE_EX | Ignore the Unknown state and only consider the Transparent/Opaque bit for all 4-state OMMs encountered during traversal. This flag has no effect if NVAPI_D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS_EX is set. |
NVAPI_D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS_EX | Disable OMMs for all triangles, and revert to using geometry opaque/non-opaque state instead (legacy behavior). This flag is only valid if the referenced BLAS was built with the NVAPI_D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAG_ALLOW_DISABLE_OMMS_EX flag; omitting that flag during BLAS build will result in undefined behavior. |
SUPPORTED OS: Windows 10 and higher Flags specifying building instructions and hints when constructing an OMM Array.
Enumerator | |
---|---|
NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_BUILD_FLAG_NONE | No options specified for the OMM Array build. |
NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_BUILD_FLAG_PREFER_FAST_TRACE | Allow the OMM Array build to take a little longer in order to optimize for traversal performance. This flag is incompatible with NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_BUILD_FLAG_PREFER_FAST_BUILD. |
NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_BUILD_FLAG_PREFER_FAST_BUILD | Spend as little time as possible on the OMM Array build with some potential loss to traversal performance. This flag is incompatible with NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_BUILD_FLAG_PREFER_FAST_TRACE. |
Type of postbuild info to emit after an OMM Array build.
Enumerator | |
---|---|
NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE | Size of the current OMM Array. May be smaller than reported by the NvAPI_D3D12_GetRaytracingOpacityMicromapArrayPrebuildInfo() call. Unused memory can be reclaimed by copying the OMM Array into a new resource; see NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC. |
Flags specifying raytracing Opacity Micromap support. Additional flags will be added as support becomes available.
Specifies the input Opacity Micromap formats. The OC1 (Opacity Compression 1) format follows the space-filling curve in barycentric space over the uniformly tessellated micro-triangles.
If a triangle has a uniform OMM state in a BLAS build, it is preferable to signal this explicitly rather than attaching a single state OMM. This can be accomplished by supplying these special indices as entries in opacityMicromapIndexBuffer
, in NVAPI_D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC.
Opacity Micromap micro-triangle states. Not part of any input, but listed here for convenience.
Flags specifying raytracing thread reordering hardware support. Additional flags will be added as support becomes available.
Enumerator | |
---|---|
NVAPI_D3D12_RAYTRACING_THREAD_REORDERING_CAP_NONE | Thread reordering acts as a no-op. |
NVAPI_D3D12_RAYTRACING_THREAD_REORDERING_CAP_STANDARD | Standard thread reordering is supported. |
Severity classification of validation messages.
See NVAPI_D3D12_RAYTRACING_VALIDATION_MESSAGE_CALLBACK
Type of serialized data.
Enumerator | |
---|---|
NVAPI_D3D12_SERIALIZED_DATA_RAYTRACING_ACCELERATION_STRUCTURE_EX | Serialized data contains a raytracing acceleration structure. Starting from offset 0, the first bytes of the serialized acceleration structure can be reinterpreted as |
NVAPI_D3D12_SERIALIZED_DATA_RAYTRACING_OPACITY_MICROMAP_ARRAY_EX | Data blob contains an OMM Array. Starting from offset 0, the first bytes of the OMM Array can be reinterpreted as |
NVAPI_D3D12_SERIALIZED_DATA_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_EX | Data blob contains a DMM Array. Starting from offset 0, the first bytes of the DMM Array can be reinterpreted as |
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 _NVAPI_RAY_FLAGS_EX |
A list of flags that can be given to the TraceRay()
function in HLSL. Only new or modified values are fully described below; for more information on the other values, please check Microsoft's DirectX Raytracing Specification.
Enumerator | |
---|---|
NVAPI_RAY_FLAG_NONE_EX | No flag specified. |
NVAPI_RAY_FLAG_FORCE_OPAQUE_EX | Consider all intersected geometries to be opaque, regardless of the flags specified at the geometry and instance level. |
NVAPI_RAY_FLAG_FORCE_NON_OPAQUE_EX | Consider all intersected geometries to be non-opaque, regardless of the flags specified at the geometry and instance level. |
NVAPI_RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH_EX | End the traversal as soon as a geometry is hit, and that hit is not ignored by the any hit shader. |
NVAPI_RAY_FLAG_SKIP_CLOSEST_HIT_SHADER_EX | Do not invoke the closest hit shader once the traversal ends. |
NVAPI_RAY_FLAG_CULL_BACK_FACING_TRIANGLES_EX | Never intersect triangle geometries that are back facing with regard to the ray. |
NVAPI_RAY_FLAG_CULL_FRONT_FACING_TRIANGLES_EX | Never intersect triangle geometries that are front facing with regard to the ray. |
NVAPI_RAY_FLAG_CULL_OPAQUE_EX | Never intersect geometries that were flagged as opaque. |
NVAPI_RAY_FLAG_CULL_NON_OPAQUE_EX | Never intersect geometries that were not flagged as opaque. |
NVAPI_RAY_FLAG_SKIP_TRIANGLES_EX | Never intersect triangle geometries. |
NVAPI_RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES_EX | Never intersect AABB geometries. |
NVAPI_RAY_FLAG_FORCE_OMM_2_STATE_EX | Treat unknown-opaque and unknown-transparent as opaque and transparent, respectively, during traversal. If an instance is flagged with NVAPI_D3D12_RAYTRACING_INSTANCE_FLAG_DISABLE_OMMS_EX, that takes precedence over this flag. |
enum NV_D3D12_HEAP_FLAGS |
Enumerator | |
---|---|
NV_D3D12_HEAP_FLAG_NONE | |
NV_D3D12_HEAP_FLAG_CPUVISIBLE_VIDMEM | Hint to create heap in cpuvisible vidmem. |
Enumerator | |
---|---|
NV_D3D12_RESOURCE_FLAG_NONE | |
NV_D3D12_RESOURCE_FLAG_HTEX | Create HTEX texture. |
NV_D3D12_RESOURCE_FLAG_CPUVISIBLE_VIDMEM | Hint to create resource in cpuvisible vidmem. |
SUPPORTED OS: Windows 7 and higher
Used define latency marker type
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_VSYNC_MODE |
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 higher SUPPORTED OS: Windows 8 and higher SUPPORTED OS: Windows 8 and higher SUPPORTED OS: Windows 8 and higher SUPPORTED OS: Windows 7 and higher
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 |
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. |
RETURN STATUS: This API can return any of the error codes enumerated in NvAPI_Status.
: | Returns NVAPI_OK if successful; returns NVAPI_INVALID_ARGUMENT if an unsupported data type is passed to the pFeatureSupportData parameter or a size mismatch is detected for the FeatureSupportDataSize 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_CreateImplicitMSAATexture2D | ( | __in ID3D11Device * | pDevice, |
__in const D3D11_TEXTURE2D_DESC * | pDesc, | ||
__out ID3D11Texture2D ** | ppTexture2D | ||
) |
SUPPORTED OS: Windows 10 and higher
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_D3D11_CreateRasterizerState | ( | __in ID3D11Device * | pDevice, |
__in const NvAPI_D3D11_RASTERIZER_DESC_EX * | pRasterizerDesc, | ||
__out ID3D11RasterizerState ** | ppRasterizerState | ||
) |
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_DecompressView | ( | __in ID3D11Device * | pDevice, |
__in ID3D11DeviceContext * | pDeviceContext, | ||
__in ID3D11View * | pView | ||
) |
SUPPORTED OS: Windows 7 and higher
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 |
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_EnumerateMetaCommands | ( | __in ID3D11Device * | pDevice, |
__inout NvU32 * | pNumMetaCommands, | ||
__out_ecount_opt *pNumMetaCommands NVAPI_META_COMMAND_DESC * | pDescs | ||
) |
NVAPI_INTERFACE NvAPI_D3D11_ExecuteMetaCommand | ( | __in ID3D11DeviceContext * | pDeviceContext, |
__in ID3D11NvMetaCommand * | pMetaCommand, | ||
__in_bcount(ExecutionParametersDataSize) const void * | pExecutionParametersData, | ||
__in NvU32 | ExecutionParametersDataSize | ||
) |
NVAPI_INTERFACE NvAPI_D3D11_InitializeMetaCommand | ( | __in ID3D11DeviceContext * | pDeviceContext, |
__in ID3D11NvMetaCommand * | pMetaCommand, | ||
__in_bcount(InitializationParametersDataSize) const void * | pInitializationParametersData, | ||
__in NvU32 | InitializationParametersDataSize | ||
) |
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 |
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_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 DESCRIPTION: 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 | ||
) |
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 |
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_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 |
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_OK : success, the uavSlot was set sucessfully |
NVAPI_INTERFACE NvAPI_D3D12_BuildRaytracingAccelerationStructureEx | ( | __in ID3D12GraphicsCommandList4 * | pCommandList, |
__in const NVAPI_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_EX_PARAMS * | pParams | ||
) |
DESCRIPTION: Perform an acceleration structure build on the GPU. Also optionally output postbuild information immediately after the build. This function is an extension of ID3D12GraphicsCommandList4::BuildRaytracingAccelerationStructure()
with additional serialized data types.
SUPPORTED OS: Windows 10 and higher
[in] | pCommandList | Command list on which the command will execute. |
[in] | pParams | Wrapper around the inputs and outputs of the function. |
NVAPI_INVALID_COMBINATION | pParams->pPostbuildInfoDescs was set to NULL while pParams->numPostbuildInfoDescs is non zero. |
NVAPI_INTERFACE NvAPI_D3D12_BuildRaytracingDisplacementMicromapArray | ( | __in ID3D12GraphicsCommandList4 * | pCommandList, |
__in NVAPI_BUILD_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PARAMS * | pParams | ||
) |
DESCRIPTION: Construct DMM Array for a collection of DMMs on the GPU. The CPU-side input buffers are not referenced after this call. The GPU-side input resources are not referenced after the build has concluded after ExecuteCommandList()
. Additionally, the application may optionally output postbuild information immediately after the build.
SUPPORTED OS: Windows 10 and higher
[in] | pCommandList | Command list on which the command will execute. |
[in] | pParams | Wrapper around the inputs of the function. |
NVAPI_INVALID_COMBINATION | pParams->pPostbuildInfoDescs was set to NULL while pParams->numPostbuildInfoDescs is non zero. |
NVAPI_INTERFACE NvAPI_D3D12_BuildRaytracingOpacityMicromapArray | ( | __in ID3D12GraphicsCommandList4 * | pCommandList, |
__in NVAPI_BUILD_RAYTRACING_OPACITY_MICROMAP_ARRAY_PARAMS * | pParams | ||
) |
DESCRIPTION: Construct OMM Array for a collection of OMMs on the GPU. The CPU-side input buffers are not referenced after this call. The GPU-side input resources are not referenced after the build has concluded after ExecuteCommandList()
. Additionally, the application may optionally output postbuild information immediately after the build.
SUPPORTED OS: Windows 10 and higher
[in] | pCommandList | Command list on which the command will execute. |
[in] | pParams | Wrapper around the inputs and outputs of the function. |
NVAPI_INVALID_COMBINATION | pParams->pPostbuildInfoDescs was set to NULL while pParams->numPostbuildInfoDescs is non zero. |
NVAPI_INTERFACE NvAPI_D3D12_CheckDriverMatchingIdentifierEx | ( | __in ID3D12Device5 * | pDevice, |
__inout NVAPI_CHECK_DRIVER_MATCHING_IDENTIFIER_EX_PARAMS * | pParams | ||
) |
DESCRIPTION: This function is an extension of ID3D12Device5::CheckDriverMatchingIdentifier()
with additional serialized data types.
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | Device on which the data will be deserialized. |
[in,out] | pParams | Wrapper around the inputs and outputs of the function. |
NVAPI_INTERFACE NvAPI_D3D12_CopyTextureRegion | ( | __in ID3D12GraphicsCommandList * | pCommandList, |
__in const D3D12_TEXTURE_COPY_LOCATION * | pDst, | ||
__in UINT | DstX, | ||
__in UINT | DstY, | ||
__in UINT | DstZ, | ||
__in const D3D12_TEXTURE_COPY_LOCATION * | pSrc, | ||
__in_opt const D3D12_BOX * | pSrcBox | ||
) |
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_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
NVAPI_INTERFACE NvAPI_D3D12_CreateCommittedRDMABuffer | ( | __in ID3D12Device * | pDevice, |
__in NvU64 | size, | ||
__in NvU32 | heapCreationNodeMask, | ||
__in NvU32 | heapVisibleNodeMask, | ||
__in REFIID | riidResource, | ||
__out void ** | ppvResource, | ||
__out void ** | ppRDMAAddress | ||
) |
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_CreateDDisplayPresentBarrierClient | ( | __in ID3D12Device * | pDevice, |
__in NvU32 | sourceId, | ||
__out NvPresentBarrierClientHandle * | pPresentBarrierClient | ||
) |
SUPPORTED OS: Windows 10 and higher DESCRIPTION: This API returns an NvPresentBarrierClientHandle handle.
[in] | pDevice | The ID3D12Device device which executes the rendering commands of this PresentBarrier client. It must be created on the same adapter as DisplayDevice. |
[in] | sourceId | The adapter-relative identifier for the DisplaySource obtained from DisplaySource.SourceId(). |
[OUT] | pPresentBarrierClient Pointer to an NvPresentBarrierClientHandle handle created by the driver on success. |
NVAPI_API_NOT_INITIALIZED | NvAPI not initialized |
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_CreateHeap | ( | __in ID3D12Device * | pDevice, |
__in const D3D12_HEAP_DESC * | pDesc, | ||
__in REFIID | riid, | ||
__out void ** | ppvHeap | ||
) |
NVAPI_INTERFACE NvAPI_D3D12_CreatePresentBarrierClient | ( | __in ID3D12Device * | pDevice, |
__in IDXGISwapChain * | pSwapChain, | ||
__out NvPresentBarrierClientHandle * | pPresentBarrierClient | ||
) |
SUPPORTED OS: Windows 10 and higher DESCRIPTION: This API returns an NvPresentBarrierClientHandle handle, which owns the swapchain to be synchronized through PresentBarrier. This handle is used in other PresentBarrier functions.
[in] | pDevice | The ID3D12Device device which owns the SwapChain as a PresentBarrier client. |
[in] | pSwapChain | The IDXGISwapChain interface that presentBarrier is operated on. |
[OUT] | pPresentBarrierClient Pointer to an NvPresentBarrierClientHandle handle created by the driver on success. |
NVAPI_API_NOT_INITIALIZED | NvAPI not initialized |
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_EmitRaytracingDisplacementMicromapArrayPostbuildInfo | ( | __in ID3D12GraphicsCommandList4 * | pCommandList, |
__in const NVAPI_EMIT_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_POSTBUILD_INFO_PARAMS * | pParams | ||
) |
DESCRIPTION: Emits information about one or more DMM Arrays, only available after the DMM Array constructions have finished.
SUPPORTED OS: Windows 10 and higher
[in] | pCommandList | Command list on which the command will execute. |
[in] | pParams | Wrapper around the inputs of the function. |
NVAPI_INTERFACE NvAPI_D3D12_EmitRaytracingOpacityMicromapArrayPostbuildInfo | ( | __in ID3D12GraphicsCommandList4 * | pCommandList, |
__in const NVAPI_EMIT_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_PARAMS * | pParams | ||
) |
DESCRIPTION: Emits information about one or more OMM Arrays, only available after the OMM Array constructions have finished.
SUPPORTED OS: Windows 10 and higher
[in] | pCommandList | Command list on which the command will execute. |
[in] | pParams | Wrapper around the inputs and outputs of the function. |
NVAPI_INTERFACE NvAPI_D3D12_EnableRaytracingValidation | ( | __in ID3D12Device5 * | pDevice, |
__in NVAPI_D3D12_RAYTRACING_VALIDATION_FLAGS | flags | ||
) |
DESCRIPTION: Enable raytracing validation for a device. This function must be called before any other raytracing-related function is invoked on the device. Raytracing validation can only be enabled when the NV_ALLOW_RAYTRACING_VALIDATION envvar is set to 1.
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | Pointer to the device on which raytracing validation should be enabled. |
[in] | flags | Raytracing validation flags. |
NVAPI_OK | Completed request |
NVAPI_INVALID_POINTER | A null pointer was passed as device argument |
NVAPI_INVALID_ARGUMENT | An unsupported flag was specified |
NVAPI_INVALID_CALL | The call was made too late (other raytracing-related calls have already been made) |
NVAPI_ACCESS_DENIED | Validation is not allowed by envvar |
NVAPI_INTERFACE NvAPI_D3D12_EnumerateMetaCommands | ( | __in ID3D12Device * | pDevice, |
__inout NvU32 * | pNumMetaCommands, | ||
__out_ecount_opt *pNumMetaCommands NVAPI_META_COMMAND_DESC * | pDescs | ||
) |
NVAPI_INTERFACE NvAPI_D3D12_ExecuteMetaCommand | ( | __in ID3D12GraphicsCommandList * | pCommandlist, |
__in ID3D12NvMetaCommand * | pMetaCommand, | ||
__in_bcount(ExecutionParametersDataSize) const void * | pExecutionParametersData, | ||
__in NvU32 | ExecutionParametersDataSize | ||
) |
NVAPI_INTERFACE NvAPI_D3D12_FlushRaytracingValidationMessages | ( | __in ID3D12Device5 * | pDevice | ) |
DESCRIPTION: Flush any validation messages that have not yet been reported. This guarantees that any validation messages for work which is known to be complete on the GPU at the time of the call are reported to registered callbacks. This operation is lightweight if the flushed device does not have raytracing validation enabled.
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | Pointer to the device on which raytracing validation messages should be flushed. |
NVAPI_OK | Completed request |
NVAPI_INVALID_POINTER | A null pointer was passed as device argument |
NVAPI_INTERFACE NvAPI_D3D12_GetCopyableFootprints | ( | __in ID3D12Device * | pDevice, |
__in const D3D12_RESOURCE_DESC * | pResourceDesc, | ||
__in const NV_RESOURCE_PARAMS * | pNVResourceParams, | ||
__in UINT | FirstSubresource, | ||
__in UINT | NumSubresources, | ||
__in UINT64 | BaseOffset, | ||
__out_ecount_opt(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT * | pLayouts, | ||
__out_ecount_opt(NumSubresources) UINT * | pNumRows, | ||
__out_ecount_opt(NumSubresources) UINT64 * | pRowSizeInBytes, | ||
__out_opt UINT64 * | pTotalBytes | ||
) |
NVAPI_INTERFACE NvAPI_D3D12_GetGraphicsCapabilities | ( | __in IUnknown * | pDevice, |
__in NvU32 | structVersion, | ||
__inout NV_D3D12_GRAPHICS_CAPS * | pGraphicsCaps | ||
) |
DESCRIPTION: Get the graphics capabilities for current hardware/software setup
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | The ID3D12Device device to be used for getting the graphics capabilities. |
[in] | structVersion | Version of the caps struct. Should be set to NV_D3D12_GRAPHICS_CAPS_VER. |
[in,out] | pGraphicsCaps | Pointer to a NV_D3D12_GRAPHICS_CAPS_CAPS struct created by app. Graphics capabilities will be filled in this struct by the driver. |
NVAPI_INTERFACE NvAPI_D3D12_GetNeedsAppFPBlendClamping | ( | __in ID3D12Device * | pDevice, |
__out bool * | pAppClampNeeded | ||
) |
NVAPI_INTERFACE NvAPI_D3D12_GetOptimalThreadCountForMesh | ( | __in ID3D12Device * | pDevice, |
__out NvU32 * | pThreadCount | ||
) |
DESCRIPTION: This function returns optimal thread count for mesh and task aka amplification shaders if Meshlets supported Otherwise returns 0.
[in] | pDevice | The device on which to query thread count |
[out] | pThreadCount | optimal thread count if Meshlets supported, 0 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_GetRaytracingAccelerationStructurePrebuildInfoEx | ( | __in ID3D12Device5 * | pDevice, |
__inout NVAPI_GET_RAYTRACING_ACCELERATION_STRUCTURE_PREBUILD_INFO_EX_PARAMS * | pParams | ||
) |
DESCRIPTION: This function is an extension of ID3D12Device5::GetRaytracingAccelerationStructurePrebuildInfo()
with additional input types.
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | Device on which the acceleration structure will be built. |
[in,out] | pParams | Wrapper around the inputs and outputs of the function. |
NVAPI_INTERFACE NvAPI_D3D12_GetRaytracingCaps | ( | __in ID3D12Device * | pDevice, |
__in NVAPI_D3D12_RAYTRACING_CAPS_TYPE | type, | ||
__out void * | pData, | ||
__in size_t | dataSize | ||
) |
DESCRIPTION: Query raytracing capabilities of a device.
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | Pointer to the device on which raytracing caps should be queried from. |
[in] | type | Raytracing caps type requested. (ex: NVAPI_D3D12_RAYTRACING_CAPS_TYPE_THREAD_REORDERING) |
[out] | pData | Pointer to memory that receives caps. (ex: NVAPI_D3D12_RAYTRACING_THREAD_REORDERING_CAPS*) |
[in] | dataSize | Size in bytes to return to pData. Must match the size of the caps data requested. (ex: sizeof(NVAPI_D3D12_RAYTRACING_THREAD_REORDERING_CAPS)) |
NVAPI_OK | Completed request |
NVAPI_INVALID_POINTER | A null pointer was passed as an argument |
NVAPI_INVALID_ARGUMENT | At least one of the arguments are invalid |
NVAPI_ERROR | Error occurred |
NVAPI_INTERFACE NvAPI_D3D12_GetRaytracingDisplacementMicromapArrayPrebuildInfo | ( | __in ID3D12Device5 * | pDevice, |
__inout NVAPI_GET_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PREBUILD_INFO_PARAMS * | pParams | ||
) |
DESCRIPTION: Query conservative memory requirements for building a DMM (Displacement Micromap) Array. The returned size is conservative for DMM Array builds containing a lower or equal number of entries for each resolution and format combination.
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | Device on which the DMM Array will be built. |
[in,out] | pParams | Wrapper around the inputs and outputs of the function. |
NVAPI_INTERFACE NvAPI_D3D12_GetRaytracingOpacityMicromapArrayPrebuildInfo | ( | __in ID3D12Device5 * | pDevice, |
__inout NVAPI_GET_RAYTRACING_OPACITY_MICROMAP_ARRAY_PREBUILD_INFO_PARAMS * | pParams | ||
) |
DESCRIPTION: Query conservative memory requirements for building an OMM (Opacity Micromap) Array. The returned size is conservative for OMM Array builds containing a lower or equal number of entries for each resolution and format combination.
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | Device on which the OMM Array will be built. |
[in,out] | pParams | Wrapper around the inputs and outputs of the function. |
NVAPI_INTERFACE NvAPI_D3D12_InitializeMetaCommand | ( | __in ID3D12GraphicsCommandList * | pCommandlist, |
__in ID3D12NvMetaCommand * | pMetaCommand, | ||
__in_bcount(InitializationParametersDataSize) const void * | pInitializationParametersData, | ||
__in NvU32 | InitializationParametersDataSize | ||
) |
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. Note that this function only works in Landscape orientation due to Windows behavior, and attempts to utilize it with any type of display rotation will result in failure.
[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_INVALID_CALL | System configuration does not support this interface (eg, display is rotated, mosaic not enabled, etc) |
<>
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 the 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. Note that this function only works in Landscape orientation due to Windows behavior, and attempts to utilize it with any type of display rotation will result in failure.
[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_INVALID_CALL | System configuration does not support this interface (eg, display is rotated, mosaic not enabled, etc) |
<>
NVAPI_INTERFACE NvAPI_D3D12_NotifyOutOfBandCommandQueue | ( | __in ID3D12CommandQueue * | pCommandQueue, |
__in NV_OUT_OF_BAND_CQ_TYPE | cqType | ||
) |
DESCRIPTION: Notifies the driver that this command queue runs out of band from the application's frame cadence.
[in] | pCommandQueue | The D3D12CommandQueue |
[in] | cqType | The type of out of band command queue SUPPORTED OS: Windows 10 and higher |
NVAPI_INTERFACE NvAPI_D3D12_QueryCpuVisibleVidmem | ( | __in ID3D12Device * | pDevice, |
__out NvU64 * | pTotalBytes, | ||
__out NvU64 * | pFreeBytes | ||
) |
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_QueryPresentBarrierSupport | ( | __in ID3D12Device * | pDevice, |
__out bool * | pSupported | ||
) |
SUPPORTED OS: Windows 10 and higher DESCRIPTION: This API returns if presentBarrier feature is supported on the specified device.
[in] | pDevice | The ID3D12Device device which owns the SwapChain as a PresentBarrier client. |
[out] | pSupported | Pointer to a boolean returning true if supported, false otherwise. |
NVAPI_API_NOT_INITIALIZED | NvAPI not initialized |
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_QueryWorkstationFeatureProperties | ( | __in ID3D12Device * | pDevice, |
__inout NVAPI_D3D12_WORKSTATION_FEATURE_PROPERTIES_PARAMS * | pWorkstationFeatureProperties | ||
) |
DESCRIPTION: This API returns information about the properties of specific workstation features on the specified device.
[in] | pDevice | The ID3D12Device device which is queried for feature properties |
[in,out] | pWorkstationFeatureProperties | Pointer to a structure containing workstation feature query information. |
NVAPI_API_NOT_INITIALIZED | NvAPI not initialized |
SUPPORTED OS: Windows 10 and higher
NVAPI_INTERFACE NvAPI_D3D12_RegisterPresentBarrierResources | ( | __in NvPresentBarrierClientHandle | presentBarrierClient, |
__in ID3D12Fence * | pFence, | ||
__in ID3D12Resource ** | ppResources, | ||
__in NvU32 | numResources | ||
) |
SUPPORTED OS: Windows 10 and higher DESCRIPTION: This API registers scanout resources of a presentBarrier client to the presentBarrier, and a fence object which is used for presentBarrier synchronization. Once the registration has completed successfully, it is not allowed to add additional resources, i.e. the number of back buffers and fence object are not allowed to be changed. However, application must call this function whenever the back buffers are changed, e.g. ResizeBuffers() is called.
[in] | presentBarrierClient | The NvPresentBarrierClientHandle client handle that owns the resources. |
[in] | pFence | An ID3D12Fence object created by the application and used for present synchronization through presentBarrier. Application must wait on this fence to ensure the scanout resources are ready for use in the next rendering loop. The fence is only signaled by the driver and must not be signaled through any other queue command. The fence value must be monotonically increasing on every present call, and tracked by the application. |
[in] | ppResources | An array of ID3D12Resource to be synchronized through presentBarrier, and the size is specified by numResources. |
[in] | numResources | The number of ID3D12Resource elements in ppResources. |
NVAPI_API_NOT_INITIALIZED | NvAPI not initialized |
NVAPI_INTERFACE NvAPI_D3D12_RegisterRaytracingValidationMessageCallback | ( | __in ID3D12Device5 * | pDevice, |
__in NVAPI_D3D12_RAYTRACING_VALIDATION_MESSAGE_CALLBACK | pfnMessageCallback, | ||
__in_opt void * | pUserData, | ||
__out void ** | pHandle | ||
) |
DESCRIPTION: Register a message callback for raytracing validation messages. The provided callback may be invoked by the driver using any thread at any time until the callback is unregistered. It is invalid to register/unregister callbacks from within the callback. It is invalid to create or destroy objects for the device or record commands onto command lists from within the callback.
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | Pointer to the device from which to obtain raytracing validation messages. |
[in] | pfnMessageCallback | Callback used to report validation messages. |
[in] | pUserData | [optional] User data to pass as argument to message callback. |
[out] | pHandle | Handle that may be used to unregister the callback. |
NVAPI_OK | Completed request |
NVAPI_INVALID_POINTER | A null pointer was passed as an argument |
NVAPI_INTERFACE NvAPI_D3D12_RelocateRaytracingDisplacementMicromapArray | ( | __in ID3D12GraphicsCommandList4 * | pCommandList, |
__in const NVAPI_RELOCATE_RAYTRACING_DISPLACEMENT_MICROMAP_ARRAY_PARAMS * | pParams | ||
) |
DESCRIPTION: Makes the DMM Array usable at its current location in memory. A DMM Array that has been copied to a new location must be relocated using this function before it may be attached to any BLAS.
SUPPORTED OS: Windows 10 and higher
[in] | pCommandList | Command list on which the command will execute. |
[in] | pParams | Wrapper around the inputs of the function. |
NVAPI_INTERFACE NvAPI_D3D12_RelocateRaytracingOpacityMicromapArray | ( | __in ID3D12GraphicsCommandList4 * | pCommandList, |
__in const NVAPI_RELOCATE_RAYTRACING_OPACITY_MICROMAP_ARRAY_PARAMS * | pParams | ||
) |
DESCRIPTION: Makes the OMM Array usable at its current location in memory. An OMM Array that has been copied to a new location must be relocated using this function before it may be attached to any BLAS.
SUPPORTED OS: Windows 10 and higher
[in] | pCommandList | Command list on which the command will execute. |
[in] | pParams | Wrapper around the inputs and outputs of the function. |
NVAPI_INTERFACE NvAPI_D3D12_ReservedResourceGetDesc | ( | __in ID3D12Resource * | pReservedResource, |
__out D3D12_RESOURCE_DESC * | pDesc | ||
) |
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
NVAPI_INTERFACE NvAPI_D3D12_ResourceAliasingBarrier | ( | __in ID3D12GraphicsCommandList * | pCommandList, |
__in UINT | NumBarriers, | ||
__in const D3D12_RESOURCE_BARRIER * | pBarriers | ||
) |
NVAPI_INTERFACE NvAPI_D3D12_SetAsyncFrameMarker | ( | __in ID3D12CommandQueue * | pCommandQueue, |
__in NV_ASYNC_FRAME_MARKER_PARAMS * | pSetAsyncFrameMarkerParams | ||
) |
DESCRIPTION: Set an async frame marker for present and out-of-band render tracking.
[in] | pCommandQueue | The D3D12CommandQueue |
[in] | pSetAsyncFrameMarkerParams | The async frame marker structure SUPPORTED OS: Windows 10 and higher |
NVAPI_INTERFACE NvAPI_D3D12_SetCreateCommandQueueLowLatencyHint | ( | __in ID3D12Device * | pDevice | ) |
DESCRIPTION: Reserved call.
[in] | pDevice | The creating device SUPPORTED OS: Windows 10 and higher |
NVAPI_INTERFACE NvAPI_D3D12_SetCreatePipelineStateOptions | ( | __in ID3D12Device5 * | pDevice, |
__in const NVAPI_D3D12_SET_CREATE_PIPELINE_STATE_OPTIONS_PARAMS * | pState | ||
) |
DESCRIPTION: Globally change the state affecting pipeline creations. This affects all pipelines created after this call, and until this function is called again.
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | Device on which the pipelines will be created. |
[in] | pState | State to be applied to all future pipeline creations. |
NVAPI_INTERFACE NvAPI_D3D12_SetDepthBoundsTestValues | ( | __in ID3D12GraphicsCommandList * | pCommandList, |
__in const float | minDepth, | ||
__in const float | maxDepth | ||
) |
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 |
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_OK : success, the uavSlot and uavSpace were set sucessfully |
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 |
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_OK : success, the uavSlot and uavSpace were set sucessfully |
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_UnregisterRaytracingValidationMessageCallback | ( | __in ID3D12Device5 * | pDevice, |
__in void * | handle | ||
) |
DESCRIPTION: Unregister a previously registered message callback for raytracing validation messages. The provided callback will not be invoked once the unregister call has returned.
SUPPORTED OS: Windows 10 and higher
[in] | pDevice | Pointer to the device from which to stop obtaining raytracing validation messages. |
[in] | handle | Handle to which callback should be unregistered, obtained at registration. |
NVAPI_OK | Completed request |
NVAPI_INVALID_POINTER | A null pointer was passed as device argument |
NVAPI_INVALID_ARGUMENT | Callback handle not recognized |
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_UseDriverHeapPriorities | ( | __in ID3D12Device * | pDevice | ) |
SUPPORTED OS: Windows 10
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 higher DESCRIPTION: 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_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_GetLatency | ( | __in IUnknown * | pDev, |
__out NV_LATENCY_RESULT_PARAMS * | pGetLatencyParams | ||
) |
DESCRIPTION: Get a latency report including the timestamps of the application latency markers set with NvAPI_D3D_SetLatencyMarker as well as driver, OS queue and graphics hardware times. Requires calling NvAPI_D3D_SetLatencyMarker with incrementing frameID for valid results. Rendering for at least 90 frames is recommended to properly fill out the structure. The newest completed frame is at the end (element 63) and is preceeded by older frames. If not enough frames are valid then all frames are returned with all zeroes.
[in] | pDev | The target device |
[in] | pGetLatencyParams | The latency result structure. SUPPORTED OS: Windows 7 and higher |
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_INTERFACE NvAPI_D3D_GetSleepStatus | ( | __in IUnknown * | pDev, |
__in NV_GET_SLEEP_STATUS_PARAMS * | pGetSleepStatusParams | ||
) |
DESCRIPTION: This function can be used to get the latest sleep status: bLowLatencyMode indicates whether low latency mode is currently enabled in the driver. Note that it may not always reflect the previously requested sleep mode, as the feature may not be available on the platform, or the setting has been overridden by the control panel, for example. bFsVrr indicates fullscreen GSYNC or GSYNC Compatible mode. It is valid only when the application is in the foreground. bCplVsyncOn indicates Control Panel VSYNC ON override.
[in] | pDev | The target device. |
[in] | pGetSleepStatusParams | Sleep status params. SUPPORTED OS: Windows 7 and higher |
NVAPI_INTERFACE NvAPI_D3D_ImplicitSLIControl | ( | __in IMPLICIT_SLI_CONTROL | implicitSLIControl | ) |
NVAPI_INTERFACE NvAPI_D3D_InitializeNvGazeHandler | ( | __in IUnknown * | pDevice, |
__inout NV_GAZE_HANDLER_INIT_PARAMS * | pInitializeNvGazeHandlerParams | ||
) |
SUPPORTED OS: Windows 7 and higher 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: Initialize SMP Assist extension. Take the SMPAssist(MRS/LMS) params from the application. Provide the application with a 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 higher DESCRIPTION: 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 DESCRIPTION: 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_INTERFACE NvAPI_D3D_SetLatencyMarker | ( | __in IUnknown * | pDev, |
__in NV_LATENCY_MARKER_PARAMS * | pSetLatencyMarkerParams | ||
) |
DESCRIPTION: Set a latency marker to be tracked by the NvAPI_D3D_GetLatency function. SIMULATION_START must be the first marker sent in a frame, after the previous frame's Sleep call (if used). INPUT_SAMPLE may be sent to record the moment user input was sampled and should come between SIMULATION_START and SIMULATION_END. RENDERSUBMIT_START should come before any Direct3D calls are made for the given frame and RENDERSUBMIT_END should come before calling Present. PRESENT_START and END should wrap the Present call to inform the driver of a present block done by the OS before the driver receives the Present. TRIGGER_FLASH tells the driver to render its flash indicator for latency testing, typically driven by a mouse click. The frameID can start at an abitrary moment in the application lifetime but must strictly increment from that point forward for consistent results.
[in] | pDev | The target device |
[in] | pSetLatencyMarkerParams | The latency marker structure SUPPORTED OS: Windows 7 and higher |
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_INTERFACE NvAPI_D3D_SetReflexSync | ( | __in IUnknown * | pDev, |
__in NV_SET_REFLEX_SYNC_PARAMS * | pSetReflexSyncParams | ||
) |
DESCRIPTION: This function can be used to enable/disable Reflex Sync, and to pass in essential data for the Reflex Sync operation.
[in] | pDev | The target device. |
[in] | pSetReflexSyncParams | Reflex Sync params. SUPPORTED OS: Windows 10 and higher |
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. |
<>
NVAPI_INTERFACE NvAPI_D3D_SetSleepMode | ( | __in IUnknown * | pDev, |
__in NV_SET_SLEEP_MODE_PARAMS * | pSetSleepModeParams | ||
) |
DESCRIPTION: This function can be used to update sleep mode dynamically. The settings are not dependent to each other, meaning low latency mode can be enabled/disabled regardless of whether minimum interval is set or not. The former is to intelligently lower latency without impacting frame rate. The later is to limit frame rate (e.g. minimumIntervalUs = 10000 limits frame rate to 100 FPS). They work well separately and/or together. Note that minimumIntervalUs usage is not limited to lowering latency, so feel free to use it to limit frame rate for menu, cut scenes, etc. Note that low latency mode can be enabled, and/or minimum interval can be set, even without using NvAPI_D3D_Sleep(). However, without it, the sleep to achieve these features would happen at a less optimal point, resulting in higher overall latency. The bLowLatencyBoost will request the GPU run at max clocks even in scenarios where it is idle most of the frame and would normally try to save power. This can decrease latency in CPU-limited scenarios. While this function can be called as often as needed, it is not necessary nor recommended to call this too frequently (e.g. every frame), as the settings persist for the target device.
[in] | pDev | The target device. |
[in] | pSetSleepModeParams | Sleep mode params. SUPPORTED OS: Windows 7 and higher |
NVAPI_INTERFACE NvAPI_D3D_SetVerticalSyncMode | ( | __in IUnknown * | pDevice, |
__in NVAPI_VSYNC_MODE | vsyncMode | ||
) |
DESCRIPTION: This API set the vertical sync mode for the given device context.
[in] | pDevice | The caller provides the device and can be either IDirect3DDevice9 or ID3D10Device or ID3D10Device1 or ID3D11Device. |
[in] | vsyncMode | The caller specifies the NVAPI_VSYNC_MODE to be set. |
SUPPORTED OS: Windows Vista
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_Sleep | ( | __in IUnknown * | pDev | ) |
DESCRIPTION: It is recommended to call this function at the very start of each frame (e.g. before input sampling). If there is a need to sleep, due to frame rate limit and/or low latency features, for example, this call provides an entry point for the driver to sleep at the most optimal spot to achieve the lowest latency. It is recommended to call this function even when low latency mode is disabled and minimum interval is 0. Other features, such as Maximum Frame Rate setting, could be enabled in the control panel to benefit from this. It is OK to start (or stop) using this function at any time. However, when using this function, it must be called exactly once on each frame. If this function is not called, after several frames, the driver would fallback to sleep at its less optimal spot.
[in] | pDev | The target device. SUPPORTED OS: Windows 7 and higher |
NVAPI_INTERFACE NvAPI_DirectD3D12GraphicsCommandList_Create | ( | __in ID3D12GraphicsCommandList * | pDXD3D12GraphicsCommandList, |
__out INvAPI_DirectD3D12GraphicsCommandList ** | ppReturnD3D12GraphicsCommandList | ||
) |
DESCRIPTION: Create the NvAPI_DirectD3D12GraphicsCommandList handle. This function must be called after ID3D12Device::CreateCommandList.
[in] | pDXD3D12GraphicsCommandList | The ID3D12GraphicsCommandList |
[out] | ppReturnD3D12GraphicsCommandList | The corresponding NvAPI_DirectD3D12GraphicsCommandList handle SUPPORTED OS: Windows 10 and higher |
NVAPI_INTERFACE NvAPI_DirectD3D12GraphicsCommandList_Release | ( | __in INvAPI_DirectD3D12GraphicsCommandList * | pD3D12GraphicsCommandList | ) |
DESCRIPTION: release the NvAPI_DirectD3D12GraphicsCommandList handle.
[in] | pD3D12GraphicsCommandList | The NvAPI_DirectD3D12GraphicsCommandList handle to release SUPPORTED OS: Windows 10 and higher |
NVAPI_INTERFACE NvAPI_DirectD3D12GraphicsCommandList_Reset | ( | __in INvAPI_DirectD3D12GraphicsCommandList * | pD3D12GraphicsCommandList | ) |
DESCRIPTION: reset the NvAPI_DirectD3D12GraphicsCommandList handle. This function must be called after ID3D12GraphicsCommandList::Reset() and before any other NvAPI_Direct function calls such as dispatchGraphics() etc.
[in] | pD3D12GraphicsCommandList | The NvAPI_DirectD3D12GraphicsCommandList handle to reset SUPPORTED OS: Windows 10 and higher |