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/generated/test_demo_timeline.cc | 4 +- src/generated/timeline.cc | 116 ++++++++++++++++++------------------ 2 files changed, 60 insertions(+), 60 deletions(-) (limited to 'src/generated') diff --git a/src/generated/test_demo_timeline.cc b/src/generated/test_demo_timeline.cc index 75c5fe6..8b80d15 100644 --- a/src/generated/test_demo_timeline.cc +++ b/src/generated/test_demo_timeline.cc @@ -6,10 +6,10 @@ float GetDemoDuration() { return 16.000000f; } -void LoadTimeline(MainSequence& main_seq, WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format) { +void LoadTimeline(MainSequence& main_seq, const GpuContext& ctx) { { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.0f, 16.0f, 0); + seq->add_effect(std::make_shared(ctx), 0.0f, 16.0f, 0); main_seq.add_sequence(seq, 0.0f, 0); } } diff --git a/src/generated/timeline.cc b/src/generated/timeline.cc index cd03b77..1facf8f 100644 --- a/src/generated/timeline.cc +++ b/src/generated/timeline.cc @@ -6,118 +6,118 @@ float GetDemoDuration() { return 32.500000f; } -void LoadTimeline(MainSequence& main_seq, WGPUDevice device, WGPUQueue queue, WGPUTextureFormat format) { +void LoadTimeline(MainSequence& main_seq, const GpuContext& ctx) { { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), .2f, 1.500000f, -1); - seq->add_effect(std::make_shared(device, queue, format), 0.0f, 1.f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.1f, 1.f, 1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 2); + seq->add_effect(std::make_shared(ctx), .2f, 1.500000f, -1); + seq->add_effect(std::make_shared(ctx), 0.0f, 1.f, 0); + seq->add_effect(std::make_shared(ctx), 0.1f, 1.f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 2); main_seq.add_sequence(seq, 0.000000f, 0); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.1f, 3.f, -1); - seq->add_effect(std::make_shared(device, queue, format), 0.0f, 0.2f, 0); + seq->add_effect(std::make_shared(ctx), 0.1f, 3.f, -1); + seq->add_effect(std::make_shared(ctx), 0.0f, 0.2f, 0); main_seq.add_sequence(seq, 2.000000f, 0); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.0f, .2f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.1f, 1.0f, 1); + seq->add_effect(std::make_shared(ctx), 0.0f, .2f, 0); + seq->add_effect(std::make_shared(ctx), 0.1f, 1.0f, 1); main_seq.add_sequence(seq, 3.500000f, 0); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 8.000000f, 1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 8.000000f, 2); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 3); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared(ctx), 0.000000f, 8.000000f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 8.000000f, 2); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 3); main_seq.add_sequence(seq, 16.000000f, 0); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.2f, 2.0f, 1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 2); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 1.000000f, 3); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared(ctx), 0.2f, 2.0f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 2); + seq->add_effect(std::make_shared(ctx), 0.000000f, 1.000000f, 3); main_seq.add_sequence(seq, 24.000000f, 0); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.2f, 2.0f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 2); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 8.000000f, 3); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 8.000000f, 4); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 5); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 0); + seq->add_effect(std::make_shared(ctx), 0.2f, 2.0f, 0); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 2); + seq->add_effect(std::make_shared(ctx), 0.000000f, 8.000000f, 3); + seq->add_effect(std::make_shared(ctx), 0.000000f, 8.000000f, 4); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 5); main_seq.add_sequence(seq, 28.000000f, 0); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 1.500000f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 1.500000f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 1.500000f, 0); + seq->add_effect(std::make_shared(ctx), 0.000000f, 1.500000f, 1); main_seq.add_sequence(seq, 31.000000f, 0); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 1); main_seq.add_sequence(seq, 3.000000f, 1); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.2f, 2.0f, 1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 2); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 10.000000f, 3); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 4); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 5.000000f, 5); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 5.000000f, 6); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 0); + seq->add_effect(std::make_shared(ctx), 0.2f, 2.0f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 2); + seq->add_effect(std::make_shared(ctx), 0.000000f, 10.000000f, 3); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 4); + seq->add_effect(std::make_shared(ctx), 0.000000f, 5.000000f, 5); + seq->add_effect(std::make_shared(ctx), 0.000000f, 5.000000f, 6); main_seq.add_sequence(seq, 12.000000f, 1); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), .2f, 1.500000f, -1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 2); + seq->add_effect(std::make_shared(ctx), .2f, 1.500000f, -1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 2); main_seq.add_sequence(seq, 6.000000f, 2); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), .2f, 1.500000f, -1); - seq->add_effect(std::make_shared(device, queue, format), 0.0f, 0.500000f, 0); + seq->add_effect(std::make_shared(ctx), .2f, 1.500000f, -1); + seq->add_effect(std::make_shared(ctx), 0.0f, 0.500000f, 0); main_seq.add_sequence(seq, 7.500000f, 2); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.2f, 2.0f, 1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 2); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 2); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 3); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 4); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 3.000000f, 5); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared(ctx), 0.2f, 2.0f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 2); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 2); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 3); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 4); + seq->add_effect(std::make_shared(ctx), 0.000000f, 3.000000f, 5); main_seq.add_sequence(seq, 8.500000f, 2); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.0f, 4.0f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 3.000000f, 2); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 5.000000f, 3); + seq->add_effect(std::make_shared(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared(ctx), 0.0f, 4.0f, 0); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 3.000000f, 2); + seq->add_effect(std::make_shared(ctx), 0.000000f, 5.000000f, 3); main_seq.add_sequence(seq, 4.000000f, 3); } { auto seq = std::make_shared(); - seq->add_effect(std::make_shared(device, queue, format), .2f, 1.500000f, -1); - seq->add_effect(std::make_shared(device, queue, format), 0.000000f, 4.000000f, 0); - seq->add_effect(std::make_shared(device, queue, format), 0.0f, 0.2f, 1); - seq->add_effect(std::make_shared(device, queue, format), 0.500000f, 0.2f, 1); + seq->add_effect(std::make_shared(ctx), .2f, 1.500000f, -1); + seq->add_effect(std::make_shared(ctx), 0.000000f, 4.000000f, 0); + seq->add_effect(std::make_shared(ctx), 0.0f, 0.2f, 1); + seq->add_effect(std::make_shared(ctx), 0.500000f, 0.2f, 1); main_seq.add_sequence(seq, 8.000000f, 10); } } -- cgit v1.2.3