nvperfapi_delimiters.h

Go to the documentation of this file.
00001 #ifndef NVPERFAPI_DELIMITERS_H
00002 #define NVPERFAPI_DELIMITERS_H
00003 
00004 /*
00005  * Copyright 2014-2017  NVIDIA Corporation.  All rights reserved.
00006  *
00007  * NOTICE TO USER:
00008  *
00009  * This source code is subject to NVIDIA ownership rights under U.S. and
00010  * international Copyright laws.
00011  *
00012  * This software and the information contained herein is PROPRIETARY and
00013  * CONFIDENTIAL to NVIDIA and is being provided under the terms and conditions
00014  * of a form of NVIDIA software license agreement.
00015  *
00016  * NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE
00017  * CODE FOR ANY PURPOSE.  IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR
00018  * IMPLIED WARRANTY OF ANY KIND.  NVIDIA DISCLAIMS ALL WARRANTIES WITH
00019  * REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF
00020  * MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
00021  * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
00022  * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
00023  * OF USE, DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
00024  * OR OTHER TORTIOUS ACTION,  ARISING OUT OF OR IN CONNECTION WITH THE USE
00025  * OR PERFORMANCE OF THIS SOURCE CODE.
00026  *
00027  * U.S. Government End Users.   This source code is a "commercial item" as
00028  * that term is defined at  48 C.F.R. 2.101 (OCT 1995), consisting  of
00029  * "commercial computer  software"  and "commercial computer software
00030  * documentation" as such terms are  used in 48 C.F.R. 12.212 (SEPT 1995)
00031  * and is provided to the U.S. Government only as a commercial end item.
00032  * Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through
00033  * 227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the
00034  * source code with only those rights set forth herein.
00035  *
00036  * Any use of this source code in individual and commercial software must
00037  * include, in the user documentation and internal comments to the code,
00038  * the above Disclaimer and U.S. Government End Users Notice.
00039  */
00040 
00041 #include "nvperfapi_common_types.h"
00042 
00043 
00044 #if defined(__GNUC__) && defined(NVPA_SHARED_LIB)
00045     #pragma GCC visibility push(default)
00046 #endif
00047 
00048 #ifdef __cplusplus
00049 extern "C" {
00050 #endif
00051 
00052 
00058 /***************************************************************************/
00072 NVPA_Status NVPA_D3D11_PushRange(
00073     struct ID3D11DeviceContext* pDeviceContext,
00074     NVPA_RangeId rangeId
00075 );
00076 
00082 NVPA_Status NVPA_D3D12_Queue_PushRange(
00083     struct ID3D12CommandQueue* pCommandQueue,
00084     NVPA_RangeId rangeId
00085 );
00086 
00092 NVPA_Status NVPA_D3D12_CommandList_PushRange(
00093     struct ID3D12GraphicsCommandList* pCommandList,
00094     NVPA_RangeId rangeId
00095 );
00096 
00103 NVPA_Status NVPA_OpenGL_PushRange(
00104     NVPA_RangeId rangeId
00105 );
00106 
00113 NVPA_Status NVPA_EGL_PushRange(
00114     NVPA_RangeId rangeId
00115 );
00116 
00122 #ifndef __cplusplus
00123 NVPA_Status NVPA_CUDA_PushRange(
00124     NVPA_RangeId rangeId,
00125     struct CUctx_st* ctx
00126 );
00127 #else
00128 NVPA_Status NVPA_CUDA_PushRange(NVPA_RangeId rangeId, struct CUctx_st* ctx = NULL);
00129 #endif
00130 
00135 NVPA_Status NVPA_D3D11_PopRange(
00136     struct ID3D11DeviceContext* pDeviceContext
00137 );
00138 
00143 NVPA_Status NVPA_D3D12_Queue_PopRange(
00144     struct ID3D12CommandQueue* pCommandQueue
00145 );
00146 
00151 NVPA_Status NVPA_D3D12_CommandList_PopRange(
00152     struct ID3D12GraphicsCommandList* pCommandList
00153 );
00154 
00159 NVPA_Status NVPA_OpenGL_PopRange(void);
00160 
00165 NVPA_Status NVPA_EGL_PopRange(void);
00166 
00171 #ifndef __cplusplus
00172 NVPA_Status NVPA_CUDA_PopRange(
00173     struct CUctx_st* ctx
00174 );
00175 #else
00176 NVPA_Status NVPA_CUDA_PopRange(struct CUctx_st* ctx = NULL);
00177 #endif
00178 
00185 NVPA_Status NVPA_D3D11_GetNumRangeIds(
00186     struct ID3D11DeviceContext* pDeviceContext,
00187     int32_t* pNumRangeIds
00188 );
00189 
00196 NVPA_Status NVPA_D3D12_Queue_GetNumRangeIds(
00197     struct ID3D12CommandQueue* pCommandQueue,
00198     int32_t* pNumRangeIds
00199 );
00200 
00210 NVPA_Status NVPA_D3D12_CommandList_GetNumRangeIds(
00211     struct ID3D12GraphicsCommandList* pCommandList,
00212     int32_t* pNumRangeIds
00213 );
00214 
00222 NVPA_Status NVPA_OpenGL_GetNumRangeIds(
00223     int32_t* pNumRangeIds
00224 );
00225 
00233 NVPA_Status NVPA_EGL_GetNumRangeIds(
00234     int32_t* pNumRangeIds
00235 );
00236 
00243 #ifndef __cplusplus
00244 NVPA_Status NVPA_CUDA_GetNumRangeIds(
00245     int32_t* pNumRangeIds,
00246     struct CUctx_st* ctx
00247 );
00248 #else
00249 NVPA_Status NVPA_CUDA_GetNumRangeIds(int32_t* pNumRangeIds, struct CUctx_st* ctx = NULL);
00250 #endif
00251 
00262 NVPA_Status NVPA_D3D11_GetRangeIds(
00263     struct ID3D11DeviceContext* pDeviceContext,
00264     size_t numRangeIds,
00265     NVPA_RangeId* pRangeIds,
00266     size_t* pNumRangeIds
00267 );
00268 
00279 NVPA_Status NVPA_D3D12_Queue_GetRangeIds(
00280     struct ID3D12CommandQueue* pCommandQueue,
00281     size_t numRangeIds,
00282     NVPA_RangeId* pRangeIds,
00283     size_t* pNumRangeIds
00284 );
00285 
00297 NVPA_Status NVPA_OpenGL_GetRangeIds(
00298     size_t numRangeIds,
00299     NVPA_RangeId* pRangeIds,
00300     size_t* pNumRangeIds
00301 );
00302 
00314 NVPA_Status NVPA_EGL_GetRangeIds(
00315     size_t numRangeIds,
00316     NVPA_RangeId* pRangeIds,
00317     size_t* pNumRangeIds
00318 );
00319 
00330 #ifndef __cplusplus
00331 NVPA_Status NVPA_CUDA_GetRangeIds(
00332     size_t numRangeIds,
00333     NVPA_RangeId* pRangeIds,
00334     size_t* pNumRangeIds,
00335     struct CUctx_st* ctx
00336 );
00337 #else
00338 NVPA_Status NVPA_CUDA_GetRangeIds(size_t numRangeIds, NVPA_RangeId* pRangeIds, size_t* pNumRangeIds, struct CUctx_st* ctx = NULL);
00339 #endif
00340 
00346 /***************************************************************************/
00362 NVPA_Status NVPA_D3D11_BeginSession(
00363     struct ID3D11DeviceContext* pDeviceContext,
00364     const NVPA_Config* pConfig
00365 );
00366 
00377 NVPA_Status NVPA_D3D12_Queue_BeginSession(
00378     struct ID3D12CommandQueue* pCommandQueue,
00379     const NVPA_Config* pConfig
00380 );
00381 
00394 NVPA_Status NVPA_OpenGL_BeginSession(
00395     const NVPA_Config* pConfig
00396 );
00397 
00410 NVPA_Status NVPA_EGL_BeginSession(
00411     const NVPA_Config* pConfig
00412 );
00413 
00425 #ifndef __cplusplus
00426 NVPA_Status NVPA_CUDA_BeginSession(
00427     const NVPA_Config* pConfig,
00428     struct CUctx_st* ctx
00429 );
00430 #else
00431 NVPA_Status NVPA_CUDA_BeginSession(const NVPA_Config* pConfig, struct CUctx_st* ctx = NULL);
00432 #endif
00433 
00440 NVPA_Status NVPA_D3D11_EndSession(
00441     struct ID3D11DeviceContext* pDeviceContext
00442 );
00443 
00450 NVPA_Status NVPA_D3D12_Queue_EndSession(
00451     struct ID3D12CommandQueue* pCommandQueue
00452 );
00453 
00460 NVPA_Status NVPA_OpenGL_EndSession(void);
00461 
00468 NVPA_Status NVPA_EGL_EndSession(void);
00469 
00476 #ifndef __cplusplus
00477 NVPA_Status NVPA_CUDA_EndSession(
00478     struct CUctx_st* ctx
00479 );
00480 #else
00481 NVPA_Status NVPA_CUDA_EndSession(struct CUctx_st* ctx = NULL);
00482 #endif
00483 
00492 NVPA_Status NVPA_D3D11_BeginPass(
00493     struct ID3D11DeviceContext* pDeviceContext
00494 );
00495 
00504 NVPA_Status NVPA_D3D12_Queue_BeginPass(
00505     struct ID3D12CommandQueue* pCommandQueue
00506 );
00507 
00518 NVPA_Status NVPA_OpenGL_BeginPass(void);
00519 
00530 NVPA_Status NVPA_EGL_BeginPass(void);
00531 
00542 #ifndef __cplusplus
00543 NVPA_Status NVPA_CUDA_BeginPass(
00544     struct CUctx_st* ctx
00545 );
00546 #else
00547 NVPA_Status NVPA_CUDA_BeginPass(struct CUctx_st* ctx = NULL);
00548 #endif
00549 
00554 NVPA_Status NVPA_D3D11_EndPass(
00555     struct ID3D11DeviceContext* pDeviceContext
00556 );
00557 
00562 NVPA_Status NVPA_D3D12_Queue_EndPass(
00563     struct ID3D12CommandQueue* pCommandQueue
00564 );
00565 
00572 NVPA_Status NVPA_OpenGL_EndPass(void);
00573 
00580 NVPA_Status NVPA_EGL_EndPass(void);
00581 
00588 #ifndef __cplusplus
00589 NVPA_Status NVPA_CUDA_EndPass(
00590     struct CUctx_st* ctx
00591 );
00592 #else
00593 NVPA_Status NVPA_CUDA_EndPass(struct CUctx_st* ctx = NULL);
00594 #endif
00595 
00601 #ifdef __cplusplus
00602 } /* extern "C" */
00603 #endif
00604 
00605 #if defined(__GNUC__) && defined(NVPA_SHARED_LIB)
00606 #pragma GCC visibility pop
00607 #endif
00608 
00609 
00610 #endif /* NVPERFAPI_DELIMITERS_H */

NVIDIA(R) PerfWorks SDK Documentation (c) 2015-2016. NVIDIA Corporation. All Rights Reserved.