summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gpu/post_process_helper.cc4
-rw-r--r--src/gpu/shaders.cc5
-rw-r--r--src/tests/gpu/test_shader_assets.cc9
3 files changed, 14 insertions, 4 deletions
diff --git a/src/gpu/post_process_helper.cc b/src/gpu/post_process_helper.cc
index 4ffa9c1..c5bef27 100644
--- a/src/gpu/post_process_helper.cc
+++ b/src/gpu/post_process_helper.cc
@@ -21,8 +21,10 @@ WGPURenderPipeline create_post_process_pipeline(WGPUDevice device,
.uniform(PP_BINDING_EFFECT_PARAMS, WGPUShaderStage_Fragment)
.build(device);
+ const std::string composed_shader = ShaderComposer::Get().Compose({}, shader_code);
+
WGPURenderPipeline pipeline = RenderPipelineBuilder(device)
- .shader(shader_code)
+ .shader(composed_shader.c_str())
.bind_group_layout(bgl)
.format(format)
.build();
diff --git a/src/gpu/shaders.cc b/src/gpu/shaders.cc
index 903b96e..1b50e8e 100644
--- a/src/gpu/shaders.cc
+++ b/src/gpu/shaders.cc
@@ -52,6 +52,11 @@ void InitShaderComposer() {
register_if_exists("ray_box", AssetId::ASSET_SHADER_RAY_BOX);
register_if_exists("ray_triangle", AssetId::ASSET_SHADER_RAY_TRIANGLE);
+ register_if_exists("render/fullscreen_vs", AssetId::ASSET_SHADER_RENDER_FULLSCREEN_VS);
+ register_if_exists("math/color", AssetId::ASSET_SHADER_MATH_COLOR);
+ register_if_exists("math/utils", AssetId::ASSET_SHADER_MATH_UTILS);
+ register_if_exists("render/raymarching", AssetId::ASSET_SHADER_RENDER_RAYMARCHING);
+
register_if_exists("cnn_activation", AssetId::ASSET_SHADER_CNN_ACTIVATION);
register_if_exists("cnn_conv1x1", AssetId::ASSET_SHADER_CNN_CONV1X1);
register_if_exists("cnn_conv3x3", AssetId::ASSET_SHADER_CNN_CONV3X3);
diff --git a/src/tests/gpu/test_shader_assets.cc b/src/tests/gpu/test_shader_assets.cc
index f1562ea..5619a61 100644
--- a/src/tests/gpu/test_shader_assets.cc
+++ b/src/tests/gpu/test_shader_assets.cc
@@ -71,12 +71,15 @@ int main() {
validate_shader(AssetId::ASSET_SHADER_GAUSSIAN_BLUR, "GAUSSIAN_BLUR",
{"@vertex", "vs_main", "@fragment", "fs_main"});
all_passed &= validate_shader(AssetId::ASSET_SHADER_SOLARIZE, "SOLARIZE",
- {"@vertex", "vs_main", "@fragment", "fs_main"});
+ {"#include \"render/fullscreen_vs\"", "@fragment", "fs_main"});
all_passed &= validate_shader(AssetId::ASSET_SHADER_DISTORT, "DISTORT",
- {"@vertex", "vs_main", "@fragment", "fs_main"});
+ {"#include \"render/fullscreen_vs\"", "@fragment", "fs_main"});
all_passed &= validate_shader(AssetId::ASSET_SHADER_CHROMA_ABERRATION,
"CHROMA_ABERRATION",
- {"@vertex", "vs_main", "@fragment", "fs_main"});
+ {"#include \"render/fullscreen_vs\"", "@fragment", "fs_main"});
+ all_passed &= validate_shader(AssetId::ASSET_SHADER_VIGNETTE,
+ "VIGNETTE",
+ {"#include \"render/fullscreen_vs\"", "@fragment", "fs_main"});
all_passed &=
validate_shader(AssetId::ASSET_SHADER_VISUAL_DEBUG, "VISUAL_DEBUG",
{"@vertex", "vs_main", "@fragment", "fs_main"});