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.cc58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/gpu/effects/post_process_helper.cc b/src/gpu/effects/post_process_helper.cc
deleted file mode 100644
index 0c339c7..0000000
--- a/src/gpu/effects/post_process_helper.cc
+++ /dev/null
@@ -1,58 +0,0 @@
-// This file is part of the 64k demo project.
-// It implements helper functions for post-processing effects.
-
-#include "post_process_helper.h"
-#include "../demo_effects.h"
-#include "gpu/gpu.h"
-#include "gpu/effects/shader_composer.h"
-#include "gpu/bind_group_builder.h"
-#include "gpu/sampler_cache.h"
-#include "gpu/pipeline_builder.h"
-#include <cstring>
-
-// Helper to create a standard post-processing pipeline
-WGPURenderPipeline create_post_process_pipeline(WGPUDevice device,
- WGPUTextureFormat format,
- const char* shader_code) {
- WGPUBindGroupLayout bgl = BindGroupLayoutBuilder()
- .sampler(PP_BINDING_SAMPLER, WGPUShaderStage_Fragment)
- .texture(PP_BINDING_TEXTURE, WGPUShaderStage_Fragment)
- .uniform(PP_BINDING_UNIFORMS, WGPUShaderStage_Vertex | WGPUShaderStage_Fragment)
- .uniform(PP_BINDING_EFFECT_PARAMS, WGPUShaderStage_Fragment)
- .build(device);
-
- WGPURenderPipeline pipeline = RenderPipelineBuilder(device)
- .shader(shader_code)
- .bind_group_layout(bgl)
- .format(format)
- .build();
-
- wgpuBindGroupLayoutRelease(bgl);
- return pipeline;
-}
-
-// --- PostProcess Implementation Helper ---
-static GpuBuffer g_dummy_buffer = {nullptr, 0};
-
-void pp_update_bind_group(WGPUDevice device, WGPURenderPipeline pipeline,
- WGPUBindGroup* bind_group, WGPUTextureView input_view,
- GpuBuffer uniforms, GpuBuffer effect_params) {
- if (!g_dummy_buffer.buffer) {
- g_dummy_buffer = gpu_create_buffer(device, 32, WGPUBufferUsage_Uniform);
- }
-
- if (*bind_group)
- wgpuBindGroupRelease(*bind_group);
-
- WGPUBindGroupLayout bgl = wgpuRenderPipelineGetBindGroupLayout(pipeline, 0);
- WGPUSampler sampler = SamplerCache::Get().get_or_create(device, SamplerCache::linear());
-
- *bind_group = BindGroupBuilder()
- .sampler(PP_BINDING_SAMPLER, sampler)
- .texture(PP_BINDING_TEXTURE, input_view)
- .buffer(PP_BINDING_UNIFORMS, uniforms.buffer, uniforms.size)
- .buffer(PP_BINDING_EFFECT_PARAMS,
- effect_params.buffer ? effect_params.buffer : g_dummy_buffer.buffer,
- effect_params.buffer ? effect_params.size : g_dummy_buffer.size)
- .build(device, bgl);
-}