summaryrefslogtreecommitdiff
path: root/src/test_demo.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-07 17:14:37 +0100
committerskal <pascal.massimino@gmail.com>2026-02-07 17:14:37 +0100
commit8c9815a210f457baafec36724d0d26e61bde52e4 (patch)
tree2c269243243a7ccc1d580bc90b434013425de448 /src/test_demo.cc
parentbd939acdf750181ef0e1a612b445da4c15077c85 (diff)
refactor: Store const GpuContext& in Effect base class
- Changed Effect to store ctx_ reference instead of device_/queue_/format_ - Updated all 19 effect implementations to access ctx_.device/queue/format - Simplified Effect constructor: ctx_(ctx) vs device_(ctx.device), queue_(ctx.queue), format_(ctx.format) - All 28 tests pass, all targets build successfully
Diffstat (limited to 'src/test_demo.cc')
-rw-r--r--src/test_demo.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/test_demo.cc b/src/test_demo.cc
index 69b18cc..9635f88 100644
--- a/src/test_demo.cc
+++ b/src/test_demo.cc
@@ -82,13 +82,13 @@ class PeakMeterEffect : public PostProcessEffect {
}
)";
- pipeline_ = create_post_process_pipeline(device_, format_, shader_code);
+ pipeline_ = create_post_process_pipeline(ctx_.device, ctx_.format, shader_code);
uniforms_ = gpu_create_buffer(
- device_, 16, WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
+ ctx_.device, 16, WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst);
}
void update_bind_group(WGPUTextureView input_view) {
- pp_update_bind_group(device_, pipeline_, &bind_group_, input_view, uniforms_);
+ pp_update_bind_group(ctx_.device, pipeline_, &bind_group_, input_view, uniforms_);
}
void render(WGPURenderPassEncoder pass, float time, float beat,
@@ -98,7 +98,7 @@ class PeakMeterEffect : public PostProcessEffect {
(void)aspect_ratio;
float uniforms[4] = {peak_value, 0.0f, 0.0f, 0.0f};
- wgpuQueueWriteBuffer(queue_, uniforms_.buffer, 0, uniforms, sizeof(uniforms));
+ wgpuQueueWriteBuffer(ctx_.queue, uniforms_.buffer, 0, uniforms, sizeof(uniforms));
wgpuRenderPassEncoderSetPipeline(pass, pipeline_);
wgpuRenderPassEncoderSetBindGroup(pass, 0, bind_group_, 0, nullptr);