You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef IVPROFEXPORT_H |
|
#define IVPROFEXPORT_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
|
|
#include "tier0/vprof.h" |
|
|
|
|
|
#define VPROF_EXPORT_INTERFACE_VERSION "VProfExport001" |
|
#include <Color.h> |
|
|
|
abstract_class IVProfExport |
|
{ |
|
public: |
|
enum |
|
{ |
|
MAX_BUDGETGROUP_TIMES = 512 |
|
}; |
|
|
|
class CExportedBudgetGroupInfo |
|
{ |
|
public: |
|
const char *m_pName; |
|
int m_BudgetFlags; // Combination of BUDGETFLAG_ defines (in vprof.h) |
|
Color m_Color; |
|
}; |
|
|
|
public: |
|
|
|
// Use this to register and unregister for the vprof data (if you don't, GetBudgetGroupTimes may return no data). |
|
virtual void AddListener() = 0; |
|
virtual void RemoveListener() = 0; |
|
|
|
// Pause/resume profiling so it doesn't capture data we don't want. |
|
virtual void PauseProfile() = 0; |
|
virtual void ResumeProfile() = 0; |
|
|
|
// Set a combination of BUDGETFLAG_ defines to define what data you're get back. |
|
// Note: this defines which budget groups to REJECT (ones that have flags that are in filter won't be returned). |
|
virtual void SetBudgetFlagsFilter( int filter ) = 0; |
|
|
|
// Use budgetFlags to filter out which budget groups you're interested in. |
|
virtual int GetNumBudgetGroups() = 0; |
|
|
|
// pInfos must have space to hold the return value from GetNumBudgetGroups(). |
|
virtual void GetBudgetGroupInfos( CExportedBudgetGroupInfo *pInfos ) = 0; |
|
|
|
virtual void GetBudgetGroupTimes( float times[MAX_BUDGETGROUP_TIMES] ) = 0; |
|
}; |
|
|
|
|
|
#endif // IVPROFEXPORT_H
|
|
|