| Index: tools/gpu/GpuTimer.h
|
| diff --git a/tools/gpu/GpuTimer.h b/tools/gpu/GpuTimer.h
|
| deleted file mode 100644
|
| index d9e320e0a065528064cea7a870de5ca316e3dfe1..0000000000000000000000000000000000000000
|
| --- a/tools/gpu/GpuTimer.h
|
| +++ /dev/null
|
| @@ -1,77 +0,0 @@
|
| -/*
|
| - * Copyright 2016 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#ifndef GpuTimer_DEFINED
|
| -#define GpuTimer_DEFINED
|
| -
|
| -#include "SkTypes.h"
|
| -#include "SkExchange.h"
|
| -#include <chrono>
|
| -
|
| -namespace sk_gpu_test {
|
| -
|
| -using PlatformTimerQuery = intptr_t;
|
| -static constexpr PlatformTimerQuery kInvalidTimerQuery = 0;
|
| -
|
| -/**
|
| - * Platform-independent interface for timing operations on the GPU.
|
| - */
|
| -class GpuTimer {
|
| -public:
|
| - GpuTimer(bool disjointSupport)
|
| - : fDisjointSupport(disjointSupport)
|
| - , fActiveTimer(kInvalidTimerQuery) {
|
| - }
|
| - virtual ~GpuTimer() { SkASSERT(!fActiveTimer); }
|
| -
|
| - /**
|
| - * Returns whether this timer can detect disjoint GPU operations while timing. If false, a query
|
| - * has less confidence when it completes with QueryStatus::kAccurate.
|
| - */
|
| - bool disjointSupport() const { return fDisjointSupport; }
|
| -
|
| - /**
|
| - * Inserts a "start timing" command in the GPU command stream.
|
| - */
|
| - void queueStart() {
|
| - SkASSERT(!fActiveTimer);
|
| - fActiveTimer = this->onQueueTimerStart();
|
| - }
|
| -
|
| - /**
|
| - * Inserts a "stop timing" command in the GPU command stream.
|
| - *
|
| - * @return a query object that can retrieve the time elapsed once the timer has completed.
|
| - */
|
| - PlatformTimerQuery SK_WARN_UNUSED_RESULT queueStop() {
|
| - SkASSERT(fActiveTimer);
|
| - this->onQueueTimerStop(fActiveTimer);
|
| - return skstd::exchange(fActiveTimer, kInvalidTimerQuery);
|
| - }
|
| -
|
| - enum class QueryStatus {
|
| - kInvalid, //<! the timer query is invalid.
|
| - kPending, //<! the timer is still running on the GPU.
|
| - kDisjoint, //<! the query is complete, but dubious due to disjoint GPU operations.
|
| - kAccurate //<! the query is complete and reliable.
|
| - };
|
| -
|
| - virtual QueryStatus checkQueryStatus(PlatformTimerQuery) = 0;
|
| - virtual std::chrono::nanoseconds getTimeElapsed(PlatformTimerQuery) = 0;
|
| - virtual void deleteQuery(PlatformTimerQuery) = 0;
|
| -
|
| -private:
|
| - virtual PlatformTimerQuery onQueueTimerStart() const = 0;
|
| - virtual void onQueueTimerStop(PlatformTimerQuery) const = 0;
|
| -
|
| - bool const fDisjointSupport;
|
| - PlatformTimerQuery fActiveTimer;
|
| -};
|
| -
|
| -} // namespace sk_gpu_test
|
| -
|
| -#endif
|
|
|