diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-07 17:04:56 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-07 17:04:56 +0100 |
| commit | bd939acdf750181ef0e1a612b445da4c15077c85 (patch) | |
| tree | 028401c762b0436d9a5de1aa656ab35ba6445674 /src/generated | |
| parent | f2963ac821a3af1c54002ba13944552166956d04 (diff) | |
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.
Diffstat (limited to 'src/generated')
| -rw-r--r-- | src/generated/test_demo_timeline.cc | 4 | ||||
| -rw-r--r-- | src/generated/timeline.cc | 116 |
2 files changed, 60 insertions, 60 deletions
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<Sequence>(); - seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.0f, 16.0f, 0); + seq->add_effect(std::make_shared<FlashEffect>(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<Sequence>(); - seq->add_effect(std::make_shared<FlashCubeEffect>(device, queue, format), .2f, 1.500000f, -1); - seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.0f, 1.f, 0); - seq->add_effect(std::make_shared<FadeEffect>(device, queue, format), 0.1f, 1.f, 1); - seq->add_effect(std::make_shared<SolarizeEffect>(device, queue, format), 0.000000f, 2.000000f, 2); + seq->add_effect(std::make_shared<FlashCubeEffect>(ctx), .2f, 1.500000f, -1); + seq->add_effect(std::make_shared<FlashEffect>(ctx), 0.0f, 1.f, 0); + seq->add_effect(std::make_shared<FadeEffect>(ctx), 0.1f, 1.f, 1); + seq->add_effect(std::make_shared<SolarizeEffect>(ctx), 0.000000f, 2.000000f, 2); main_seq.add_sequence(seq, 0.000000f, 0); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<FlashCubeEffect>(device, queue, format), 0.1f, 3.f, -1); - seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.0f, 0.2f, 0); + seq->add_effect(std::make_shared<FlashCubeEffect>(ctx), 0.1f, 3.f, -1); + seq->add_effect(std::make_shared<FlashEffect>(ctx), 0.0f, 0.2f, 0); main_seq.add_sequence(seq, 2.000000f, 0); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.0f, .2f, 0); - seq->add_effect(std::make_shared<FadeEffect>(device, queue, format), 0.1f, 1.0f, 1); + seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.0f, .2f, 0); + seq->add_effect(std::make_shared<FadeEffect>(ctx), 0.1f, 1.0f, 1); main_seq.add_sequence(seq, 3.500000f, 0); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.000000f, 8.000000f, 1); - seq->add_effect(std::make_shared<ChromaAberrationEffect>(device, queue, format), 0.000000f, 8.000000f, 2); - seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 3); + seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.000000f, 8.000000f, 1); + seq->add_effect(std::make_shared<ChromaAberrationEffect>(ctx), 0.000000f, 8.000000f, 2); + seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 3); main_seq.add_sequence(seq, 16.000000f, 0); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.2f, 2.0f, 1); - seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 2); - seq->add_effect(std::make_shared<SolarizeEffect>(device, queue, format), 0.000000f, 1.000000f, 3); + seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.2f, 2.0f, 1); + seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 2); + seq->add_effect(std::make_shared<SolarizeEffect>(ctx), 0.000000f, 1.000000f, 3); main_seq.add_sequence(seq, 24.000000f, 0); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 4.000000f, 0); - seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.2f, 2.0f, 0); - seq->add_effect(std::make_shared<Hybrid3DEffect>(device, queue, format), 0.000000f, 2.000000f, 1); - seq->add_effect(std::make_shared<ParticleSprayEffect>(device, queue, format), 0.000000f, 4.000000f, 2); - seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.000000f, 8.000000f, 3); - seq->add_effect(std::make_shared<ChromaAberrationEffect>(device, queue, format), 0.000000f, 8.000000f, 4); - seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 5); + seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 4.000000f, 0); + seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.2f, 2.0f, 0); + seq->add_effect(std::make_shared<Hybrid3DEffect>(ctx), 0.000000f, 2.000000f, 1); + seq->add_effect(std::make_shared<ParticleSprayEffect>(ctx), 0.000000f, 4.000000f, 2); + seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.000000f, 8.000000f, 3); + seq->add_effect(std::make_shared<ChromaAberrationEffect>(ctx), 0.000000f, 8.000000f, 4); + seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 5); main_seq.add_sequence(seq, 28.000000f, 0); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 1.500000f, 0); - seq->add_effect(std::make_shared<SolarizeEffect>(device, queue, format), 0.000000f, 1.500000f, 1); + seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 1.500000f, 0); + seq->add_effect(std::make_shared<SolarizeEffect>(ctx), 0.000000f, 1.500000f, 1); main_seq.add_sequence(seq, 31.000000f, 0); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<ParticleSprayEffect>(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared<ParticlesEffect>(device, queue, format), 0.000000f, 2.000000f, 1); - seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 1); + seq->add_effect(std::make_shared<ParticleSprayEffect>(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared<ParticlesEffect>(ctx), 0.000000f, 2.000000f, 1); + seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 1); main_seq.add_sequence(seq, 3.000000f, 1); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 4.000000f, 0); - seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.2f, 2.0f, 1); - seq->add_effect(std::make_shared<ParticleSprayEffect>(device, queue, format), 0.000000f, 4.000000f, 2); - seq->add_effect(std::make_shared<Hybrid3DEffect>(device, queue, format), 0.000000f, 10.000000f, 3); - seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 4); - seq->add_effect(std::make_shared<ChromaAberrationEffect>(device, queue, format), 0.000000f, 5.000000f, 5); - seq->add_effect(std::make_shared<SolarizeEffect>(device, queue, format), 0.000000f, 5.000000f, 6); + seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 4.000000f, 0); + seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.2f, 2.0f, 1); + seq->add_effect(std::make_shared<ParticleSprayEffect>(ctx), 0.000000f, 4.000000f, 2); + seq->add_effect(std::make_shared<Hybrid3DEffect>(ctx), 0.000000f, 10.000000f, 3); + seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 4); + seq->add_effect(std::make_shared<ChromaAberrationEffect>(ctx), 0.000000f, 5.000000f, 5); + seq->add_effect(std::make_shared<SolarizeEffect>(ctx), 0.000000f, 5.000000f, 6); main_seq.add_sequence(seq, 12.000000f, 1); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<FlashCubeEffect>(device, queue, format), .2f, 1.500000f, -1); - seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared<ParticleSprayEffect>(device, queue, format), 0.000000f, 2.000000f, 1); - seq->add_effect(std::make_shared<ParticlesEffect>(device, queue, format), 0.000000f, 2.000000f, 2); + seq->add_effect(std::make_shared<FlashCubeEffect>(ctx), .2f, 1.500000f, -1); + seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared<ParticleSprayEffect>(ctx), 0.000000f, 2.000000f, 1); + seq->add_effect(std::make_shared<ParticlesEffect>(ctx), 0.000000f, 2.000000f, 2); main_seq.add_sequence(seq, 6.000000f, 2); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<FlashCubeEffect>(device, queue, format), .2f, 1.500000f, -1); - seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.0f, 0.500000f, 0); + seq->add_effect(std::make_shared<FlashCubeEffect>(ctx), .2f, 1.500000f, -1); + seq->add_effect(std::make_shared<FlashEffect>(ctx), 0.0f, 0.500000f, 0); main_seq.add_sequence(seq, 7.500000f, 2); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.2f, 2.0f, 1); - seq->add_effect(std::make_shared<ParticleSprayEffect>(device, queue, format), 0.000000f, 2.000000f, 2); - seq->add_effect(std::make_shared<ParticlesEffect>(device, queue, format), 0.000000f, 2.000000f, 2); - seq->add_effect(std::make_shared<Hybrid3DEffect>(device, queue, format), 0.000000f, 2.000000f, 3); - seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 4); - seq->add_effect(std::make_shared<ChromaAberrationEffect>(device, queue, format), 0.000000f, 3.000000f, 5); + seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.2f, 2.0f, 1); + seq->add_effect(std::make_shared<ParticleSprayEffect>(ctx), 0.000000f, 2.000000f, 2); + seq->add_effect(std::make_shared<ParticlesEffect>(ctx), 0.000000f, 2.000000f, 2); + seq->add_effect(std::make_shared<Hybrid3DEffect>(ctx), 0.000000f, 2.000000f, 3); + seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 4); + seq->add_effect(std::make_shared<ChromaAberrationEffect>(ctx), 0.000000f, 3.000000f, 5); main_seq.add_sequence(seq, 8.500000f, 2); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<ThemeModulationEffect>(device, queue, format), 0.000000f, 2.000000f, 0); - seq->add_effect(std::make_shared<HeptagonEffect>(device, queue, format), 0.0f, 4.0f, 0); - seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 1); - seq->add_effect(std::make_shared<ChromaAberrationEffect>(device, queue, format), 0.000000f, 3.000000f, 2); - seq->add_effect(std::make_shared<SolarizeEffect>(device, queue, format), 0.000000f, 5.000000f, 3); + seq->add_effect(std::make_shared<ThemeModulationEffect>(ctx), 0.000000f, 2.000000f, 0); + seq->add_effect(std::make_shared<HeptagonEffect>(ctx), 0.0f, 4.0f, 0); + seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 1); + seq->add_effect(std::make_shared<ChromaAberrationEffect>(ctx), 0.000000f, 3.000000f, 2); + seq->add_effect(std::make_shared<SolarizeEffect>(ctx), 0.000000f, 5.000000f, 3); main_seq.add_sequence(seq, 4.000000f, 3); } { auto seq = std::make_shared<Sequence>(); - seq->add_effect(std::make_shared<FlashCubeEffect>(device, queue, format), .2f, 1.500000f, -1); - seq->add_effect(std::make_shared<GaussianBlurEffect>(device, queue, format), 0.000000f, 4.000000f, 0); - seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.0f, 0.2f, 1); - seq->add_effect(std::make_shared<FlashEffect>(device, queue, format), 0.500000f, 0.2f, 1); + seq->add_effect(std::make_shared<FlashCubeEffect>(ctx), .2f, 1.500000f, -1); + seq->add_effect(std::make_shared<GaussianBlurEffect>(ctx), 0.000000f, 4.000000f, 0); + seq->add_effect(std::make_shared<FlashEffect>(ctx), 0.0f, 0.2f, 1); + seq->add_effect(std::make_shared<FlashEffect>(ctx), 0.500000f, 0.2f, 1); main_seq.add_sequence(seq, 8.000000f, 10); } } |
