34 bool fbo_reset_after_present,
35 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder,
36 std::shared_ptr<fml::BasicTaskRunner> io_task_runner,
43 GLES3ContextHasGLES3Shaders);
45 GLES2ContextDoesNotHaveGLES3Shaders);
48 bool fbo_reset_after_present_;
49 std::shared_ptr<impeller::ContextGLES> impeller_context_;
50 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder_;
51 std::shared_ptr<ReactorWorker> worker_;
54 bool IsValid()
const override;
57 std::unique_ptr<Surface> CreateGPUSurface()
override;
60 std::shared_ptr<impeller::Context> CreateImpellerContext()
const override;
63 std::unique_ptr<GLContextResult> GLContextMakeCurrent()
override;
66 bool GLContextClearCurrent()
override;
69 bool GLContextPresent(
const GLPresentInfo& present_info)
override;
75 bool GLContextFBOResetAfterPresent()
const override;
78 DlMatrix GLContextSurfaceTransformation()
const override;
87 sk_sp<GrDirectContext> CreateResourceContext()
const override;
90 void ReleaseResourceContext()
const override;