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_demo_effects.cc | 52 ++++++++++++++++-------------------------- 1 file changed, 20 insertions(+), 32 deletions(-) (limited to 'src/tests/test_demo_effects.cc') diff --git a/src/tests/test_demo_effects.cc b/src/tests/test_demo_effects.cc index 3292c9c..ec1d68c 100644 --- a/src/tests/test_demo_effects.cc +++ b/src/tests/test_demo_effects.cc @@ -79,34 +79,28 @@ static void test_post_process_effects() { } MainSequence main_seq; - main_seq.init_test(fixture.device(), fixture.queue(), fixture.format()); + main_seq.init_test(fixture.ctx()); // Test each post-process effect std::vector>> effects = { {"FlashEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"PassthroughEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"GaussianBlurEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"ChromaAberrationEffect", std::make_shared( - fixture.device(), fixture.queue(), fixture.format())}, + fixture.ctx())}, {"DistortEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"SolarizeEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"FadeEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"ThemeModulationEffect", std::make_shared( - fixture.device(), fixture.queue(), fixture.format())}, + fixture.ctx())}, }; int passed = 0; @@ -146,28 +140,22 @@ static void test_scene_effects() { } MainSequence main_seq; - main_seq.init_test(fixture.device(), fixture.queue(), fixture.format()); + main_seq.init_test(fixture.ctx()); // Test each scene effect std::vector>> effects = { {"HeptagonEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"ParticlesEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"ParticleSprayEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"MovingEllipseEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"FlashCubeEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, {"Hybrid3DEffect", - std::make_shared(fixture.device(), fixture.queue(), - fixture.format())}, + std::make_shared(fixture.ctx())}, }; int passed = 0; @@ -215,20 +203,20 @@ static void test_effect_type_classification() { // Post-process effects should return true auto flash = std::make_shared( - fixture.device(), fixture.queue(), fixture.format()); + fixture.ctx()); assert(flash->is_post_process() && "FlashEffect should be post-process"); auto blur = std::make_shared( - fixture.device(), fixture.queue(), fixture.format()); + fixture.ctx()); assert(blur->is_post_process() && "GaussianBlurEffect should be post-process"); // Scene effects should return false auto heptagon = std::make_shared( - fixture.device(), fixture.queue(), fixture.format()); + fixture.ctx()); assert(!heptagon->is_post_process() && "HeptagonEffect should NOT be post-process"); auto particles = std::make_shared( - fixture.device(), fixture.queue(), fixture.format()); + fixture.ctx()); assert(!particles->is_post_process() && "ParticlesEffect should NOT be post-process"); -- cgit v1.2.3