From bd939acdf750181ef0e1a612b445da4c15077c85 Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 7 Feb 2026 17:04:56 +0100 Subject: refactor: Bundle GPU context into GpuContext struct - Created GpuContext struct {device, queue, format} - Updated Effect/PostProcessEffect to take const GpuContext& - Updated all 19 effect implementations - Updated MainSequence.init() and LoadTimeline() signatures - Updated generated timeline files - Updated all test files - Added gpu_get_context() accessor and fixture.ctx() helper Fixes test_mesh.cc compilation error from g_device/g_queue/g_format conflicts. All targets build successfully. --- src/tests/test_sequence.cc | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/tests/test_sequence.cc') diff --git a/src/tests/test_sequence.cc b/src/tests/test_sequence.cc index 788e0b1..e00e606 100644 --- a/src/tests/test_sequence.cc +++ b/src/tests/test_sequence.cc @@ -12,6 +12,7 @@ static WGPUDevice dummy_device = (WGPUDevice)1; static WGPUQueue dummy_queue = (WGPUQueue)1; static WGPUTextureFormat dummy_format = (WGPUTextureFormat)1; +static const GpuContext dummy_ctx = {dummy_device, dummy_queue, dummy_format}; static WGPUSurface dummy_surface = (WGPUSurface)1; static WGPUCommandEncoder dummy_encoder = (WGPUCommandEncoder)1; static WGPURenderPassEncoder dummy_render_pass_encoder = @@ -26,8 +27,8 @@ class DummyEffect : public Effect { int end_calls = 0; bool is_pp = false; - DummyEffect(WGPUDevice device, WGPUQueue queue, bool post_process = false) - : Effect(device, queue), is_pp(post_process) { + DummyEffect(const GpuContext& ctx, bool post_process = false) + : Effect(ctx), is_pp(post_process) { } void init(MainSequence* demo) override { @@ -69,10 +70,8 @@ class DummyPostProcessEffect : public PostProcessEffect { int render_calls = 0; int update_bind_group_calls = 0; - DummyPostProcessEffect(WGPUDevice device, WGPUQueue queue, - WGPUTextureFormat format) - : PostProcessEffect(device, queue) { - (void)format; + DummyPostProcessEffect(const GpuContext& ctx) + : PostProcessEffect(ctx) { } void init(MainSequence* demo) override { @@ -99,9 +98,9 @@ class DummyPostProcessEffect : public PostProcessEffect { void test_effect_lifecycle() { printf(" test_effect_lifecycle...\n"); MainSequence main_seq; - main_seq.init_test(dummy_device, dummy_queue, dummy_format); + main_seq.init_test(dummy_ctx); - auto effect1 = std::make_shared(dummy_device, dummy_queue); + auto effect1 = std::make_shared(dummy_ctx); auto seq1 = std::make_shared(); seq1->add_effect(effect1, 1.0f, 3.0f); main_seq.add_sequence(seq1, 0.0f, 0); @@ -145,9 +144,9 @@ void test_simulate_until() { #if !defined(STRIP_ALL) printf(" test_simulate_until...\n"); MainSequence main_seq; - main_seq.init_test(dummy_device, dummy_queue, dummy_format); + main_seq.init_test(dummy_ctx); - auto effect1 = std::make_shared(dummy_device, dummy_queue); + auto effect1 = std::make_shared(dummy_ctx); auto seq1 = std::make_shared(); seq1->add_effect(effect1, 1.0f, 3.0f); main_seq.add_sequence(seq1, 0.0f, 0); -- cgit v1.2.3