From 7b83cb8e2828f116afee2bba251c5a55f81f05c0 Mon Sep 17 00:00:00 2001 From: Kevin Lubick Date: Wed, 27 Sep 2023 10:17:05 -0400 Subject: [PATCH] Update to use GrDirectContexts::MakeGL (#46308) This was added in https://skia-review.googlesource.com/c/skia/+/760017 and the old versions were deprecated. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides]. - [ ] I listed at least one issue that this PR fixes in the description above. - [x] I added new tests to check the change I am making or feature I am adding, or the PR is [test-exempt]. See [testing the engine] for instructions on writing and running engine tests. - [ ] I updated/added relevant documentation (doc comments with `///`). - [x] I signed the [CLA]. - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style [testing the engine]: https://github.com/flutter/flutter/wiki/Testing-the-engine [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat --- lib/web_ui/skwasm/surface.cpp | 3 ++- shell/common/shell_io_manager.cc | 3 ++- shell/gpu/gpu_surface_gl_skia.cc | 3 ++- testing/test_gl_surface.cc | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/web_ui/skwasm/surface.cpp b/lib/web_ui/skwasm/surface.cpp index f1601bbef976c..cebb4889faf2b 100644 --- a/lib/web_ui/skwasm/surface.cpp +++ b/lib/web_ui/skwasm/surface.cpp @@ -8,6 +8,7 @@ #include "third_party/skia/include/gpu/GrBackendSurface.h" #include "third_party/skia/include/gpu/GrDirectContext.h" #include "third_party/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h" +#include "third_party/skia/include/gpu/ganesh/gl/GrGLDirectContext.h" using namespace Skwasm; @@ -91,7 +92,7 @@ void Surface::_init() { makeCurrent(_glContext); emscripten_webgl_enable_extension(_glContext, "WEBGL_debug_renderer_info"); - _grContext = GrDirectContext::MakeGL(GrGLMakeNativeInterface()); + _grContext = GrDirectContexts::MakeGL(GrGLMakeNativeInterface()); // WebGL should already be clearing the color and stencil buffers, but do it // again here to ensure Skia receives them in the expected state. diff --git a/shell/common/shell_io_manager.cc b/shell/common/shell_io_manager.cc index 4a51c2f8d96d9..ec22661b3763d 100644 --- a/shell/common/shell_io_manager.cc +++ b/shell/common/shell_io_manager.cc @@ -8,6 +8,7 @@ #include "flutter/fml/message_loop.h" #include "flutter/shell/common/context_options.h" +#include "third_party/skia/include/gpu/ganesh/gl/GrGLDirectContext.h" #include "third_party/skia/include/gpu/gl/GrGLInterface.h" namespace flutter { @@ -22,7 +23,7 @@ sk_sp ShellIOManager::CreateCompatibleResourceLoadingContext( const auto options = MakeDefaultContextOptions(ContextType::kResource); - if (auto context = GrDirectContext::MakeGL(gl_interface, options)) { + if (auto context = GrDirectContexts::MakeGL(gl_interface, options)) { // Do not cache textures created by the image decoder. These textures // should be deleted when they are no longer referenced by an SkImage. context->setResourceCacheLimit(0); diff --git a/shell/gpu/gpu_surface_gl_skia.cc b/shell/gpu/gpu_surface_gl_skia.cc index 3118bee005134..04c708808e0a9 100644 --- a/shell/gpu/gpu_surface_gl_skia.cc +++ b/shell/gpu/gpu_surface_gl_skia.cc @@ -20,6 +20,7 @@ #include "third_party/skia/include/gpu/GrContextOptions.h" #include "third_party/skia/include/gpu/ganesh/SkSurfaceGanesh.h" #include "third_party/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h" +#include "third_party/skia/include/gpu/ganesh/gl/GrGLDirectContext.h" #include "third_party/skia/include/gpu/gl/GrGLTypes.h" // These are common defines present on all OpenGL headers. However, we don't @@ -51,7 +52,7 @@ sk_sp GPUSurfaceGLSkia::MakeGLContext( const auto options = MakeDefaultContextOptions(ContextType::kRender, GrBackendApi::kOpenGL); - auto context = GrDirectContext::MakeGL(delegate->GetGLInterface(), options); + auto context = GrDirectContexts::MakeGL(delegate->GetGLInterface(), options); if (!context) { FML_LOG(ERROR) << "Failed to set up Skia Gr context."; diff --git a/testing/test_gl_surface.cc b/testing/test_gl_surface.cc index 8c98bacde9fdc..c70364696277a 100644 --- a/testing/test_gl_surface.cc +++ b/testing/test_gl_surface.cc @@ -20,6 +20,7 @@ #include "third_party/skia/include/gpu/GrBackendSurface.h" #include "third_party/skia/include/gpu/ganesh/SkSurfaceGanesh.h" #include "third_party/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h" +#include "third_party/skia/include/gpu/ganesh/gl/GrGLDirectContext.h" #include "third_party/skia/include/gpu/gl/GrGLAssembleInterface.h" #include "third_party/skia/include/gpu/gl/GrGLTypes.h" @@ -336,7 +337,7 @@ sk_sp TestGLSurface::CreateGrContext() { return nullptr; } - context_ = GrDirectContext::MakeGL(interface); + context_ = GrDirectContexts::MakeGL(interface); return context_; }