From de7514e6b9ff9c0b9320975ba7d44754b5115b54 Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 14 Feb 2026 15:23:14 +0100 Subject: refactor(wgsl): replace inline fullscreen_vs with common include Replace duplicate fullscreen triangle vertex shader code with #include "render/fullscreen_vs" in 8 workspace shaders. Eliminates ~60 lines of duplication and establishes single source of truth. Modified shaders: - circle_mask_compute.wgsl (main/test) - circle_mask_render.wgsl (main/test) - ellipse.wgsl (main/test) - gaussian_blur.wgsl (main/test) Updated test_shader_assets.cc to validate include directive instead of inline @vertex keyword for affected shaders. All tests passing (34/34). handoff(Claude): Shader modularization - fullscreen_vs consolidated Co-Authored-By: Claude Sonnet 4.5 --- src/tests/gpu/test_shader_assets.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/tests/gpu') diff --git a/src/tests/gpu/test_shader_assets.cc b/src/tests/gpu/test_shader_assets.cc index 7f2811e..1736dc0 100644 --- a/src/tests/gpu/test_shader_assets.cc +++ b/src/tests/gpu/test_shader_assets.cc @@ -63,13 +63,14 @@ int main() { all_passed &= validate_shader(AssetId::ASSET_SHADER_PASSTHROUGH, "PASSTHROUGH", {"@vertex", "vs_main", "@fragment", "fs_main"}); - all_passed &= validate_shader(AssetId::ASSET_SHADER_ELLIPSE, "ELLIPSE", - {"@vertex", "vs_main", "@fragment", "fs_main"}); + all_passed &= validate_shader( + AssetId::ASSET_SHADER_ELLIPSE, "ELLIPSE", + {"#include \"render/fullscreen_vs\"", "@fragment", "fs_main"}); all_passed &= validate_shader(AssetId::ASSET_SHADER_PARTICLE_SPRAY_COMPUTE, "PARTICLE_SPRAY_COMPUTE", {"@compute", "main"}); - all_passed &= - validate_shader(AssetId::ASSET_SHADER_GAUSSIAN_BLUR, "GAUSSIAN_BLUR", - {"@vertex", "vs_main", "@fragment", "fs_main"}); + all_passed &= validate_shader( + AssetId::ASSET_SHADER_GAUSSIAN_BLUR, "GAUSSIAN_BLUR", + {"#include \"render/fullscreen_vs\"", "@fragment", "fs_main"}); all_passed &= validate_shader( AssetId::ASSET_SHADER_SOLARIZE, "SOLARIZE", {"#include \"render/fullscreen_vs\"", "@fragment", "fs_main"}); -- cgit v1.2.3