summaryrefslogtreecommitdiff
path: root/src/gpu/effects/shader_composer.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-08 08:33:55 +0100
committerskal <pascal.massimino@gmail.com>2026-02-08 08:33:55 +0100
commit16c2cdce6ad1d89d3c537f2c2cff743449925125 (patch)
tree44792b3f8909dba5622143179c95787fd4de5149 /src/gpu/effects/shader_composer.cc
parentd19aec6690bdf515435f4052275828b061c3f71f (diff)
feat(platform): Centralize platform-specific WebGPU code and improve shader composition
Diffstat (limited to 'src/gpu/effects/shader_composer.cc')
-rw-r--r--src/gpu/effects/shader_composer.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gpu/effects/shader_composer.cc b/src/gpu/effects/shader_composer.cc
index b746f8b..5cd8699 100644
--- a/src/gpu/effects/shader_composer.cc
+++ b/src/gpu/effects/shader_composer.cc
@@ -2,6 +2,7 @@
// It implements the ShaderComposer class.
#include "gpu/effects/shader_composer.h"
+#include "util/asset_manager.h"
#include <set>
#include <sstream>
@@ -86,3 +87,12 @@ ShaderComposer::Compose(const std::vector<std::string>& dependencies,
return ss.str();
}
+
+std::string
+ShaderComposer::Compose(const std::vector<std::string>& dependencies,
+ AssetId main_code_asset_id,
+ const CompositionMap& substitutions) {
+ size_t size;
+ const char* main_code = reinterpret_cast<const char*>(GetAsset(main_code_asset_id, &size));
+ return Compose(dependencies, std::string(main_code, size), substitutions);
+}