summaryrefslogtreecommitdiff
path: root/src/gpu/effects/post_process_helper.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/effects/post_process_helper.cc')
-rw-r--r--src/gpu/effects/post_process_helper.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gpu/effects/post_process_helper.cc b/src/gpu/effects/post_process_helper.cc
index 74e052d..e99467f 100644
--- a/src/gpu/effects/post_process_helper.cc
+++ b/src/gpu/effects/post_process_helper.cc
@@ -4,16 +4,19 @@
#include "post_process_helper.h"
#include "../demo_effects.h"
#include "gpu/gpu.h"
+#include "gpu/effects/shader_composer.h"
#include <cstring>
// Helper to create a standard post-processing pipeline
WGPURenderPipeline create_post_process_pipeline(WGPUDevice device,
WGPUTextureFormat format,
const char* shader_code) {
+ std::string composed_shader = ShaderComposer::Get().Compose({}, shader_code);
+
WGPUShaderModuleDescriptor shader_desc = {};
WGPUShaderSourceWGSL wgsl_src = {};
wgsl_src.chain.sType = WGPUSType_ShaderSourceWGSL;
- wgsl_src.code = str_view(shader_code);
+ wgsl_src.code = str_view(composed_shader.c_str());
shader_desc.nextInChain = &wgsl_src.chain;
WGPUShaderModule shader_module =
wgpuDeviceCreateShaderModule(device, &shader_desc);
@@ -94,7 +97,8 @@ void pp_update_bind_group(WGPUDevice device, WGPURenderPipeline pipeline,
bge[2].buffer = uniforms.buffer;
bge[2].size = uniforms.size;
bge[3].binding = PP_BINDING_EFFECT_PARAMS;
- bge[3].buffer = effect_params.buffer ? effect_params.buffer : g_dummy_buffer.buffer;
+ bge[3].buffer =
+ effect_params.buffer ? effect_params.buffer : g_dummy_buffer.buffer;
bge[3].size = effect_params.buffer ? effect_params.size : g_dummy_buffer.size;
WGPUBindGroupDescriptor bgd = {
.layout = bgl, .entryCount = 4, .entries = bge};