From 14ece24fcc2051707d2aae1876e81bfd7f2b44fe Mon Sep 17 00:00:00 2001 From: Kevin Lubick Date: Mon, 14 Aug 2023 13:20:23 -0400 Subject: [PATCH] Migrate more GL calls of GrBackend* (flutter/engine#44682) Follow-up to https://github.com/flutter/engine/pull/44334 ## 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 Hixie said 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]. - [x] 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 [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 --- engine/src/flutter/lib/web_ui/skwasm/image.cpp | 5 +++-- engine/src/flutter/lib/web_ui/skwasm/surface.cpp | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/engine/src/flutter/lib/web_ui/skwasm/image.cpp b/engine/src/flutter/lib/web_ui/skwasm/image.cpp index 8216f41320..291d4cd21e 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/image.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/image.cpp @@ -17,6 +17,7 @@ #include "third_party/skia/include/gpu/ganesh/GrExternalTextureGenerator.h" #include "third_party/skia/include/gpu/ganesh/SkImageGanesh.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/gl/GrGLInterface.h" #include "third_party/skia/include/gpu/gl/GrGLTypes.h" @@ -100,8 +101,8 @@ class VideoFrameImageGenerator : public GrExternalTextureGenerator { glInfo.fFormat = GL_RGBA8_OES; glInfo.fTarget = GL_TEXTURE_2D; - GrBackendTexture backendTexture(fInfo.width(), fInfo.height(), mipmapped, - glInfo); + auto backendTexture = GrBackendTextures::MakeGL( + fInfo.width(), fInfo.height(), mipmapped, glInfo); return std::make_unique( backendTexture, glInfo.fID, emscripten_webgl_get_current_context()); } diff --git a/engine/src/flutter/lib/web_ui/skwasm/surface.cpp b/engine/src/flutter/lib/web_ui/skwasm/surface.cpp index 834131f8bc..f07257b926 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/surface.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/surface.cpp @@ -6,6 +6,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" using namespace Skwasm; @@ -155,8 +156,8 @@ void Surface::_setCanvasSize(int width, int height) { // Worker thread only void Surface::_recreateSurface() { makeCurrent(_glContext); - GrBackendRenderTarget target(_canvasWidth, _canvasHeight, _sampleCount, - _stencil, _fbInfo); + auto target = GrBackendRenderTargets::MakeGL(_canvasWidth, _canvasHeight, + _sampleCount, _stencil, _fbInfo); _surface = SkSurfaces::WrapBackendRenderTarget( _grContext.get(), target, kBottomLeft_GrSurfaceOrigin, kRGBA_8888_SkColorType, SkColorSpace::MakeSRGB(), nullptr);