From 9bb5fd64776ac8a7e4b012ac2de340ddfa09a2c9 Mon Sep 17 00:00:00 2001 From: skal Date: Mon, 9 Feb 2026 14:28:46 +0100 Subject: feat: GPU procedural Phase 4 - texture composition Multi-input composite shaders with sampler support. - Dynamic bind group layouts (N input textures + 1 sampler) - dispatch_composite() for multi-input compute dispatch - create_gpu_composite_texture() API - gen_blend.wgsl and gen_mask.wgsl shaders Guarded with #if !defined(STRIP_GPU_COMPOSITE) for easy removal. Tests: - Blend two noise textures - Mask noise with grid - Multi-stage composite (composite of composites) Size: ~830 bytes (2 shaders + dispatch logic) handoff(Claude): GPU procedural Phase 4 complete --- CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 26818c3..fb6beef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -601,6 +601,14 @@ if(DEMO_BUILD_TESTS) target_link_libraries(test_gpu_procedural PRIVATE 3d gpu audio procedural util ${DEMO_LIBS}) add_dependencies(test_gpu_procedural generate_demo_assets) + # GPU Composite Texture Test (Phase 4) + add_demo_test(test_gpu_composite GpuCompositeTest + src/tests/test_gpu_composite.cc + ${PLATFORM_SOURCES} + ${GEN_DEMO_CC}) + target_link_libraries(test_gpu_composite PRIVATE 3d gpu audio procedural util ${DEMO_LIBS}) + add_dependencies(test_gpu_composite generate_demo_assets) + # Gantt chart output test (bash script) add_test( NAME GanttOutputTest -- cgit v1.2.3