NVAPI Reference Documentation 545
Loading...
Searching...
No Matches
nvapi_lite_sli.h
1 /************************************************************************************************************************************\
2|* *|
3|* Copyright © 2012 NVIDIA Corporation. All rights reserved. *|
4|* *|
5|* NOTICE TO USER: *|
6|* *|
7|* This software is subject to NVIDIA ownership rights under U.S. and international Copyright laws. *|
8|* *|
9|* This software and the information contained herein are PROPRIETARY and CONFIDENTIAL to NVIDIA *|
10|* and are being provided solely under the terms and conditions of an NVIDIA software license agreement. *|
11|* Otherwise, you have no rights to use or access this software in any manner. *|
12|* *|
13|* If not covered by the applicable NVIDIA software license agreement: *|
14|* NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. *|
15|* IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND. *|
16|* NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, *|
17|* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE. *|
18|* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, *|
19|* OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, *|
20|* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE. *|
21|* *|
22|* U.S. Government End Users. *|
23|* This software is a "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT 1995), *|
24|* consisting of "commercial computer software" and "commercial computer software documentation" *|
25|* as such terms are used in 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government only as a commercial end item. *|
26|* Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), *|
27|* all U.S. Government End Users acquire the software with only those rights set forth herein. *|
28|* *|
29|* Any use of this software in individual and commercial software must include, *|
30|* in the user documentation and internal comments to the code, *|
31|* the above Disclaimer (as applicable) and U.S. Government End Users Notice. *|
32|* *|
33 \************************************************************************************************************************************/
34
35#pragma once
36#include"nvapi_lite_salstart.h"
37#include"nvapi_lite_common.h"
38#pragma pack(push,8)
39#ifdef __cplusplus
40extern "C" {
41#endif
42//-----------------------------------------------------------------------------
43// DirectX APIs
44//-----------------------------------------------------------------------------
45
46
60
73
75#define NV_GET_CURRENT_SLI_STATE_VER1 MAKE_NVAPI_VERSION(NV_GET_CURRENT_SLI_STATE_V1,1)
76#define NV_GET_CURRENT_SLI_STATE_VER2 MAKE_NVAPI_VERSION(NV_GET_CURRENT_SLI_STATE_V2,1)
77#define NV_GET_CURRENT_SLI_STATE_VER NV_GET_CURRENT_SLI_STATE_VER2
78#define NV_GET_CURRENT_SLI_STATE NV_GET_CURRENT_SLI_STATE_V2
79#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)
80
82//
83// FUNCTION NAME: NvAPI_D3D_GetCurrentSLIState
84//
100NVAPI_INTERFACE NvAPI_D3D_GetCurrentSLIState(IUnknown *pDevice, NV_GET_CURRENT_SLI_STATE *pSliState);
101#endif //if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)
102#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)
103
105//
106// FUNCTION NAME: NvAPI_D3D_SetResourceHint
107//
136//
138
139
142typedef enum _NVAPI_D3D_SETRESOURCEHINT_CATEGORY
143{
144 NVAPI_D3D_SRH_CATEGORY_SLI = 1
145} NVAPI_D3D_SETRESOURCEHINT_CATEGORY;
146
147
148//
149// NVAPI_D3D_SRH_SLI_APP_CONTROLLED_INTERFRAME_CONTENT_SYNC:
150// NVAPI_D3D_SRH_SLI_ASK_FOR_BROADCAST_USING:
151// NVAPI_D3D_SRH_SLI_RESPECT_DRIVER_INTERFRAME_CONTENT_SYNC:
152
153
171typedef enum _NVAPI_D3D_SETRESOURCEHINT_SLI
172{
173 NVAPI_D3D_SRH_SLI_APP_CONTROLLED_INTERFRAME_CONTENT_SYNC = 1,
174 NVAPI_D3D_SRH_SLI_ASK_FOR_BROADCAST_USAGE = 2,
175 NVAPI_D3D_SRH_SLI_RESPECT_DRIVER_INTERFRAME_CONTENT_SYNC = 3
176} NVAPI_D3D_SETRESOURCEHINT_SLI;
177
179NVAPI_INTERFACE NvAPI_D3D_SetResourceHint(IUnknown *pDev, NVDX_ObjectHandle obj,
180 NVAPI_D3D_SETRESOURCEHINT_CATEGORY dwHintCategory,
181 NvU32 dwHintName,
182 NvU32 *pdwHintValue);
183#endif //defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)
184
185#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)
187//
188// FUNCTION NAME: NvAPI_D3D_BeginResourceRendering
189//
206//
208
211typedef enum _NVAPI_D3D_RESOURCERENDERING_FLAG
212{
213 NVAPI_D3D_RR_FLAG_DEFAULTS = 0x00000000,
214 NVAPI_D3D_RR_FLAG_FORCE_DISCARD_CONTENT = 0x00000001,
215 NVAPI_D3D_RR_FLAG_FORCE_KEEP_CONTENT = 0x00000002,
216 NVAPI_D3D_RR_FLAG_MULTI_FRAME = 0x00000004
217} NVAPI_D3D_RESOURCERENDERING_FLAG;
218
220NVAPI_INTERFACE NvAPI_D3D_BeginResourceRendering(IUnknown *pDeviceOrContext, NVDX_ObjectHandle obj, NvU32 Flags);
221
222#endif //defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)
223
224#if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)
226//
227// FUNCTION NAME: NvAPI_D3D_EndResourceRendering
228//
241//
248NVAPI_INTERFACE NvAPI_D3D_EndResourceRendering(IUnknown *pDeviceOrContext, NVDX_ObjectHandle obj, NvU32 Flags);
249#endif //if defined(_D3D9_H_) || defined(__d3d10_h__) || defined(__d3d11_h__)
250
251#include"nvapi_lite_salend.h"
252#ifdef __cplusplus
253}
254#endif
255#pragma pack(pop)
Definition nvapi_lite_sli.h:50
NvU32 currentAFRIndex
[OUT] The AFR group index for the frame currently being rendered
Definition nvapi_lite_sli.h:54
NvU32 nextFrameAFRIndex
[OUT] What the AFR group index will be for the next frame (i.e. after calling Present)
Definition nvapi_lite_sli.h:55
NvU32 previousFrameAFRIndex
[OUT] The AFR group index that was used for the previous frame (~0 if more than one frame has not bee...
Definition nvapi_lite_sli.h:56
NvU32 maxNumAFRGroups
[OUT] The maximum possible value of numAFRGroups
Definition nvapi_lite_sli.h:52
NvU32 numAFRGroups
[OUT] The number of AFR groups enabled in the system
Definition nvapi_lite_sli.h:53
NvU32 version
Structure version.
Definition nvapi_lite_sli.h:51
NvU32 bIsCurAFRGroupNew
[OUT] Boolean: Is this frame the first time running on the current AFR group
Definition nvapi_lite_sli.h:57
Definition nvapi_lite_sli.h:62
NvU32 maxNumAFRGroups
[OUT] The maximum possible value of numAFRGroups
Definition nvapi_lite_sli.h:64
NvU32 currentAFRIndex
[OUT] The AFR group index for the frame currently being rendered
Definition nvapi_lite_sli.h:66
NvU32 bIsCurAFRGroupNew
[OUT] Boolean: Is this frame the first time running on the current AFR group
Definition nvapi_lite_sli.h:69
NvU32 nextFrameAFRIndex
[OUT] What the AFR group index will be for the next frame (i.e. after calling Present)
Definition nvapi_lite_sli.h:67
NvU32 numVRSLIGpus
[OUT] The number of GPUs used in VR-SLI. If it is 0 VR-SLI is not active
Definition nvapi_lite_sli.h:70
NvU32 previousFrameAFRIndex
[OUT] The AFR group index that was used for the previous frame (~0 if more than one frame has not bee...
Definition nvapi_lite_sli.h:68
NvU32 version
Structure version.
Definition nvapi_lite_sli.h:63
NvU32 numAFRGroups
[OUT] The number of AFR groups enabled in the system
Definition nvapi_lite_sli.h:65