diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/vtuneapi.h | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'common/vtuneapi.h')
| -rw-r--r-- | common/vtuneapi.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/common/vtuneapi.h b/common/vtuneapi.h new file mode 100644 index 0000000..11615e5 --- /dev/null +++ b/common/vtuneapi.h @@ -0,0 +1,115 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +/** +*** Copyright (C) 1999-2001 Intel Corporation. All rights reserved. +*** +*** The information and source code contained herein is the exclusive +*** property of Intel Corporation and may not be disclosed, examined +*** or reproduced in whole or in part without explicit written authorization +*** from the company. +**/ + +/********************************************************************************* + * vtuneapi.h 03-21-2001 + * Intel Corporation + * + * This header file describes VTune api's which are exported by vtuneapi.dll. + * + * To use these api's, include this header file and either link with vtuneapi.lib or load + * vtuneapi.dll at runtime. + * + * VTune API's + * ----------- + * + * VOID VTPause(void) and VOID VTResume(void) + * + * VTPause and VTResume pause or resume data collection during a VTune Sampling, Counter Monitor, or Callgraph activity. + * + * If VTPause is called while a VTune Sampling collection is active, a flag is set which + * suspends collection of PC samples on the current machine. Collection of PC samples + * can be resumed by calling VTResume which clears the flag. The overhead to set and clear the flag + * is very low, so the VTPause and VTResume can be called at a high frequency. + * + * If VTPause is called while a VTune Callgraph collection is active, Callgraph data collection + * is paused for the current process. Callgraph data collection for the current process can + * be resumed by calling VTResume. + * + * If VTPause is called while a VTune Counter Monitor collection is active, Counter Monitor data collection + * is paused. Counter Monitor data collection can be resumed by calling VTResume. + * + * VTPause and VTResume can be safely called when the Sampling, Counter Monitor, and Callgraph collectors are not active. + * In this case, the VTPause and VTResume do nothing. + * + * Note: + * + * VTune Sampling, Counter Monitor, and Callgraph activities are typically started with the VTune application. + * The VTune GUI allows Sampling, Counter Monitor, and Callgraph activities to be started in "Pause" mode + * which suspends data collection until a VTResume is called. + * Data collection can also be paused and resumed by the Pause/Resume button in the VTune GUI. + * See VTune onlilne help for more details. + * +\*********************************************************************************/ + +#ifndef _VTUNEAPI_H_ +#define _VTUNEAPI_H_ + +#ifndef _XBOX +#include <windows.h> +#else +#include <XTL.h> +#endif //!_XBOX + +#ifdef _XBOX +#define VTUNEAPI +#elif !defined(_VTUNEAPI_) +#define VTUNEAPI __declspec(dllimport) +#else +#define VTUNEAPI __declspec(dllexport) +#endif + + +#define VTUNEAPICALL __cdecl + + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + + +// +// Pause and Resume data collection during VTune PC Sampling and Callgraph sessions. +// The VTPause and VTResume api's effect +// both VTune PC Sampling and VTune Callgraph +// +VTUNEAPI +VOID VTUNEAPICALL VTPause(void); + +VTUNEAPI +VOID VTUNEAPICALL VTResume(void); + + +//Preserve VtPauseSampling and VtResumeSampling for backward compatibility... +VTUNEAPI +void VTUNEAPICALL VTPauseSampling(void); + +VTUNEAPI +void VTUNEAPICALL VTResumeSampling(void); + +VTUNEAPI +void VTUNEAPICALL CMPause(void); + +VTUNEAPI +void VTUNEAPICALL CMResume(void); + +#ifdef __cplusplus +} +#endif // __cplusplus + +#endif // _VTUNEAPI_H_ + + |