#include "ui/gl/gpu_timing.h"
#include <utility>
#include "base/containers/circular_deque.h"
#include "base/memory/ptr_util.h"
#include "base/time/time.h"
#include "ui/gl/gl_bindings.h"
#include "ui/gl/gl_context.h"
#include "ui/gl/gl_version_info.h"
namespace gl {
class TimeElapsedTimerQuery;
class TimerQuery;
int64_t NanoToMicro(uint64_t nano_seconds) { … }
int32_t QueryTimestampBits() { … }
class GPUTimingImpl : public GPUTiming { … };
class QueryResult : public base::RefCounted<QueryResult> { … };
class TimerQuery : public base::RefCounted<TimerQuery> { … };
TimerQuery::TimerQuery(uint32_t next_id)
: … { … }
TimerQuery::~TimerQuery() { … }
class TimeElapsedTimerQuery : public TimerQuery { … };
class TimeStampTimerQuery : public TimerQuery { … };
GPUTimingImpl::GPUTimingImpl(GLContextReal* context) { … }
GPUTimingImpl::~GPUTimingImpl() { … }
uint32_t GPUTimingImpl::GetDisjointCount() { … }
int64_t GPUTimingImpl::CalculateTimerOffset() { … }
scoped_refptr<QueryResult> GPUTimingImpl::BeginElapsedTimeQuery() { … }
void GPUTimingImpl::EndElapsedTimeQuery(scoped_refptr<QueryResult> result) { … }
scoped_refptr<QueryResult> GPUTimingImpl::DoTimeStampQuery() { … }
void GPUTimingImpl::UpdateQueryResults() { … }
void GPUTimingImpl::SetLastElapsedQuery(
scoped_refptr<TimeElapsedTimerQuery> query) { … }
scoped_refptr<TimeElapsedTimerQuery> GPUTimingImpl::GetLastElapsedQuery() { … }
void GPUTimingImpl::HandleBadQuery() { … }
bool GPUTimingImpl::IsGoodQueryID(uint32_t query_id) { … }
scoped_refptr<GPUTimingClient> GPUTimingImpl::CreateGPUTimingClient() { … }
GPUTiming* GPUTiming::CreateGPUTiming(GLContextReal* context) { … }
GPUTiming::GPUTiming() { … }
GPUTiming::~GPUTiming() { … }
GPUTimer::~GPUTimer() { … }
void GPUTimer::Destroy(bool have_context) { … }
void GPUTimer::Reset() { … }
void GPUTimer::QueryTimeStamp() { … }
void GPUTimer::Start() { … }
void GPUTimer::End() { … }
bool GPUTimer::IsAvailable() { … }
void GPUTimer::GetStartEndTimestamps(int64_t* start, int64_t* end) { … }
int64_t GPUTimer::GetDeltaElapsed() { … }
GPUTimer::GPUTimer(scoped_refptr<GPUTimingClient> gpu_timing_client,
bool use_elapsed_timer)
: … { … }
GPUTimingClient::GPUTimingClient(GPUTimingImpl* gpu_timing)
: … { … }
std::unique_ptr<GPUTimer> GPUTimingClient::CreateGPUTimer(
bool prefer_elapsed_time) { … }
bool GPUTimingClient::IsAvailable() { … }
const char* GPUTimingClient::GetTimerTypeName() const { … }
bool GPUTimingClient::CheckAndResetTimerErrors() { … }
int64_t GPUTimingClient::GetCurrentCPUTime() { … }
void GPUTimingClient::SetCpuTimeForTesting(
base::RepeatingCallback<int64_t(void)> cpu_time) { … }
bool GPUTimingClient::IsForceTimeElapsedQuery() { … }
void GPUTimingClient::ForceTimeElapsedQuery() { … }
GPUTimingClient::~GPUTimingClient() { … }
}