mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 14:16:50 +00:00
61 lines
1.5 KiB
C
61 lines
1.5 KiB
C
|
//========= 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
|