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

Unified Diff: cc/output/output_surface.h

Issue 1985973002: Defer compositor context creation to the thread. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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: cc/output/output_surface.h
diff --git a/cc/output/output_surface.h b/cc/output/output_surface.h
index 326b2fd2fbf22e8f3ff832b208c4a316c744a583..e1baa650f0513691495069c33cec8cdd47cba43e 100644
--- a/cc/output/output_surface.h
+++ b/cc/output/output_surface.h
@@ -46,17 +46,21 @@ class OutputSurfaceClient;
// surface (on the compositor thread) and go back to step 1.
class CC_EXPORT OutputSurface : public base::trace_event::MemoryDumpProvider {
public:
- OutputSurface(scoped_refptr<ContextProvider> context_provider,
- scoped_refptr<ContextProvider> worker_context_provider,
- scoped_refptr<VulkanContextProvider> vulkan_context_provider,
- std::unique_ptr<SoftwareOutputDevice> software_device);
- OutputSurface(scoped_refptr<ContextProvider> context_provider,
- scoped_refptr<ContextProvider> worker_context_provider);
- explicit OutputSurface(scoped_refptr<ContextProvider> context_provider);
+ OutputSurface(
+ std::unique_ptr<ContextProvider::DeferredCreate> context_provider_create,
+ scoped_refptr<ContextProvider> worker_context_provider,
piman 2016/05/17 03:41:40 Is the intent that the worker will also come from
danakj 2016/05/17 19:53:33 Yes. I did the compositor one first since it's alr
+ scoped_refptr<VulkanContextProvider> vulkan_context_provider,
+ std::unique_ptr<SoftwareOutputDevice> software_device);
+ OutputSurface(
+ std::unique_ptr<ContextProvider::DeferredCreate> context_provider_create,
+ scoped_refptr<ContextProvider> worker_context_provider);
+ explicit OutputSurface(
+ std::unique_ptr<ContextProvider::DeferredCreate> context_provider_create);
explicit OutputSurface(std::unique_ptr<SoftwareOutputDevice> software_device);
- OutputSurface(scoped_refptr<ContextProvider> context_provider,
- std::unique_ptr<SoftwareOutputDevice> software_device);
+ OutputSurface(
+ std::unique_ptr<ContextProvider::DeferredCreate> context_provider_create,
+ std::unique_ptr<SoftwareOutputDevice> software_device);
~OutputSurface() override;
@@ -177,6 +181,7 @@ class CC_EXPORT OutputSurface : public base::trace_event::MemoryDumpProvider {
void PostSwapBuffersComplete();
struct OutputSurface::Capabilities capabilities_;
+ std::unique_ptr<ContextProvider::DeferredCreate> context_provider_create_;
scoped_refptr<ContextProvider> context_provider_;
scoped_refptr<ContextProvider> worker_context_provider_;
scoped_refptr<VulkanContextProvider> vulkan_context_provider_;

Powered by Google App Engine
This is Rietveld 408576698