From 9280c597b000eed661fd98793e182fdcb640f6cd Mon Sep 17 00:00:00 2001 From: Gabriel Schneider Date: Wed, 12 Aug 2026 16:33:14 -0300 Subject: shaders: -Dprebuilt-shaders, so a gui build needs no Vulkan SDK glslc is the one build input that wants a tool a stock machine does not have, and it is also the input that changes least often: eight GLSL files that have outlived several rewrites of everything around them. Asking every machine that wants to run the SDL shell for shaderc is the wrong trade. The SPIR-V is now COMMITTED, under shaders/prebuilt/, and -Dprebuilt-shaders embeds that copy instead of shelling out. The default stays the honest one -- compile the shaders that are actually in the tree -- because the flag trades a dependency for a freshness problem: with it on, the .glsl sources are not build inputs at all, so editing one changes nothing. `zig build shaders` is the other half, and it is deliberately independent of -Dplatform: it recompiles every shader and writes the result back into the tracked directory, so whoever changes a shader refreshes the cache on a machine that has the compiler and commits the diff. `jj diff shaders/prebuilt` after it is the freshness check -- empty means the cache was already current. The shader list is also spelled once now (gui_shaders): the eight embeds, the eight glslc runs and the refresh step all read it, so adding a shader is a name there plus the @embedFile in gui.zig, not three edits in two places. Verified: -Dplatform=gui -Dprebuilt-shaders builds with glslc absent from PATH, and image-harness passes on that binary -- real SDL GPU pipelines built from the committed SPIR-V, 512 source pixels read back. The default gui build still runs the eight glslc steps; tty runs none. The committed bytes are identical to a fresh glslc run, and `zig build shaders` is idempotent. --- test/snapshots/lookrange.golden | 49 ++++++++--------------------------------- 1 file changed, 9 insertions(+), 40 deletions(-) (limited to 'test/snapshots/lookrange.golden') diff --git a/test/snapshots/lookrange.golden b/test/snapshots/lookrange.golden index d1fc0bea..8ed06206 100644 --- a/test/snapshots/lookrange.golden +++ b/test/snapshots/lookrange.golden @@ -277,38 +277,7 @@ |27: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, |28: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, |29: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, -== snap results grid=150x30 cursor=10,24 -|New Newcol Find Grep Help Tutor Dump NextColor Debug Kill -| /tmp/pardes-snap/lookrange/cwd/look.txt Save New Del -| 1 r.txt:3-5 -| 2 r.txt:7:4-9 -| 3 r.txt:3:2-5:3 -| 4 r.txt:8:6-99:9 -| -| -| -| -| -| -| -| -| -| -| /tmp/pardes-snap/lookrange/cwd/r.txt Save New Del -| 2 bbbb -| 3 cccc dccc -| 4 dddd -| 5 eeee -| 6 ffff -| 7 gg NEEDLE gg -| 8 hhhh NEEDLE -| 9 iiii -| -| -| /tmp/pardes-snap/lookrange/cwd/+Search New Del -| 1 r.txt:7:4-9 gg NEEDLE gg -| 2 r.txt:8:6-11 hhhh NEEDLE -== snap hit1 grid=150x30 cursor=15,22 +== snap hit1 grid=150x30 cursor=15,23 |New Newcol Find Grep Help Tutor Dump NextColor Debug Kill | /tmp/pardes-snap/lookrange/cwd/look.txt Save New Del | 1 r.txt:3-5 @@ -326,6 +295,7 @@ | | | /tmp/pardes-snap/lookrange/cwd/r.txt Save New Del +| 1 aaaa | 2 bbbb | 3 cccc dccc | 4 dddd @@ -335,7 +305,6 @@ | 8 hhhh NEEDLE | 9 iiii | -| | /tmp/pardes-snap/lookrange/cwd/+Search New Del | 1 r.txt:7:4-9 gg NEEDLE gg | 2 r.txt:8:6-11 hhhh NEEDLE @@ -357,15 +326,15 @@ |14: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, |15: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, |16: 0-1 #ffffff,#626262, 2-129 #949494,#121212, 130-149 d,#121212, -|17: 0-0 d,#121212, 1-1 d,#080808, 2-6 #626262,#080808, 7-10 #bdbdbd,#080808, 11-149 d,#080808, -|18: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-15 #bdbdbd,#080808, 16-149 d,#080808, -|19: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-10 #bdbdbd,#080808, 11-149 d,#080808, +|17: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-10 #bdbdbd,#080808, 11-149 d,#080808, +|18: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-10 #bdbdbd,#080808, 11-149 d,#080808, +|19: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-15 #bdbdbd,#080808, 16-149 d,#080808, |20: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-10 #bdbdbd,#080808, 11-149 d,#080808, |21: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-10 #bdbdbd,#080808, 11-149 d,#080808, -|22: 0-0 d,#444444, 1-1 d,#080808, 2-6 #949494,#121212, 7-9 #bdbdbd,#080808, 10-15 #080808,#80a0ff, 16-18 #bdbdbd,#080808, 19-149 d,#080808, -|23: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-17 #bdbdbd,#080808, 18-149 d,#080808, -|24: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-10 #bdbdbd,#080808, 11-149 d,#080808, -|25: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, +|22: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-10 #bdbdbd,#080808, 11-149 d,#080808, +|23: 0-0 d,#444444, 1-1 d,#080808, 2-6 #949494,#121212, 7-9 #bdbdbd,#080808, 10-15 #080808,#80a0ff, 16-18 #bdbdbd,#080808, 19-149 d,#080808, +|24: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-17 #bdbdbd,#080808, 18-149 d,#080808, +|25: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-10 #bdbdbd,#080808, 11-149 d,#080808, |26: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-149 d,#080808, |27: 0-1 #ffffff,#262626, 2-129 #949494,#121212, 130-149 d,#121212, |28: 0-0 d,#444444, 1-1 d,#080808, 2-6 #626262,#080808, 7-30 #bdbdbd,#080808, 31-149 d,#080808, -- cgit v1.3