| Index: cc/output/output_surface.h
|
| diff --git a/cc/output/output_surface.h b/cc/output/output_surface.h
|
| index 42498c8451e12594d0d8e377cacfefd9456b9b06..d3eca54fa83d98023e0c71e623785a5fd8422d8c 100644
|
| --- a/cc/output/output_surface.h
|
| +++ b/cc/output/output_surface.h
|
| @@ -12,6 +12,7 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "cc/base/cc_export.h"
|
| +#include "cc/base/rolling_time_delta_history.h"
|
| #include "cc/output/context_provider.h"
|
| #include "cc/output/overlay_candidate_validator.h"
|
| #include "cc/output/software_output_device.h"
|
| @@ -127,6 +128,10 @@ class CC_EXPORT OutputSurface {
|
|
|
| bool HasClient() { return !!client_; }
|
|
|
| + // Returns an estimate of the current GPU latency. When only a software
|
| + // device is present, returns 0.
|
| + base::TimeDelta GpuLatencyEstimate();
|
| +
|
| // Get the class capable of informing cc of hardware overlay capability.
|
| OverlayCandidateValidator* overlay_candidate_validator() const {
|
| return overlay_candidate_validator_.get();
|
| @@ -169,11 +174,16 @@ class CC_EXPORT OutputSurface {
|
| void SetUpContext3d();
|
| void ResetContext3d();
|
| void SetMemoryPolicy(const ManagedMemoryPolicy& policy);
|
| + void UpdateAndMeasureGpuLatency();
|
|
|
| bool external_stencil_test_enabled_;
|
|
|
| base::WeakPtrFactory<OutputSurface> weak_ptr_factory_;
|
|
|
| + std::deque<unsigned> available_gpu_latency_query_ids_;
|
| + std::deque<unsigned> pending_gpu_latency_query_ids_;
|
| + RollingTimeDeltaHistory gpu_latency_history_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(OutputSurface);
|
| };
|
|
|
|
|