From 80d395b8bc0c37778401eb771094c25db7a1b8a4 Mon Sep 17 00:00:00 2001 From: skal Date: Mon, 16 Feb 2026 15:16:56 +0100 Subject: fix(headless): add early returns to all effect constructors All effects now skip GPU resource creation when device is nullptr. Effects fixed: - GaussianBlurEffect - HeptagonEffect - Hybrid3DEffect - PassthroughEffect - ParticlesEffect Headless tests now passing (audio-only mode functional). Co-Authored-By: Claude Sonnet 4.5 --- src/effects/hybrid3_d_effect.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/effects/hybrid3_d_effect.cc') diff --git a/src/effects/hybrid3_d_effect.cc b/src/effects/hybrid3_d_effect.cc index ced5b42..2a015a0 100644 --- a/src/effects/hybrid3_d_effect.cc +++ b/src/effects/hybrid3_d_effect.cc @@ -10,6 +10,11 @@ Hybrid3DEffect::Hybrid3DEffect(const GpuContext& ctx, const std::vector& outputs) : Effect(ctx, inputs, outputs), depth_node_(outputs[0] + "_depth"), dummy_texture_(nullptr), dummy_texture_view_(nullptr) { + // Headless mode: skip GPU resource creation + if (ctx_.device == nullptr) { + return; + } + // Initialize renderer (format is always RGBA8Unorm for v2) renderer_.init(ctx_.device, ctx_.queue, WGPUTextureFormat_RGBA8Unorm); -- cgit v1.2.3