diff options
| author | Gabriel Schneider <[email protected]> | 2026-08-12 16:33:14 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-12 20:22:18 -0300 |
| commit | 9280c597b000eed661fd98793e182fdcb640f6cd (patch) | |
| tree | 1b8e928c052c46ceb9a58c83256d5fb4e11e361a /shaders | |
| parent | bc89f57cb576e23a58572ec35f96db068367f1b4 (diff) | |
| download | pardes-9280c597b000eed661fd98793e182fdcb640f6cd.tar.gz pardes-9280c597b000eed661fd98793e182fdcb640f6cd.zip | |
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.
Diffstat (limited to 'shaders')
| -rw-r--r-- | shaders/prebuilt/crt.frag.spv | bin | 0 -> 4108 bytes |
| -rw-r--r-- | shaders/prebuilt/crt.vert.spv | bin | 0 -> 1208 bytes |
| -rw-r--r-- | shaders/prebuilt/image.frag.spv | bin | 0 -> 624 bytes |
| -rw-r--r-- | shaders/prebuilt/image.vert.spv | bin | 0 -> 3152 bytes |
| -rw-r--r-- | shaders/prebuilt/overlay.frag.spv | bin | 0 -> 444 bytes |
| -rw-r--r-- | shaders/prebuilt/overlay.vert.spv | bin | 0 -> 1040 bytes |
| -rw-r--r-- | shaders/prebuilt/ui.frag.spv | bin | 0 -> 1148 bytes |
| -rw-r--r-- | shaders/prebuilt/ui.vert.spv | bin | 0 -> 3520 bytes |
8 files changed, 0 insertions, 0 deletions
diff --git a/shaders/prebuilt/crt.frag.spv b/shaders/prebuilt/crt.frag.spv Binary files differnew file mode 100644 index 00000000..326aa534 --- /dev/null +++ b/shaders/prebuilt/crt.frag.spv diff --git a/shaders/prebuilt/crt.vert.spv b/shaders/prebuilt/crt.vert.spv Binary files differnew file mode 100644 index 00000000..8a75ebb3 --- /dev/null +++ b/shaders/prebuilt/crt.vert.spv diff --git a/shaders/prebuilt/image.frag.spv b/shaders/prebuilt/image.frag.spv Binary files differnew file mode 100644 index 00000000..84a174ad --- /dev/null +++ b/shaders/prebuilt/image.frag.spv diff --git a/shaders/prebuilt/image.vert.spv b/shaders/prebuilt/image.vert.spv Binary files differnew file mode 100644 index 00000000..1105bae2 --- /dev/null +++ b/shaders/prebuilt/image.vert.spv diff --git a/shaders/prebuilt/overlay.frag.spv b/shaders/prebuilt/overlay.frag.spv Binary files differnew file mode 100644 index 00000000..59bbb9d4 --- /dev/null +++ b/shaders/prebuilt/overlay.frag.spv diff --git a/shaders/prebuilt/overlay.vert.spv b/shaders/prebuilt/overlay.vert.spv Binary files differnew file mode 100644 index 00000000..a518c576 --- /dev/null +++ b/shaders/prebuilt/overlay.vert.spv diff --git a/shaders/prebuilt/ui.frag.spv b/shaders/prebuilt/ui.frag.spv Binary files differnew file mode 100644 index 00000000..8d57242a --- /dev/null +++ b/shaders/prebuilt/ui.frag.spv diff --git a/shaders/prebuilt/ui.vert.spv b/shaders/prebuilt/ui.vert.spv Binary files differnew file mode 100644 index 00000000..186a91fc --- /dev/null +++ b/shaders/prebuilt/ui.vert.spv |
