Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit d81edf6

Browse files
authored
[Impeller] Revert support for multi-arch shader archives. (#53158)
This was never fully wired up and we never ended up needing this as there is only still on backend per platform. Earlier, we expected to have both GLES and Vulkan on Android. Reverts 2251b87 and 502755d with fixups.
1 parent b0f4d74 commit d81edf6

14 files changed

+19
-372
lines changed

ci/licenses_golden/licenses_flutter

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42902,11 +42902,6 @@ ORIGIN: ../../../flutter/impeller/scene/shaders/unlit.frag + ../../../flutter/LI
4290242902
ORIGIN: ../../../flutter/impeller/scene/shaders/unskinned.vert + ../../../flutter/LICENSE
4290342903
ORIGIN: ../../../flutter/impeller/scene/skin.cc + ../../../flutter/LICENSE
4290442904
ORIGIN: ../../../flutter/impeller/scene/skin.h + ../../../flutter/LICENSE
42905-
ORIGIN: ../../../flutter/impeller/shader_archive/multi_arch_shader_archive.cc + ../../../flutter/LICENSE
42906-
ORIGIN: ../../../flutter/impeller/shader_archive/multi_arch_shader_archive.fbs + ../../../flutter/LICENSE
42907-
ORIGIN: ../../../flutter/impeller/shader_archive/multi_arch_shader_archive.h + ../../../flutter/LICENSE
42908-
ORIGIN: ../../../flutter/impeller/shader_archive/multi_arch_shader_archive_writer.cc + ../../../flutter/LICENSE
42909-
ORIGIN: ../../../flutter/impeller/shader_archive/multi_arch_shader_archive_writer.h + ../../../flutter/LICENSE
4291042905
ORIGIN: ../../../flutter/impeller/shader_archive/shader_archive.cc + ../../../flutter/LICENSE
4291142906
ORIGIN: ../../../flutter/impeller/shader_archive/shader_archive.fbs + ../../../flutter/LICENSE
4291242907
ORIGIN: ../../../flutter/impeller/shader_archive/shader_archive.h + ../../../flutter/LICENSE
@@ -45771,11 +45766,6 @@ FILE: ../../../flutter/impeller/scene/shaders/unlit.frag
4577145766
FILE: ../../../flutter/impeller/scene/shaders/unskinned.vert
4577245767
FILE: ../../../flutter/impeller/scene/skin.cc
4577345768
FILE: ../../../flutter/impeller/scene/skin.h
45774-
FILE: ../../../flutter/impeller/shader_archive/multi_arch_shader_archive.cc
45775-
FILE: ../../../flutter/impeller/shader_archive/multi_arch_shader_archive.fbs
45776-
FILE: ../../../flutter/impeller/shader_archive/multi_arch_shader_archive.h
45777-
FILE: ../../../flutter/impeller/shader_archive/multi_arch_shader_archive_writer.cc
45778-
FILE: ../../../flutter/impeller/shader_archive/multi_arch_shader_archive_writer.h
4577945769
FILE: ../../../flutter/impeller/shader_archive/shader_archive.cc
4578045770
FILE: ../../../flutter/impeller/shader_archive/shader_archive.fbs
4578145771
FILE: ../../../flutter/impeller/shader_archive/shader_archive.h

impeller/README.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,6 @@ flowchart TD
175175
176176
spirv -- Reflector --> cxx_sources[C++ Sources]
177177
cxx_sources -- Ninja Build --> cxx_library[C++ Library]
178-
179-
vulkan_shader_archive -- Multi Arch Archiver --> multi_arch_archive[Multi Architecture Archive]
180-
gles_shader_archive -- Multi Arch Archiver --> multi_arch_archive
181178
```
182179

183180
## Try Impeller in Flutter

impeller/renderer/backend/gles/shader_library_gles.cc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
#include "impeller/base/config.h"
1111
#include "impeller/base/validation.h"
1212
#include "impeller/renderer/backend/gles/shader_function_gles.h"
13-
#include "impeller/shader_archive/multi_arch_shader_archive.h"
1413
#include "impeller/shader_archive/shader_archive.h"
1514

1615
namespace impeller {
@@ -69,13 +68,12 @@ ShaderLibraryGLES::ShaderLibraryGLES(
6968
return true;
7069
};
7170
for (auto library : shader_libraries) {
72-
auto gles_archive = MultiArchShaderArchive::CreateArchiveFromMapping(
73-
std::move(library), ArchiveRenderingBackend::kOpenGLES);
74-
if (!gles_archive || !gles_archive->IsValid()) {
75-
VALIDATION_LOG << "Could not construct shader library.";
71+
auto blob_library = ShaderArchive{std::move(library)};
72+
if (!blob_library.IsValid()) {
73+
VALIDATION_LOG << "Could not construct blob library for shaders.";
7674
return;
7775
}
78-
gles_archive->IterateAllShaders(iterator);
76+
blob_library.IterateAllShaders(iterator);
7977
}
8078

8179
functions_ = functions;

impeller/renderer/backend/vulkan/shader_library_vk.cc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
#include "flutter/fml/trace_event.h"
1111
#include "impeller/renderer/backend/vulkan/context_vk.h"
1212
#include "impeller/renderer/backend/vulkan/shader_function_vk.h"
13-
#include "impeller/shader_archive/multi_arch_shader_archive.h"
1413
#include "impeller/shader_archive/shader_archive.h"
1514

1615
namespace impeller {
@@ -68,13 +67,12 @@ ShaderLibraryVK::ShaderLibraryVK(
6867
return true;
6968
};
7069
for (const auto& library_data : shader_libraries_data) {
71-
auto vulkan_library = MultiArchShaderArchive::CreateArchiveFromMapping(
72-
library_data, ArchiveRenderingBackend::kVulkan);
73-
if (!vulkan_library || !vulkan_library->IsValid()) {
74-
VALIDATION_LOG << "Could not construct Vulkan shader library archive.";
70+
auto blob_library = ShaderArchive{library_data};
71+
if (!blob_library.IsValid()) {
72+
VALIDATION_LOG << "Could not construct shader blob library.";
7573
return;
7674
}
77-
vulkan_library->IterateAllShaders(iterator);
75+
blob_library.IterateAllShaders(iterator);
7876
}
7977

8078
if (!success) {

impeller/shader_archive/BUILD.gn

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,13 @@ config("shader_archive_config") {
1111
}
1212

1313
flatbuffers("shader_archive_flatbuffers") {
14-
flatbuffers = [
15-
"shader_archive.fbs",
16-
"multi_arch_shader_archive.fbs",
17-
]
14+
flatbuffers = [ "shader_archive.fbs" ]
1815
public_configs = [ ":shader_archive_config" ]
1916
public_deps = [ "//flutter/third_party/flatbuffers" ]
2017
}
2118

2219
impeller_component("shader_archive") {
2320
sources = [
24-
"multi_arch_shader_archive.cc",
25-
"multi_arch_shader_archive.h",
26-
"multi_arch_shader_archive_writer.cc",
27-
"multi_arch_shader_archive_writer.h",
2821
"shader_archive.cc",
2922
"shader_archive.h",
3023
"shader_archive_types.h",

impeller/shader_archive/multi_arch_shader_archive.cc

Lines changed: 0 additions & 104 deletions
This file was deleted.

impeller/shader_archive/multi_arch_shader_archive.fbs

Lines changed: 0 additions & 25 deletions
This file was deleted.

impeller/shader_archive/multi_arch_shader_archive.h

Lines changed: 0 additions & 48 deletions
This file was deleted.

impeller/shader_archive/multi_arch_shader_archive_writer.cc

Lines changed: 0 additions & 64 deletions
This file was deleted.

impeller/shader_archive/multi_arch_shader_archive_writer.h

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)