Rename Skia specific TUs. (flutter/engine#52855)

Fixes https://github.com/flutter/flutter/issues/148235
This commit is contained in:
Chinmay Garde 2024-05-24 11:40:18 -07:00 committed by GitHub
parent 1f57178c37
commit c8a7439178
10 changed files with 72 additions and 68 deletions

View File

@ -44202,14 +44202,14 @@ ORIGIN: ../../../flutter/shell/platform/embedder/embedder_semantics_update.h + .
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_struct_macros.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_gl.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_gl.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_gl_impeller.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_gl_impeller.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_metal.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_metal.mm + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_gl_skia.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_gl_skia.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_metal_impeller.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_metal_impeller.mm + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_metal_skia.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_metal_skia.mm + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_software.cc + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_software.h + ../../../flutter/LICENSE
ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_vulkan.cc + ../../../flutter/LICENSE
@ -47097,14 +47097,14 @@ FILE: ../../../flutter/shell/platform/embedder/embedder_semantics_update.h
FILE: ../../../flutter/shell/platform/embedder/embedder_struct_macros.h
FILE: ../../../flutter/shell/platform/embedder/embedder_surface.cc
FILE: ../../../flutter/shell/platform/embedder/embedder_surface.h
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_gl.cc
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_gl.h
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_gl_impeller.cc
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_gl_impeller.h
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_metal.h
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_metal.mm
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_gl_skia.cc
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_gl_skia.h
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_metal_impeller.h
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_metal_impeller.mm
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_metal_skia.h
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_metal_skia.mm
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_software.cc
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_software.h
FILE: ../../../flutter/shell/platform/embedder/embedder_surface_vulkan.cc

View File

@ -118,8 +118,8 @@ template("embedder_source_set") {
sources += [
"embedder_external_texture_gl.cc",
"embedder_external_texture_gl.h",
"embedder_surface_gl.cc",
"embedder_surface_gl.h",
"embedder_surface_gl_skia.cc",
"embedder_surface_gl_skia.h",
]
if (impeller_supports_rendering) {
@ -147,8 +147,8 @@ template("embedder_source_set") {
sources += [
"embedder_external_texture_metal.h",
"embedder_external_texture_metal.mm",
"embedder_surface_metal.h",
"embedder_surface_metal.mm",
"embedder_surface_metal_skia.h",
"embedder_surface_metal_skia.mm",
]
if (impeller_supports_rendering) {

View File

@ -75,6 +75,7 @@ extern const intptr_t kPlatformStrongDillSize;
#ifdef IMPELLER_SUPPORTS_RENDERING
#include "flutter/shell/platform/embedder/embedder_render_target_impeller.h" // nogncheck
#include "flutter/shell/platform/embedder/embedder_surface_gl_impeller.h" // nogncheck
#include "flutter/shell/platform/embedder/embedder_surface_gl_skia.h" // nogncheck
#include "impeller/core/texture.h" // nogncheck
#include "impeller/renderer/backend/gles/context_gles.h" // nogncheck
#include "impeller/renderer/backend/gles/texture_gles.h" // nogncheck
@ -84,7 +85,7 @@ extern const intptr_t kPlatformStrongDillSize;
#endif // SHELL_ENABLE_GL
#ifdef SHELL_ENABLE_METAL
#include "flutter/shell/platform/embedder/embedder_surface_metal.h"
#include "flutter/shell/platform/embedder/embedder_surface_metal_skia.h"
#include "third_party/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h"
#include "third_party/skia/include/gpu/ganesh/mtl/GrMtlTypes.h"
#include "third_party/skia/include/ports/SkCFObject.h"
@ -447,7 +448,7 @@ InferOpenGLPlatformViewCreationCallback(
bool fbo_reset_after_present =
SAFE_ACCESS(open_gl_config, fbo_reset_after_present, false);
flutter::EmbedderSurfaceGL::GLDispatchTable gl_dispatch_table = {
flutter::EmbedderSurfaceGLSkia::GLDispatchTable gl_dispatch_table = {
gl_make_current, // gl_make_current_callback
gl_clear_current, // gl_clear_current_callback
gl_present, // gl_present_callback
@ -479,7 +480,7 @@ InferOpenGLPlatformViewCreationCallback(
return std::make_unique<flutter::PlatformViewEmbedder>(
shell, // delegate
shell.GetTaskRunners(), // task runners
std::make_unique<flutter::EmbedderSurfaceGL>(
std::make_unique<flutter::EmbedderSurfaceGLSkia>(
gl_dispatch_table, fbo_reset_after_present,
view_embedder), // embedder_surface
platform_dispatch_table, // embedder platform dispatch table
@ -551,11 +552,12 @@ InferMetalPlatformViewCreationCallback(
metal_dispatch_table, view_embedder);
} else {
#if !SLIMPELLER
flutter::EmbedderSurfaceMetal::MetalDispatchTable metal_dispatch_table = {
.present = metal_present,
.get_texture = metal_get_texture,
};
embedder_surface = std::make_unique<flutter::EmbedderSurfaceMetal>(
flutter::EmbedderSurfaceMetalSkia::MetalDispatchTable metal_dispatch_table =
{
.present = metal_present,
.get_texture = metal_get_texture,
};
embedder_surface = std::make_unique<flutter::EmbedderSurfaceMetalSkia>(
const_cast<flutter::GPUMTLDeviceHandle>(config->metal.device),
const_cast<flutter::GPUMTLCommandQueueHandle>(
config->metal.present_command_queue),

View File

@ -46,7 +46,7 @@ class ReactorWorker final : public impeller::ReactorGLES::Worker {
};
EmbedderSurfaceGLImpeller::EmbedderSurfaceGLImpeller(
EmbedderSurfaceGL::GLDispatchTable gl_dispatch_table,
EmbedderSurfaceGLSkia::GLDispatchTable gl_dispatch_table,
bool fbo_reset_after_present,
std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder)
: gl_dispatch_table_(std::move(gl_dispatch_table)),
@ -160,8 +160,8 @@ SkMatrix EmbedderSurfaceGLImpeller::GLContextSurfaceTransformation() const {
}
// |GPUSurfaceGLDelegate|
EmbedderSurfaceGL::GLProcResolver EmbedderSurfaceGLImpeller::GetGLProcResolver()
const {
EmbedderSurfaceGLSkia::GLProcResolver
EmbedderSurfaceGLImpeller::GetGLProcResolver() const {
return gl_dispatch_table_.gl_proc_resolver;
}

View File

@ -9,7 +9,7 @@
#include "flutter/shell/gpu/gpu_surface_gl_impeller.h"
#include "flutter/shell/platform/embedder/embedder_external_view_embedder.h"
#include "flutter/shell/platform/embedder/embedder_surface.h"
#include "flutter/shell/platform/embedder/embedder_surface_gl.h"
#include "flutter/shell/platform/embedder/embedder_surface_gl_skia.h"
namespace impeller {
class ContextGLES;
@ -23,7 +23,7 @@ class EmbedderSurfaceGLImpeller final : public EmbedderSurface,
public GPUSurfaceGLDelegate {
public:
EmbedderSurfaceGLImpeller(
EmbedderSurfaceGL::GLDispatchTable gl_dispatch_table,
EmbedderSurfaceGLSkia::GLDispatchTable gl_dispatch_table,
bool fbo_reset_after_present,
std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
@ -31,7 +31,7 @@ class EmbedderSurfaceGLImpeller final : public EmbedderSurface,
private:
bool valid_ = false;
EmbedderSurfaceGL::GLDispatchTable gl_dispatch_table_;
EmbedderSurfaceGLSkia::GLDispatchTable gl_dispatch_table_;
bool fbo_reset_after_present_;
std::shared_ptr<impeller::ContextGLES> impeller_context_;
std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder_;

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "flutter/shell/platform/embedder/embedder_surface_gl.h"
#include "flutter/shell/platform/embedder/embedder_surface_gl_skia.h"
#include <utility>
@ -10,7 +10,7 @@
namespace flutter {
EmbedderSurfaceGL::EmbedderSurfaceGL(
EmbedderSurfaceGLSkia::EmbedderSurfaceGLSkia(
GLDispatchTable gl_dispatch_table,
bool fbo_reset_after_present,
std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder)
@ -29,32 +29,33 @@ EmbedderSurfaceGL::EmbedderSurfaceGL(
valid_ = true;
}
EmbedderSurfaceGL::~EmbedderSurfaceGL() = default;
EmbedderSurfaceGLSkia::~EmbedderSurfaceGLSkia() = default;
// |EmbedderSurface|
bool EmbedderSurfaceGL::IsValid() const {
bool EmbedderSurfaceGLSkia::IsValid() const {
return valid_;
}
// |GPUSurfaceGLDelegate|
std::unique_ptr<GLContextResult> EmbedderSurfaceGL::GLContextMakeCurrent() {
std::unique_ptr<GLContextResult> EmbedderSurfaceGLSkia::GLContextMakeCurrent() {
return std::make_unique<GLContextDefaultResult>(
gl_dispatch_table_.gl_make_current_callback());
}
// |GPUSurfaceGLDelegate|
bool EmbedderSurfaceGL::GLContextClearCurrent() {
bool EmbedderSurfaceGLSkia::GLContextClearCurrent() {
return gl_dispatch_table_.gl_clear_current_callback();
}
// |GPUSurfaceGLDelegate|
bool EmbedderSurfaceGL::GLContextPresent(const GLPresentInfo& present_info) {
bool EmbedderSurfaceGLSkia::GLContextPresent(
const GLPresentInfo& present_info) {
// Pass the present information to the embedder present callback.
return gl_dispatch_table_.gl_present_callback(present_info);
}
// |GPUSurfaceGLDelegate|
GLFBOInfo EmbedderSurfaceGL::GLContextFBO(GLFrameInfo frame_info) const {
GLFBOInfo EmbedderSurfaceGLSkia::GLContextFBO(GLFrameInfo frame_info) const {
// Get the FBO ID using the gl_fbo_callback and then get exiting damage by
// passing that ID to the gl_populate_existing_damage.
return gl_dispatch_table_.gl_populate_existing_damage(
@ -62,12 +63,12 @@ GLFBOInfo EmbedderSurfaceGL::GLContextFBO(GLFrameInfo frame_info) const {
}
// |GPUSurfaceGLDelegate|
bool EmbedderSurfaceGL::GLContextFBOResetAfterPresent() const {
bool EmbedderSurfaceGLSkia::GLContextFBOResetAfterPresent() const {
return fbo_reset_after_present_;
}
// |GPUSurfaceGLDelegate|
SkMatrix EmbedderSurfaceGL::GLContextSurfaceTransformation() const {
SkMatrix EmbedderSurfaceGLSkia::GLContextSurfaceTransformation() const {
auto callback = gl_dispatch_table_.gl_surface_transformation_callback;
if (!callback) {
SkMatrix matrix;
@ -78,12 +79,13 @@ SkMatrix EmbedderSurfaceGL::GLContextSurfaceTransformation() const {
}
// |GPUSurfaceGLDelegate|
EmbedderSurfaceGL::GLProcResolver EmbedderSurfaceGL::GetGLProcResolver() const {
EmbedderSurfaceGLSkia::GLProcResolver EmbedderSurfaceGLSkia::GetGLProcResolver()
const {
return gl_dispatch_table_.gl_proc_resolver;
}
// |GPUSurfaceGLDelegate|
SurfaceFrame::FramebufferInfo EmbedderSurfaceGL::GLContextFramebufferInfo()
SurfaceFrame::FramebufferInfo EmbedderSurfaceGLSkia::GLContextFramebufferInfo()
const {
// Enable partial repaint by default on the embedders.
auto info = SurfaceFrame::FramebufferInfo{};
@ -94,7 +96,7 @@ SurfaceFrame::FramebufferInfo EmbedderSurfaceGL::GLContextFramebufferInfo()
}
// |EmbedderSurface|
std::unique_ptr<Surface> EmbedderSurfaceGL::CreateGPUSurface() {
std::unique_ptr<Surface> EmbedderSurfaceGLSkia::CreateGPUSurface() {
const bool render_to_surface = !external_view_embedder_;
return std::make_unique<GPUSurfaceGLSkia>(
this, // GPU surface GL delegate
@ -103,7 +105,7 @@ std::unique_ptr<Surface> EmbedderSurfaceGL::CreateGPUSurface() {
}
// |EmbedderSurface|
sk_sp<GrDirectContext> EmbedderSurfaceGL::CreateResourceContext() const {
sk_sp<GrDirectContext> EmbedderSurfaceGLSkia::CreateResourceContext() const {
auto callback = gl_dispatch_table_.gl_make_resource_current_callback;
if (callback && callback()) {
if (auto context = ShellIOManager::CreateCompatibleResourceLoadingContext(

View File

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_GL_H_
#define FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_GL_H_
#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_GL_SKIA_H_
#define FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_GL_SKIA_H_
#include "flutter/fml/macros.h"
#include "flutter/shell/gpu/gpu_surface_gl_skia.h"
@ -12,8 +12,8 @@
namespace flutter {
class EmbedderSurfaceGL final : public EmbedderSurface,
public GPUSurfaceGLDelegate {
class EmbedderSurfaceGLSkia final : public EmbedderSurface,
public GPUSurfaceGLDelegate {
public:
struct GLDispatchTable {
std::function<bool(void)> gl_make_current_callback; // required
@ -27,12 +27,12 @@ class EmbedderSurfaceGL final : public EmbedderSurface,
std::function<GLFBOInfo(intptr_t)> gl_populate_existing_damage; // required
};
EmbedderSurfaceGL(
EmbedderSurfaceGLSkia(
GLDispatchTable gl_dispatch_table,
bool fbo_reset_after_present,
std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
~EmbedderSurfaceGL() override;
~EmbedderSurfaceGLSkia() override;
private:
bool valid_ = false;
@ -74,9 +74,9 @@ class EmbedderSurfaceGL final : public EmbedderSurface,
// |GPUSurfaceGLDelegate|
SurfaceFrame::FramebufferInfo GLContextFramebufferInfo() const override;
FML_DISALLOW_COPY_AND_ASSIGN(EmbedderSurfaceGL);
FML_DISALLOW_COPY_AND_ASSIGN(EmbedderSurfaceGLSkia);
};
} // namespace flutter
#endif // FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_GL_H_
#endif // FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_GL_SKIA_H_

View File

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_METAL_H_
#define FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_METAL_H_
#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_METAL_SKIA_H_
#define FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_METAL_SKIA_H_
#if !SLIMPELLER
@ -20,8 +20,8 @@ namespace flutter {
// TODO(148235): This class is Skia specific and there is another on
// specifically for Impeller called EmbedderSurfaceMetalImpeller. Rename this to
// EmbedderSurfaceMetalSkia to avoid confusion.
class EmbedderSurfaceMetal final : public EmbedderSurface,
public GPUSurfaceMetalDelegate {
class EmbedderSurfaceMetalSkia final : public EmbedderSurface,
public GPUSurfaceMetalDelegate {
public:
struct MetalDispatchTable {
std::function<bool(GPUMTLTextureInfo texture)> present; // required
@ -29,13 +29,13 @@ class EmbedderSurfaceMetal final : public EmbedderSurface,
get_texture; // required
};
EmbedderSurfaceMetal(
EmbedderSurfaceMetalSkia(
GPUMTLDeviceHandle device,
GPUMTLCommandQueueHandle command_queue,
MetalDispatchTable dispatch_table,
std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
~EmbedderSurfaceMetal() override;
~EmbedderSurfaceMetalSkia() override;
private:
bool valid_ = false;
@ -67,11 +67,11 @@ class EmbedderSurfaceMetal final : public EmbedderSurface,
// |GPUSurfaceMetalDelegate|
bool PresentTexture(GPUMTLTextureInfo texture) const override;
FML_DISALLOW_COPY_AND_ASSIGN(EmbedderSurfaceMetal);
FML_DISALLOW_COPY_AND_ASSIGN(EmbedderSurfaceMetalSkia);
};
} // namespace flutter
#endif // !SLIMPELLER
#endif // FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_METAL_H_
#endif // FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_METAL_SKIA_H_

View File

@ -6,7 +6,7 @@
#include <utility>
#include "flutter/shell/platform/embedder/embedder_surface_metal.h"
#include "flutter/shell/platform/embedder/embedder_surface_metal_skia.h"
#include "flutter/fml/logging.h"
#include "flutter/shell/gpu/gpu_surface_metal_delegate.h"
@ -16,7 +16,7 @@
FLUTTER_ASSERT_NOT_ARC
namespace flutter {
EmbedderSurfaceMetal::EmbedderSurfaceMetal(
EmbedderSurfaceMetalSkia::EmbedderSurfaceMetalSkia(
GPUMTLDeviceHandle device,
GPUMTLCommandQueueHandle command_queue,
MetalDispatchTable metal_dispatch_table,
@ -33,13 +33,13 @@ EmbedderSurfaceMetal::EmbedderSurfaceMetal(
valid_ = main_context_ && resource_context_;
}
EmbedderSurfaceMetal::~EmbedderSurfaceMetal() = default;
EmbedderSurfaceMetalSkia::~EmbedderSurfaceMetalSkia() = default;
bool EmbedderSurfaceMetal::IsValid() const {
bool EmbedderSurfaceMetalSkia::IsValid() const {
return valid_;
}
std::unique_ptr<Surface> EmbedderSurfaceMetal::CreateGPUSurface() API_AVAILABLE(ios(13.0)) {
std::unique_ptr<Surface> EmbedderSurfaceMetalSkia::CreateGPUSurface() API_AVAILABLE(ios(13.0)) {
if (@available(iOS 13.0, *)) {
} else {
return nullptr;
@ -58,25 +58,25 @@ std::unique_ptr<Surface> EmbedderSurfaceMetal::CreateGPUSurface() API_AVAILABLE(
return surface;
}
sk_sp<GrDirectContext> EmbedderSurfaceMetal::CreateResourceContext() const {
sk_sp<GrDirectContext> EmbedderSurfaceMetalSkia::CreateResourceContext() const {
return resource_context_;
}
GPUCAMetalLayerHandle EmbedderSurfaceMetal::GetCAMetalLayer(const SkISize& frame_info) const {
GPUCAMetalLayerHandle EmbedderSurfaceMetalSkia::GetCAMetalLayer(const SkISize& frame_info) const {
FML_CHECK(false) << "Only rendering to MTLTexture is supported.";
return nullptr;
}
bool EmbedderSurfaceMetal::PresentDrawable(GrMTLHandle drawable) const {
bool EmbedderSurfaceMetalSkia::PresentDrawable(GrMTLHandle drawable) const {
FML_CHECK(false) << "Only rendering to MTLTexture is supported.";
return false;
}
GPUMTLTextureInfo EmbedderSurfaceMetal::GetMTLTexture(const SkISize& frame_info) const {
GPUMTLTextureInfo EmbedderSurfaceMetalSkia::GetMTLTexture(const SkISize& frame_info) const {
return metal_dispatch_table_.get_texture(frame_info);
}
bool EmbedderSurfaceMetal::PresentTexture(GPUMTLTextureInfo texture) const {
bool EmbedderSurfaceMetalSkia::PresentTexture(GPUMTLTextureInfo texture) const {
return metal_dispatch_table_.present(texture);
}

View File

@ -16,12 +16,12 @@
#include "flutter/shell/platform/embedder/vsync_waiter_embedder.h"
#ifdef SHELL_ENABLE_GL
#include "flutter/shell/platform/embedder/embedder_surface_gl.h"
#include "flutter/shell/platform/embedder/embedder_surface_gl_impeller.h"
#include "flutter/shell/platform/embedder/embedder_surface_gl_skia.h"
#endif
#ifdef SHELL_ENABLE_METAL
#include "flutter/shell/platform/embedder/embedder_surface_metal.h"
#include "flutter/shell/platform/embedder/embedder_surface_metal_skia.h"
#endif
#ifdef SHELL_ENABLE_VULKAN