00001 #ifndef NVPERFAPI_ACTIVITY_H
00002 #define NVPERFAPI_ACTIVITY_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
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
00068 struct NVPA_MetricOptions;
00069
00073 NVPA_Status NVPA_MetricOptions_Create(
00074 NVPA_MetricOptions** ppMetricOptions
00075 );
00076
00078 NVPA_Status NVPA_MetricOptions_Destroy(
00079 NVPA_MetricOptions* pMetricOptions
00080 );
00081
00086 NVPA_Status NVPA_MetricOptions_SetSerialized(
00087 NVPA_MetricOptions* pMetricOptions,
00088 NVPA_Bool value
00089 );
00090
00096
00106 struct NVPA_ActivityOptions;
00107
00112 NVPA_Status NVPA_ActivityOptions_Create(
00113 NVPA_ActivityOptions** ppActivityOptions
00114 );
00115
00118 NVPA_Status NVPA_ActivityOptions_Destroy(
00119 NVPA_ActivityOptions* pActivityOptions
00120 );
00121
00126 NVPA_Status NVPA_ActivityOptions_SetActivityKind(
00127 NVPA_ActivityOptions* pActivityOptions,
00128 NVPA_ActivityKind activityKind
00129 );
00130
00138 NVPA_Status NVPA_ActivityOptions_SetMaxPassCount(
00139 NVPA_ActivityOptions* pActivityOptions,
00140 size_t maxPassCount
00141 );
00142
00153 NVPA_Status NVPA_ActivityOptions_IsolateCountersByWorkType(
00154 NVPA_ActivityOptions* pActivityOptions,
00155 NVPA_Bool value
00156 );
00157
00163
00174 struct NVPA_Activity;
00175
00184 NVPA_Status NVPA_Activity_CreateForDevice(
00185 size_t deviceIndex,
00186 const NVPA_ActivityOptions* pActivityOptions,
00187 NVPA_Activity** ppActivity
00188 );
00189
00198 NVPA_Status NVPA_Activity_CreateForVirtualDevice(
00199 const char* pChipName,
00200 const NVPA_ActivityOptions* pActivityOptions,
00201 NVPA_Activity** ppActivity
00202 );
00203
00206 NVPA_Status NVPA_Activity_Destroy(
00207 NVPA_Activity* pActivity
00208 );
00209
00214 NVPA_Status NVPA_Activity_GetNumMetrics(
00215 const NVPA_Activity* pActivity,
00216 size_t* pNumMetrics
00217 );
00218
00226 NVPA_Status NVPA_Activity_GetMetricIds(
00227 const NVPA_Activity* pActivity,
00228 size_t numMetricIds,
00229 NVPA_MetricId* pMetricIds,
00230 size_t* pNumMetricIds
00231 );
00232
00238 NVPA_Status NVPA_Activity_FindMetricByName(
00239 const NVPA_Activity* pActivity,
00240 const char* pMetricName,
00241 NVPA_MetricId* pMetricId
00242 );
00243
00255 NVPA_Status NVPA_Activity_FindMetricsByTags(
00256 const NVPA_Activity* pActivity,
00257 size_t numTags,
00258 const char** ppTags,
00259 size_t numMetricIds,
00260 NVPA_MetricId* pMetricIds,
00261 size_t* pNumMetricIds
00262 );
00263
00282 NVPA_Status NVPA_Activity_EnableMetric(
00283 NVPA_Activity* pActivity,
00284 NVPA_MetricId metricId,
00285 const NVPA_MetricOptions* pMetricOptions,
00286 NVPA_MetricEnableError* pReason
00287 );
00288
00307 NVPA_Status NVPA_Activity_CanEnableMetric(
00308 const NVPA_Activity* pActivity,
00309 NVPA_MetricId metricId,
00310 const NVPA_MetricOptions* pMetricOptions,
00311 NVPA_MetricEnableError* pReason
00312 );
00313
00316 NVPA_Status NVPA_Activity_GetNumEnabledMetrics(
00317 const NVPA_Activity* pActivity,
00318 size_t* pNumEnabledMetrics
00319 );
00320
00328 NVPA_Status NVPA_Activity_GetEnabledMetricIds(
00329 const NVPA_Activity* pActivity,
00330 size_t numMetricIds,
00331 NVPA_MetricId* pMetricIds,
00332 size_t* pNumMetricIds
00333 );
00334
00342 NVPA_Status NVPA_Activity_GetMetricSerializedCaps(
00343 const NVPA_Activity* pActivity,
00344 NVPA_MetricId metricId,
00345 NVPA_Bool* pSerialized,
00346 NVPA_Bool* pPipelined
00347 );
00348
00358 NVPA_Status NVPA_Activity_GetEnabledMetricsSerialized(
00359 const NVPA_Activity* pActivity,
00360 size_t numSerialized,
00361 NVPA_Bool* pSerialized,
00362 size_t* pNumSerialized
00363 );
00364
00374 NVPA_Status NVPA_Activity_GetNumRequiredPasses(
00375 const NVPA_Activity* pActivity,
00376 size_t* pNumPipelinedPasses,
00377 size_t* pNumSerializedPasses
00378 );
00379
00393 NVPA_Status NVPA_Activity_SetMaxNestedRanges(
00394 NVPA_Activity* pActivity,
00395 uint32_t maxNestedRanges
00396 );
00397
00412 NVPA_Status NVPA_Activity_LimitMaxNestedRangesToObserved(
00413 NVPA_Activity* pActivity,
00414 NVPA_Bool limitToObserved
00415 );
00416
00427 NVPA_Status NVPA_Activity_SetAutoRangesDraw(
00428 NVPA_Activity* pActivity,
00429 NVPA_Bool enable
00430 );
00431
00442 NVPA_Status NVPA_Activity_SetAutoRangesDispatch(
00443 NVPA_Activity* pActivity,
00444 NVPA_Bool enable
00445 );
00446
00447
00453
00470 NVPA_Status NVPA_GetMetricNames(
00471 size_t numMetricIds,
00472 const NVPA_MetricId* pMetricIds,
00473 const char** ppMetricNames
00474 );
00475
00488 NVPA_Status NVPA_GetMetricDescriptions(
00489 size_t numMetricIds,
00490 const NVPA_MetricId* pMetricIds,
00491 const char** ppDescriptions
00492 );
00493
00506 NVPA_Status NVPA_GetMetricTags(
00507 NVPA_MetricId metricId,
00508 size_t numTags,
00509 const char** ppTags,
00510 size_t* pNumTags
00511 );
00512
00522 NVPA_Status NVPA_GetNumAllMetricTags(
00523 size_t* pNumTags
00524 );
00525
00537 NVPA_Status NVPA_GetAllMetricTags(
00538 size_t numTags,
00539 const char** ppTags,
00540 size_t* pNumTags
00541 );
00542
00548 #ifdef __cplusplus
00549 }
00550 #endif
00551
00552 #if defined(__GNUC__) && defined(NVPA_SHARED_LIB)
00553 #pragma GCC visibility pop
00554 #endif
00555
00556
00557 #endif