diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gpu/post_process_helper.cc | 4 | ||||
| -rw-r--r-- | src/gpu/shaders.cc | 5 | ||||
| -rw-r--r-- | src/tests/gpu/test_shader_assets.cc | 9 |
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"}); |
