You've already forked rexglue-sdk
mirror of
https://github.com/rexglue/rexglue-sdk.git
synced 2026-02-20 09:42:15 -08:00
Replace incorrect host sRGB approximation of Xbox 360 piecewise linear (PWL) gamma with R16G16B16A16_UNORM storage for k_8_8_8_8_GAMMA render targets, enabling correct linear-space blending. Shared memory + texture cache cleanup: - Remove resolve tracking (valid_and_gpu_resolved) from SharedMemory - Remove resolve tracking from TextureCache, rename IsActiveTextureResolved to IsActiveTextureResolutionScaled - Update command processor callers for new signatures Flag renames + base gpu changes: - Rename cvar gamma_render_target_as_srgb to gamma_render_target_as_unorm16 - Remove sRGB constants and gamma tracking from base RenderTargetCache - Add IsGammaFormatHostStorageSeparate() virtual for backend override - Make PWLGammaToLinear/PreSaturatedLinearToPWLGamma public static with explicit dxbc::Assembler& parameter - Rename textures_resolved to textures_resolution_scaled in DXBC translator - Remove sRGB texture sampling path from fetch translator - Invert gamma flag semantics in pipeline cache and OM translator D3D12 render target format + transfer shaders: - Change k_8_8_8_8_GAMMA resource format from R8G8B8A8_TYPELESS to R16G16B16A16_UNORM in D3D12 backend - Remove sRGB draw descriptors and command list sRGB tracking - Add PWL gamma conversion at EDRAM transfer boundaries (64bpp packing, 32bpp stencil/depth/color paths, output unpacking) - Add gamma conversion in dump pipeline and clear values - Update Vulkan backend for compilation (minimal, no UNorm16 yet) Based on Xenia commits [cec9ca0ef](cec9ca0ef2), [0a19234b4](0a19234b4e), [c7f61342d](c7f61342d7)