10 const std::string&
name) {
11#define FLT_SURFACE_PROVIDER_HANDLE_BACKEND(name, BACKEND) \
13 BackendType type = BackendType::k##BACKEND; \
14 if (name.compare(DlSurfaceProvider::BackendName(type)) == 0) { \
25#undef FLT_SURFACE_PROVIDER_HANDLE_BACKEND
32 case BackendType::kSkiaSoftware:
33 return "SkiaSoftware";
34 case BackendType::kSkiaOpenGL:
36 case BackendType::kSkiaMetal:
38 case BackendType::kImpellerMetal:
39 return "ImpellerMetal";
40 case BackendType::kImpellerMetalSDF:
41 return "ImpellerMetalSDF";
47 switch (backend_type) {
48 case BackendType::kSkiaSoftware:
49 return CreateSkiaSoftware();
50 case BackendType::kSkiaOpenGL:
51 return CreateSkiaOpenGL();
52 case BackendType::kSkiaMetal:
53 return CreateSkiaMetal();
54 case BackendType::kImpellerMetal:
55 return CreateImpellerMetal();
56 case BackendType::kImpellerMetalSDF:
57 return CreateImpellerMetalSDF();
61#ifndef ENABLE_SOFTWARE_BENCHMARKS
62std::unique_ptr<DlSurfaceProvider> DlSurfaceProvider::CreateSkiaSoftware() {
66#ifndef ENABLE_OPENGL_BENCHMARKS
67std::unique_ptr<DlSurfaceProvider> DlSurfaceProvider::CreateSkiaOpenGL() {
71#ifndef ENABLE_METAL_BENCHMARKS
72std::unique_ptr<DlSurfaceProvider> DlSurfaceProvider::CreateSkiaMetal() {
76#ifndef IMPELLER_ENABLE_METAL
77std::unique_ptr<DlSurfaceProvider> DlSurfaceProvider::CreateImpellerMetal() {
80std::unique_ptr<DlSurfaceProvider> DlSurfaceProvider::CreateImpellerMetalSDF() {
static std::optional< BackendType > NameToBackend(const std::string &name)
static std::string BackendName(BackendType type)
static std::unique_ptr< DlSurfaceProvider > Create(BackendType backend_type)
#define FLT_SURFACE_PROVIDER_HANDLE_BACKEND(name, BACKEND)
DEF_SWITCHES_START aot vmservice shared library name
impeller::ShaderType type