00001 #ifndef NVPERFAPI_DEVICE_H 00002 #define NVPERFAPI_DEVICE_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 #if defined(__GNUC__) && defined(NVPA_SHARED_LIB) 00044 #pragma GCC visibility push(default) 00045 #endif 00046 00047 #ifdef __cplusplus 00048 extern "C" { 00049 #endif 00050 00051 00052 NVPA_Status NVPA_Device_BeginSession( 00053 size_t deviceIndex, 00054 const NVPA_Config* pConfig 00055 ); 00056 00057 NVPA_Status NVPA_Device_EndSession( 00058 size_t deviceIndex 00059 ); 00060 00061 NVPA_Status NVPA_Device_BeginPass( 00062 size_t deviceIndex 00063 ); 00064 00065 NVPA_Status NVPA_Device_EndPass( 00066 size_t deviceIndex 00067 ); 00068 00069 NVPA_Status NVPA_Device_TriggerStart( 00070 size_t deviceIndex 00071 ); 00072 NVPA_Status NVPA_Device_TriggerEnd( 00073 size_t deviceIndex, 00074 NVPA_RangeId rangeId 00075 ); 00076 00077 NVPA_Status NVPA_Device_GetStackData( 00078 size_t deviceIndex, 00079 const NVPA_StackData** ppStackData 00080 ); 00081 00082 #if 0 00083 00087 struct NVPA_SampleCallbacks; 00088 00094 NVPA_Status NVPA_Device_ConsumeSampledData( 00095 size_t deviceIndex, 00096 NVPA_SampleCallbacks* pSampleCallbacks 00097 ); 00098 #endif 00099 00100 00101 #ifdef __cplusplus 00102 } // extern "C" 00103 #endif 00104 00105 #if defined(__GNUC__) && defined(NVPA_SHARED_LIB) 00106 #pragma GCC visibility pop 00107 #endif 00108 00109 00110 #endif // NVPERFAPI_DEVICE_H