Files
AC6_recomp/thirdparty/rexglue-sdk
Dipshet dfd8b92a5b D3D12: Fix CONSTANT_ALPHA blend factors collapsing onto constant RGB
The D3D12 PipelineBlendFactor enum had no constant-alpha entry, so the Xenos
CONSTANT_ALPHA and ONE_MINUS_CONSTANT_ALPHA blend factors (14, 15) were mapped
onto the constant-COLOR kBlendFactor / kInvBlendFactor - i.e. D3D12 BLEND_FACTOR
/ INV_BLEND_FACTOR, which use the blend constant's RGB rather than its alpha.

Aircraft ground shadow blends with dst = ONE_MINUS_CONSTANT_ALPHA and aSTANT_ALPHA blend factors collapsing onto
blend constant of (0.03, 0.04, 0.04, 0.30): it wants 1 - 0.30 = 0.70 (scale the
background down -> darken), but got 1 - (0.03,0.04,0.04) ~= 0.97 (barely scaled)
with the white source added on top, so the shadow BRIGHTENED instead of
darkening - the "white shadow" bug. Vulkan has the distinct
ONE_MINUS_CONSTANT_ALPHA factor and renders it correctly.

Add kBlendFactorAlpha / kInvBlendFactorAlpha to the enum, route factors 14/15 to
them in both the colour and alpha maps, and map them to D3D12 ALPHA_FACTOR /
INV_ALPHA_FACTOR. Verified fixed on both the RTV and ROV render-target paths.
2026-07-15 02:03:35 +02:00
..
2026-04-17 20:09:41 +03:00
2026-04-17 20:09:41 +03:00
2026-04-17 20:09:41 +03:00
2026-04-17 20:09:41 +03:00
2026-04-17 20:09:41 +03:00
2026-04-17 20:09:41 +03:00
2026-04-17 20:09:41 +03:00
2026-04-17 20:09:41 +03:00
2026-04-17 20:09:41 +03:00
2026-04-20 17:23:49 +03:00
2026-04-17 20:09:41 +03:00
2026-07-14 20:37:15 +02:00
2026-04-17 20:09:41 +03:00
2026-04-17 20:09:41 +03:00
2026-04-17 20:09:41 +03:00
2026-04-20 06:43:35 +03:00
2026-04-20 06:43:35 +03:00
2026-04-20 06:43:35 +03:00
2026-04-17 20:09:41 +03:00

Caution

This project is in early development. Expect things to not work quite right and there to be significant changes and breaking public API updates as development progresses. Contributions and feedback are welcome, but please be aware that the codebase is still evolving rapidly.


ReXGlue banner

Discord win-amd64 build status rexglue-sdk stargazers

ReXGlue converts Xbox 360 PowerPC code into portable C++ that runs natively on modern platforms.

ReXGlue is heavily rooted on the foundations of Xenia, the Xbox 360 emulator. Rather than interpreting or JIT-compiling PPC instructions at runtime, ReXGlue takes a different path: it generates C++ source code ahead of time, an approach inspired by XenonRecomp and rexdex's recompiler.

Latest SDK builds and releases are published on GitHub Releases. Join the Discord server for updates and share what you have created.

Example Projects

Quickstart

For quick start guide, full CLI reference, and config file options, see the wiki.

Disclaimer

ReXGlue is not affiliated with nor endorsed by Microsoft or Xbox. It is an independent project created for educational and development purposes. All trademarks and copyrights belong to their respective owners.

This project is not intended to promote piracy nor unauthorized use of copyrighted material. Any misuse of this software to endorse or enable this type of activity is strictly prohibited.

Credits

ReXGlue

  • Tom (crack) - Lead developer and project founder
  • Loreaxe - Core contributor of the Linux/POSIX, ARM, and Vulkan feature sets.
  • Soren/Roxxsen - Lead project manager and git maintainer.
  • Toby - Graphic designer.

Very Special Thank You:

  • Project Xenia - Their invaluable work on Xbox 360 emulation laid the groundwork for ReXGlue's development. This project (and numerous others) would not exist without their hard work and dedication.
  • XenonRecomp - For pioneering the modern static recompilation approach for Xbox 360. A lot of the codegen analysis logic and instruction translations are based on their work. Thank you!
  • rexdex's recompiler - The OG static recompiler for Xbox 360.
  • Many others in the Xbox 360 homebrew and modding communities whose work and research have contributed to the collective knowledge that makes projects like this possible.