summaryrefslogtreecommitdiff
path: root/Runtime/GfxDevice/threaded/ThreadedTimerQuery.h
blob: b8aecbde43f0090bddfb63f41704085e3e9c7617 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef THREADEDTIMERQUERY_H
#define THREADEDTIMERQUERY_H

#if ENABLE_PROFILER

#include "Runtime/GfxDevice/GfxTimerQuery.h"

class GfxDeviceClient;
struct ClientDeviceTimerQuery;

class ThreadedTimerQuery : public GfxTimerQuery
{
public:
	ThreadedTimerQuery(GfxDeviceClient& device);
	~ThreadedTimerQuery();

	virtual void				Measure();
	virtual ProfileTimeFormat	GetElapsed(UInt32 flags);

private:
	ProfileTimeFormat GetElapsedIfReady();
	void DoLockstep();

	GfxDeviceClient&		m_ClientDevice;
	ClientDeviceTimerQuery* m_ClientQuery;
};

#endif
#endif