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 --- workspaces/test/shaders/gaussian_blur.wgsl | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'workspaces/test/shaders/gaussian_blur.wgsl') diff --git a/workspaces/test/shaders/gaussian_blur.wgsl b/workspaces/test/shaders/gaussian_blur.wgsl index 02156f7..22e467f 100644 --- a/workspaces/test/shaders/gaussian_blur.wgsl +++ b/workspaces/test/shaders/gaussian_blur.wgsl @@ -2,6 +2,8 @@ @group(0) @binding(1) var txt: texture_2d; #include "common_uniforms" +#include "render/fullscreen_vs" + struct GaussianBlurParams { strength: f32, _pad: f32, @@ -10,15 +12,6 @@ struct GaussianBlurParams { @group(0) @binding(2) var uniforms: CommonUniforms; @group(0) @binding(3) var params: GaussianBlurParams; -@vertex fn vs_main(@builtin(vertex_index) i: u32) -> @builtin(position) vec4 { - var pos = array, 3>( - vec2(-1, -1), - vec2(3, -1), - vec2(-1, 3) - ); - return vec4(pos[i], 0.0, 1.0); -} - @fragment fn fs_main(@builtin(position) p: vec4) -> @location(0) vec4 { let uv = p.xy / uniforms.resolution; var res = vec4(0.0); -- cgit v1.2.3