| Index: services/ui/surfaces/surfaces_context_provider.h
|
| diff --git a/services/ui/surfaces/surfaces_context_provider.h b/services/ui/surfaces/surfaces_context_provider.h
|
| index 207d3db32cbfe1168a547e85b783dce95b297662..aaa5e287f7c659cc5486f79581589ccf82b97a13 100644
|
| --- a/services/ui/surfaces/surfaces_context_provider.h
|
| +++ b/services/ui/surfaces/surfaces_context_provider.h
|
| @@ -12,6 +12,7 @@
|
| #include "base/macros.h"
|
| #include "base/threading/non_thread_safe.h"
|
| #include "cc/output/context_provider.h"
|
| +#include "services/ui/gles2/command_buffer_local_client.h"
|
| #include "ui/gfx/native_widget_types.h"
|
| #include "ui/gl/gl_surface.h"
|
|
|
| @@ -36,12 +37,16 @@ namespace ui {
|
|
|
| class CommandBufferDriver;
|
| class CommandBufferImpl;
|
| +class CommandBufferLocal;
|
| +class GpuState;
|
| class SurfacesContextProviderDelegate;
|
|
|
| class SurfacesContextProvider : public cc::ContextProvider,
|
| + public CommandBufferLocalClient,
|
| public base::NonThreadSafe {
|
| public:
|
| - explicit SurfacesContextProvider(gfx::AcceleratedWidget widget);
|
| + SurfacesContextProvider(gfx::AcceleratedWidget widget,
|
| + const scoped_refptr<GpuState>& state);
|
|
|
| void SetDelegate(SurfacesContextProviderDelegate* delegate);
|
|
|
| @@ -66,6 +71,11 @@ class SurfacesContextProvider : public cc::ContextProvider,
|
| ~SurfacesContextProvider() override;
|
|
|
| private:
|
| + // CommandBufferLocalClient:
|
| + void UpdateVSyncParameters(const base::TimeTicks& timebase,
|
| + const base::TimeDelta& interval) override;
|
| + void GpuCompletedSwapBuffers(gfx::SwapResult result) override;
|
| +
|
| // Callbacks for CommandBufferProxyImpl:
|
| void OnGpuSwapBuffersCompleted(
|
| const std::vector<ui::LatencyInfo>& latency_info,
|
| @@ -74,6 +84,8 @@ class SurfacesContextProvider : public cc::ContextProvider,
|
| void OnUpdateVSyncParameters(base::TimeTicks timebase,
|
| base::TimeDelta interval);
|
|
|
| + bool use_chrome_gpu_command_buffer_;
|
| +
|
| // From GLES2Context:
|
| // Initialized in BindToCurrentThread.
|
| std::unique_ptr<gpu::gles2::GLES2CmdHelper> gles2_helper_;
|
| @@ -85,6 +97,7 @@ class SurfacesContextProvider : public cc::ContextProvider,
|
|
|
| SurfacesContextProviderDelegate* delegate_;
|
| gfx::AcceleratedWidget widget_;
|
| + CommandBufferLocal* command_buffer_local_;
|
| std::unique_ptr<gpu::CommandBufferProxyImpl> command_buffer_proxy_impl_;
|
| gl::GLSurface::SwapCompletionCallback swap_buffers_completion_callback_;
|
|
|
|
|