summaryrefslogtreecommitdiff
path: root/test_passthrough.wgsl
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-11 11:58:24 +0100
committerskal <pascal.massimino@gmail.com>2026-02-11 11:58:24 +0100
commit5ceb0256792053ee80841f2b5ac0dfae1fd4c6f8 (patch)
treee24dafeca0d270437a39c8d91c7f5c037cf0d2f4 /test_passthrough.wgsl
parent58c595810d0346f0c2b32dbc70b7385aee545e11 (diff)
fix: Complete auxiliary texture initialization fix
Root cause: After swapping init/resize order, effects with Renderer3D crashed because resize() called before init() tried to use uninitialized GPU resources. Changes: - Add guards in FlashCubeEffect::resize() and Hybrid3DEffect::resize() to check ctx_.device before calling renderer_.resize() - Remove lazy initialization remnants from CircleMaskEffect and CNNEffect - Register auxiliary textures directly in init() (width_/height_ already set) - Remove ensure_texture() methods and texture_initialized_ flags All 36 tests passing. Demo runs without crashes. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'test_passthrough.wgsl')
-rw-r--r--test_passthrough.wgsl10
1 files changed, 10 insertions, 0 deletions
diff --git a/test_passthrough.wgsl b/test_passthrough.wgsl
new file mode 100644
index 0000000..1e5f52a
--- /dev/null
+++ b/test_passthrough.wgsl
@@ -0,0 +1,10 @@
+@vertex fn vs_main(@builtin(vertex_index) i: u32) -> @builtin(position) vec4<f32> {
+ var pos = array<vec2<f32>, 3>(
+ vec2<f32>(-1.0, -1.0), vec2<f32>(3.0, -1.0), vec2<f32>(-1.0, 3.0)
+ );
+ return vec4<f32>(pos[i], 0.0, 1.0);
+}
+
+@fragment fn fs_main(@builtin(position) p: vec4<f32>) -> @location(0) vec4<f32> {
+ return vec4<f32>(1.0, 0.0, 0.0, 1.0); // Solid red
+}