diff --git a/engine/src/flutter/display_list/testing/BUILD.gn b/engine/src/flutter/display_list/testing/BUILD.gn index 915daeab95..fc48324c76 100644 --- a/engine/src/flutter/display_list/testing/BUILD.gn +++ b/engine/src/flutter/display_list/testing/BUILD.gn @@ -86,6 +86,7 @@ source_set("display_list_surface_provider") { if (surface_provider_include_software) { sources += [ + "dl_test_surface_provider_software.cc", "dl_test_surface_software.cc", "dl_test_surface_software.h", ] @@ -95,6 +96,7 @@ source_set("display_list_surface_provider") { sources += [ "dl_test_surface_gl.cc", "dl_test_surface_gl.h", + "dl_test_surface_provider_gl.cc", ] deps += [ "//flutter/testing:opengl" ] } @@ -103,6 +105,7 @@ source_set("display_list_surface_provider") { sources += [ "dl_test_surface_metal.h", "dl_test_surface_metal.mm", + "dl_test_surface_provider_metal.mm", ] deps += [ "//flutter/impeller/display_list", diff --git a/engine/src/flutter/display_list/testing/dl_test_surface_provider.cc b/engine/src/flutter/display_list/testing/dl_test_surface_provider.cc index ab7d75c090..545b3cfa0d 100644 --- a/engine/src/flutter/display_list/testing/dl_test_surface_provider.cc +++ b/engine/src/flutter/display_list/testing/dl_test_surface_provider.cc @@ -10,50 +10,29 @@ #include "third_party/skia/include/core/SkSurface.h" #include "third_party/skia/include/encode/SkPngEncoder.h" -#ifdef ENABLE_SOFTWARE_BENCHMARKS -#include "flutter/display_list/testing/dl_test_surface_software.h" -#endif -#ifdef ENABLE_OPENGL_BENCHMARKS -#include "flutter/display_list/testing/dl_test_surface_gl.h" -#endif -#ifdef ENABLE_METAL_BENCHMARKS -#include "flutter/display_list/testing/dl_test_surface_metal.h" -#endif - -namespace flutter { -namespace testing { +namespace flutter::testing { std::string DlSurfaceProvider::BackendName(BackendType type) { switch (type) { - case kMetalBackend: - return "Metal"; - case kOpenGlBackend: - return "OpenGL"; case kSoftwareBackend: return "Software"; + case kOpenGlBackend: + return "OpenGL"; + case kMetalBackend: + return "Metal"; } } std::unique_ptr DlSurfaceProvider::Create( BackendType backend_type) { switch (backend_type) { -#ifdef ENABLE_SOFTWARE_BENCHMARKS case kSoftwareBackend: - return std::make_unique(); -#endif -#ifdef ENABLE_OPENGL_BENCHMARKS - case kOpenGLBackend: - return std::make_unique(); -#endif -#ifdef ENABLE_METAL_BENCHMARKS + return CreateSoftware(); + case kOpenGlBackend: + return CreateOpenGL(); case kMetalBackend: - return std::make_unique(); -#endif - default: - return nullptr; + return CreateMetal(); } - - return nullptr; } bool DlSurfaceProvider::Snapshot(std::string& filename) const { @@ -78,5 +57,20 @@ bool DlSurfaceProvider::Snapshot(std::string& filename) const { #endif } -} // namespace testing -} // namespace flutter +#ifndef ENABLE_SOFTWARE_BENCHMARKS +std::unique_ptr DlSurfaceProvider::CreateSoftware() { + return nullptr; +} +#endif +#ifndef ENABLE_OPENGL_BENCHMARKS +std::unique_ptr DlSurfaceProvider::CreateOpenGL() { + return nullptr; +} +#endif +#ifndef ENABLE_METAL_BENCHMARKS +std::unique_ptr DlSurfaceProvider::CreateMetal() { + return nullptr; +} +#endif + +} // namespace flutter::testing diff --git a/engine/src/flutter/display_list/testing/dl_test_surface_provider.h b/engine/src/flutter/display_list/testing/dl_test_surface_provider.h index 1ad4af789c..5bfc710502 100644 --- a/engine/src/flutter/display_list/testing/dl_test_surface_provider.h +++ b/engine/src/flutter/display_list/testing/dl_test_surface_provider.h @@ -97,6 +97,11 @@ class DlSurfaceProvider { protected: DlSurfaceProvider() = default; + + private: + static std::unique_ptr CreateSoftware(); + static std::unique_ptr CreateMetal(); + static std::unique_ptr CreateOpenGL(); }; } // namespace testing diff --git a/engine/src/flutter/display_list/testing/dl_test_surface_provider_gl.cc b/engine/src/flutter/display_list/testing/dl_test_surface_provider_gl.cc new file mode 100644 index 0000000000..0d258d0c6b --- /dev/null +++ b/engine/src/flutter/display_list/testing/dl_test_surface_provider_gl.cc @@ -0,0 +1,15 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/display_list/testing/dl_test_surface_provider.h" + +#include "flutter/display_list/testing/dl_test_surface_gl.h" + +namespace flutter::testing { + +std::unique_ptr DlSurfaceProvider::CreateOpenGL() { + return std::make_unique(); +} + +} // namespace flutter::testing diff --git a/engine/src/flutter/display_list/testing/dl_test_surface_provider_metal.mm b/engine/src/flutter/display_list/testing/dl_test_surface_provider_metal.mm new file mode 100644 index 0000000000..95de93dee0 --- /dev/null +++ b/engine/src/flutter/display_list/testing/dl_test_surface_provider_metal.mm @@ -0,0 +1,15 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/display_list/testing/dl_test_surface_provider.h" + +#include "flutter/display_list/testing/dl_test_surface_metal.h" + +namespace flutter::testing { + +std::unique_ptr DlSurfaceProvider::CreateMetal() { + return std::make_unique(); +} + +} // namespace flutter::testing diff --git a/engine/src/flutter/display_list/testing/dl_test_surface_provider_software.cc b/engine/src/flutter/display_list/testing/dl_test_surface_provider_software.cc new file mode 100644 index 0000000000..6da75c41ab --- /dev/null +++ b/engine/src/flutter/display_list/testing/dl_test_surface_provider_software.cc @@ -0,0 +1,15 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/display_list/testing/dl_test_surface_provider.h" + +#include "flutter/display_list/testing/dl_test_surface_software.h" + +namespace flutter::testing { + +std::unique_ptr DlSurfaceProvider::CreateSoftware() { + return std::make_unique(); +} + +} // namespace flutter::testing