nvperfapi_common_types.h

Go to the documentation of this file.
00001 #ifndef NVPERFAPI_COMMON_TYPES_H
00002 #define NVPERFAPI_COMMON_TYPES_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 <stdint.h>
00042 #include <stddef.h>
00043 
00044 
00045 #if defined(__GNUC__) && defined(NVPA_SHARED_LIB)
00046     #define NVPA_LOCAL __attribute__ ((visibility ("hidden")))
00047 #else
00048     #define NVPA_LOCAL
00049 #endif
00050 
00051 #ifdef __cplusplus
00052 extern "C" {
00053 #endif
00054 
00060 /***************************************************************************/
00065 struct ID3D11DeviceContext;
00066 struct ID3D12CommandQueue;
00067 struct ID3D12GraphicsCommandList;
00068 struct CUctx_st;
00069 
00075 /***************************************************************************/
00083 typedef enum NVPA_Status
00084 {
00086     NVPA_STATUS_SUCCESS = 0,
00087 
00089     NVPA_STATUS_ERROR = 1,
00090 
00092     NVPA_STATUS_INTERNAL_ERROR = 2,
00093 
00095     NVPA_STATUS_NOT_INITIALIZED = 3,
00096 
00098     NVPA_STATUS_NOT_LOADED = 4,
00099 
00101     NVPA_STATUS_FUNCTION_NOT_FOUND = 5,
00102 
00104     NVPA_STATUS_NOT_SUPPORTED = 6,
00105 
00107     NVPA_STATUS_NOT_IMPLEMENTED = 7,
00108 
00110     NVPA_STATUS_INVALID_ARGUMENT = 8,
00111 
00113     NVPA_STATUS_INVALID_METRIC_ID = 9,
00114 
00116     NVPA_STATUS_DRIVER_NOT_LOADED = 10,
00117 
00119     NVPA_STATUS_OUT_OF_MEMORY = 11,
00120 
00122     NVPA_STATUS_INVALID_THREAD_STATE = 12,
00123 
00125     NVPA_STATUS_FAILED_CONTEXT_ALLOC = 13,
00126 
00128     NVPA_STATUS_UNSUPPORTED_GPU = 14,
00129 
00131     NVPA_STATUS_INSUFFICIENT_DRIVER_VERSION = 15,
00132 
00134     NVPA_STATUS_OBJECT_NOT_REGISTERED = 16,
00135 
00137     NVPA_STATUS_INSUFFICIENT_PRIVILEGE = 17,
00138 
00140     NVPA_STATUS_INVALID_CONTEXT_STATE = 18,
00141 
00143     NVPA_STATUS_INVALID_OBJECT_STATE = 19,
00144 
00146     NVPA_STATUS_RESOURCE_UNAVAILABLE = 20,
00147 
00149     NVPA_STATUS_DRIVER_LOADED_TOO_LATE = 21,
00150 
00152     NVPA_STATUS_INSUFFICIENT_SPACE = 22,
00153 
00155     NVPA_STATUS_OBJECT_MISMATCH = 23,
00156 
00158     NVPA_STATUS__COUNT
00159 
00160 } NVPA_Status;
00161 
00165 typedef enum NVPA_ActivityKind
00166 {
00169     NVPA_ACTIVITY_KIND_INVALID = 0,
00170 
00177     NVPA_ACTIVITY_KIND_PROFILER,
00178 
00181     NVPA_ACTIVITY_KIND_REALTIME_SAMPLED,
00182 
00185     NVPA_ACTIVITY_KIND__COUNT
00186 } NVPA_ActivityKind;
00187 
00193 typedef enum NVPA_MetricEnableError
00194 {
00196     NVPA_METRIC_ENABLE_ERROR_NONE = 0,
00197 
00199     NVPA_METRIC_ENABLE_ERROR_UNKNOWN = 1,
00200 
00203     NVPA_METRIC_ENABLE_ERROR_TOO_MANY_PASSES = 2,
00204 
00206     NVPA_METRIC_ENABLE_ERROR_NOT_IMPLEMENTED = 3,
00207 
00209     NVPA_METRIC_ENABLE_ERROR__COUNT
00210 } NVPA_MetricEnableError;
00211 
00219 typedef enum NVPA_MetricValueError
00220 {
00222     NVPA_METRIC_VALUE_ERROR_NONE = 0,
00223 
00225     NVPA_METRIC_VALUE_ERROR_UNINITIALIZED = 1000,
00226 
00228     NVPA_METRIC_VALUE_ERROR_INVALID = 2000,
00229 
00231     NVPA_METRIC_VALUE_ERROR_OUT_OF_MEMORY = 2500,
00232 
00234     NVPA_METRIC_VALUE_ERROR_OVERFLOWED = 3000,
00235 
00237     NVPA_METRIC_VALUE_ERROR_DIVIDE_BY_ZERO = 4000,
00238 
00240     NVPA_METRIC_VALUE_ERROR_NOT_AVAILABLE = 5000,
00241 
00243     NVPA_METRIC_VALUE_ERROR_NOT_READY = 6000,
00244 
00246     NVPA_METRIC_VALUE_ERROR_NOT_PERMITTED = 7000,
00247 
00253     NVPA_METRIC_VALUE_ERROR_MIN_MAX_NOT_COLLECTIBLE = 8000
00254 } NVPA_MetricValueError;
00255 
00260 typedef enum NVPA_GpuEventHandlingResult
00261 {
00263     NVPA_GPU_EVENT_HANDLING_RESULT_NONE = 0,
00264 
00266     NVPA_GPU_EVENT_HANDLING_RESULT_REACHED_REQUESTED_EVENTS = 1,
00267 
00269     NVPA_GPU_EVENT_HANDLING_RESULT_TIME_OUT = 2,
00270 
00272     NVPA_GPU_EVENT_HANDLING_RESULT_SESSION_ENDED = 3,
00273 
00275     NVPA_GPU_EVENT_HANDLING_RESULT__COUNT
00276 } NVPA_GpuEventHandlingResult;
00277 
00279 typedef uint8_t NVPA_Bool;
00280 
00282 typedef int32_t NVPA_StackId;
00283 
00285 typedef intptr_t NVPA_RangeId;
00286 
00288 typedef uint32_t NVPA_MetricId;
00289 
00294 typedef struct NVPA_Activity NVPA_Activity;
00295 typedef struct NVPA_ActivityOptions NVPA_ActivityOptions;
00296 typedef struct NVPA_Config NVPA_Config;
00297 typedef struct NVPA_MetricOptions NVPA_MetricOptions;
00298 typedef struct NVPA_SampleCallbacks NVPA_SampleCallbacks;
00299 typedef struct NVPA_StackData NVPA_StackData;
00300 typedef struct NVPA_StackDataOptions NVPA_StackDataOptions;
00301 
00302 
00303 #ifdef __cplusplus
00304 } /* extern "C" */
00305 #endif
00306 
00307 
00308 #endif /* NVPERFAPI_COMMON_TYPES_H */

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