Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(349)

Unified Diff: components/mus/surfaces/surfaces_context_provider.h

Issue 1854953002: Plumb GpuSwapBuffers completion from Mus GPU thread to WS thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review nits Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/mus/surfaces/surfaces_context_provider.h
diff --git a/components/mus/surfaces/surfaces_context_provider.h b/components/mus/surfaces/surfaces_context_provider.h
index 520ff1388b36a4a6aab6cab4ca79c34ae7355a81..3255cf04cb9c85b99ec961dcac3bc22146d73276 100644
--- a/components/mus/surfaces/surfaces_context_provider.h
+++ b/components/mus/surfaces/surfaces_context_provider.h
@@ -13,6 +13,7 @@
#include "cc/output/context_provider.h"
#include "components/mus/gles2/command_buffer_local_client.h"
#include "ui/gfx/native_widget_types.h"
+#include "ui/gl/gl_surface.h"
namespace gpu {
@@ -54,6 +55,10 @@ class SurfacesContextProvider : public cc::ContextProvider,
void SetupLock() override;
base::Lock* GetLock() override;
+ // SurfacesContextProvider API.
+ void SetSwapBuffersCompletionCallback(
+ gfx::GLSurface::SwapCompletionCallback callback);
+
protected:
friend class base::RefCountedThreadSafe<SurfacesContextProvider>;
~SurfacesContextProvider() override;
@@ -62,6 +67,7 @@ class SurfacesContextProvider : public cc::ContextProvider,
// CommandBufferLocalClient:
void UpdateVSyncParameters(int64_t timebase, int64_t interval) override;
void DidLoseContext() override;
+ void GpuCompletedSwapBuffers(gfx::SwapResult result) override;
// From GLES2Context:
// Initialized in BindToCurrentThread.
@@ -76,6 +82,8 @@ class SurfacesContextProvider : public cc::ContextProvider,
gfx::AcceleratedWidget widget_;
CommandBufferLocal* command_buffer_local_;
+ gfx::GLSurface::SwapCompletionCallback swap_buffers_completion_callback_;
+
base::Lock context_lock_;
DISALLOW_COPY_AND_ASSIGN(SurfacesContextProvider);

Powered by Google App Engine
This is Rietveld 408576698