FX P0: vendor reshadefx (BSD-3) + SPIR-V smoke test — go/no-go gate #543

Closed
opened 2026-10-08 06:28:03 +00:00 by sky_line · 1 comment
Owner

Part of epic #542 (from #186). Design + code citations are in the epic; read it first.

Size: S (1-2 d)

Vendor ReShade's effect compiler and prove it produces SPIR-V our device accepts, before any runtime work.

Scope

  • Vendor crosire/reshade source/effect_* (lexer, preprocessor, parser_exp/stmt, symbol_table (+ intrinsics .inl), expression, codegen.hpp, codegen_spirv.cpp, module.hpp, token.hpp) at one pinned release, plus Khronos spirv.hpp + GLSL.std.450.h. Put them in indra/newview/vkgfx/third_party/reshadefx/ with LICENSE (BSD-3) + NOTICE and a README naming the upstream commit.
  • Add a static lib target, outside the PCH. Must build on linux-releaseos and windows-cross (clang-cl).
  • Add a small dev tool or hidden debug command: preprocess + compile a .fx with given defines (__RESHADE__, __RENDERER__=0x20000+, BUFFER_*), dump the module (techniques / passes / textures / samplers / uniforms + offsets / spec constants), write .spv, run spirv-val --target-env vulkan1.3 if present, and vkCreateShaderModule on the live device.
  • Ship our ReShade.fxh (CC0 upstream copy) + a clean-room ReShadeUI.fxh (upstream has no licence).
  • Run it locally over SweetFX (MIT), prod80 (MIT), crosire/reshade-shaders samples, and, for information only and not bundled, qUINT / iMMERSE free.

Done when

  • reshadefx builds in-tree on Linux + windows-cross; licence/credits in place (About + NOTICE).
  • Compile report posted here: per pack, compiled / failed / why. Gate: ≥ 90% of SweetFX + prod80 + reshade-shaders samples compile, pass spirv-val, and create shader modules without validation-layer errors.
  • Go/no-go for P1 recorded in the epic. On no-go: list the blocking codegen issues and the fallback (own GLSL format for built-ins only).
Part of epic #542 (from #186). Design + code citations are in the epic; read it first. **Size:** S (1-2 d) Vendor ReShade's effect compiler and prove it produces SPIR-V our device accepts, before any runtime work. **Scope** - Vendor `crosire/reshade` `source/effect_*` (lexer, preprocessor, parser_exp/stmt, symbol_table (+ intrinsics .inl), expression, codegen.hpp, codegen_spirv.cpp, module.hpp, token.hpp) at one pinned release, plus Khronos `spirv.hpp` + `GLSL.std.450.h`. Put them in `indra/newview/vkgfx/third_party/reshadefx/` with LICENSE (BSD-3) + NOTICE and a README naming the upstream commit. - Add a static lib target, outside the PCH. Must build on `linux-releaseos` and `windows-cross` (clang-cl). - Add a small dev tool or hidden debug command: preprocess + compile a `.fx` with given defines (`__RESHADE__`, `__RENDERER__`=0x20000+, `BUFFER_*`), dump the module (techniques / passes / textures / samplers / uniforms + offsets / spec constants), write `.spv`, run `spirv-val --target-env vulkan1.3` if present, and `vkCreateShaderModule` on the live device. - Ship our `ReShade.fxh` (CC0 upstream copy) + a **clean-room `ReShadeUI.fxh`** (upstream has no licence). - Run it locally over SweetFX (MIT), prod80 (MIT), crosire/reshade-shaders samples, and, for information only and not bundled, qUINT / iMMERSE free. **Done when** - [ ] reshadefx builds in-tree on Linux + windows-cross; licence/credits in place (About + NOTICE). - [ ] Compile report posted here: per pack, compiled / failed / why. Gate: ≥ 90% of SweetFX + prod80 + reshade-shaders samples compile, pass spirv-val, and create shader modules without validation-layer errors. - [ ] Go/no-go for P1 recorded in the epic. On no-go: list the blocking codegen issues and the fallback (own GLSL format for built-ins only).
sky_line added this to the Slipstream project 2026-10-08 06:28:03 +00:00
Author
Owner

Done: FX P0 (vendored reshadefx + SPIR-V smoke test, 01fb24fa96). Shipped in 1.2.0 Beta 4/5 (ReShade effects + cel shading).

Done: FX P0 (vendored reshadefx + SPIR-V smoke test, 01fb24fa96). Shipped in 1.2.0 Beta 4/5 (ReShade effects + cel shading).
sky_line 2026-10-09 09:25:19 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#543
No description provided.