| Index: gpu/command_buffer/client/gles2_implementation.h
|
| diff --git a/gpu/command_buffer/client/gles2_implementation.h b/gpu/command_buffer/client/gles2_implementation.h
|
| index b997ea13f1b44c9edd7156360371c1ab23174da2..2a966fa2494472b4b003115adfa5283e85629925 100644
|
| --- a/gpu/command_buffer/client/gles2_implementation.h
|
| +++ b/gpu/command_buffer/client/gles2_implementation.h
|
| @@ -212,6 +212,10 @@ class GLES2_IMPL_EXPORT GLES2Implementation
|
| std::unique_ptr<ScopedVisibility> visibility) override;
|
| bool AnyClientsVisible() const override;
|
|
|
| + std::unique_ptr<ScopedBusy> ClientBecameBusy() override;
|
| + void ClientBecameNotBusy(std::unique_ptr<ScopedBusy> busy) override;
|
| + void SetIdleCallback(const base::Closure& callback) override;
|
| +
|
| // TODO(danakj): Move to ContextSupport once ContextProvider doesn't need to
|
| // intercept it.
|
| void SetLostContextCallback(const base::Closure& callback);
|
| @@ -696,6 +700,9 @@ class GLES2_IMPL_EXPORT GLES2Implementation
|
|
|
| PixelStoreParams GetUnpackParameters(Dimension dimension);
|
|
|
| + void RunIdleCallback(uint32_t callback_generation) const;
|
| + void CancelIdleCallback();
|
| +
|
| GLES2Util util_;
|
| GLES2CmdHelper* helper_;
|
| TransferBufferInterface* transfer_buffer_;
|
| @@ -823,10 +830,19 @@ class GLES2_IMPL_EXPORT GLES2Implementation
|
| base::Closure lost_context_callback_;
|
| bool lost_context_callback_run_ = false;
|
|
|
| + // |idle_lock_| must be held while accessing |idle_callback_|, |is_idle_| or
|
| + // |current_idle_callback_generation_|.
|
| + mutable base::Lock idle_lock_;
|
| + base::Closure idle_callback_;
|
| + bool is_idle_ = true;
|
| + uint32_t current_idle_callback_generation_ = 0;
|
| +
|
| int current_trace_stack_;
|
|
|
| GpuControl* gpu_control_;
|
|
|
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| +
|
| Capabilities capabilities_;
|
|
|
| // Flag to indicate whether the implementation can retain resources, or
|
|
|