Commit Graph

8279 Commits

Author SHA1 Message Date
Herman S.
4bd93883ac [Build] Convert buildshaders to custom build rules 2026-03-04 20:57:42 +09:00
Herman S.
a09292c98f [Build] Fix VS to send Debug build output to the same place as Ninja 2026-03-04 20:57:41 +09:00
Gliniak
2de05ef1c1 [3PP] Removed reference to premake modules 2026-03-04 11:57:55 +01:00
Herman S.
71c5702ee8 [Build] Convert build system to raw cmake and remove premake layer 2026-03-04 17:37:36 +09:00
Ylederman153
f1bfb9416d [Build] Remove /all_resources_bound from FXC shader compilation flags (#901)
The /all_resources_bound flag alters the generated DXBC bytecode by changing dcl_globalFlags, register allocation and instruction scheduling. This causes rendering artifacts (blue lightning/flash glitches) at scaled draw resolutions. The other FXC flags (/O3, /Qstrip_*, /Gfp) are retained as they do not affect the executable shader bytecode.
2026-03-04 13:49:27 +09:00
Herman S.
4757ab0931 [APU] Fix ffmpeg upgrade related logspam 2026-03-04 13:05:37 +09:00
Herman S.
cd5df622a9 [3PP] Switch FFmpeg to latest release with port of xmaframes codec
And pull out all the xenia specific build junk into
third_party/ffmpeg-xenia rather than keeping it checked in the
submodule
2026-03-04 13:05:31 +09:00
Herman S.
d6ed83f1ea [Build] Ensure shaders are generated on devenv 2026-03-04 10:14:40 +09:00
Herman S.
3a54274076 [Docs] Add VulkanSDK dependency 2026-03-04 10:04:54 +09:00
Adrian
a7f1a3f18a [XAM] Added profile and create content enumerator wrappers 2026-03-03 22:31:42 +01:00
Adrian
54be3c57a0 [XAM] Validate buffer_size limit in XamEnumerate 2026-03-03 22:31:42 +01:00
Adrian
8351eec1ec [APP] Fixed potential conflicting ImGUI ID in profile menu 2026-03-03 21:19:54 +01:00
Herman S.
dbfe216754 [Vulkan] Implement extended range for f32 to f16 conversion in memexport 2026-03-03 17:16:37 +09:00
Ylederman153
02c6bc6e61 [D3D12] Implement extended range for f32 to f16 conversion in memexport (#899)
Resolves TODO(Triang3l) by implementing a mathematical workaround to allow exponent 31 for extended float16 range up to +/-131008.0f as expected by the native Xbox 360 hardware, bypassing standard D3D12 f32tof16 boundaries which incorrectly clamp/inf values.
2026-03-03 17:16:05 +09:00
Herman S.
f2ac39cfd9 [Build] Generate shaders on build instead of having them checked in 2026-03-03 16:21:30 +09:00
Ylederman153
2eea146b1b [GPU] Fix k_16_16 and k_16_16_16_16 EDRAM packing clamping (#898)
Replaces the UNorm packing functions with custom Edram functions to preserve the native [-32.0, 32.0] float range and scale mathematically instead of using saturate(). Fixes displaced water meshes in games like Mercenaries 2.
2026-03-03 14:27:04 +09:00
Herman S.
48111e8fba [D3D12] Fix device lost with resolution scaling in 3D-as-2D textures 2026-03-01 16:41:50 +09:00
Adrian
d4b295a578 [XAM] Fixed memcpy in XamProfileFindAccount 2026-02-28 22:45:32 +01:00
Adrian
b1aa0de766 [UI] Extend ImGUI glyph ranges 2026-02-27 21:23:51 +01:00
Herman S.
125b4c8c05 [GPU] Ensure force_special_view checks swizzle signs before using signed
This was causing unnecessary logspam in Blue Dragon due to
incorrectly trying to request signed when the fetch constants are
unsigned
2026-02-26 14:36:08 +09:00
Herman S.
0c8d1b763f [D3D12] Pre-create 3D-as-2D textures before draw setup 2026-02-26 14:22:46 +09:00
Herman S.
0e2967cdb0 [D3D12] Fix 3D-to-2D texture crash under Wine/VKD3D 2026-02-26 14:22:46 +09:00
Herman S.
e7941b0c7d [GPU] 3d-to-2d textures default enable
Replaced the modal cvar with bool gpu_3d_to_2d_texture with "mode 2" now enabled by
default and "mode 1" removed as unnecessary
2026-02-26 14:22:46 +09:00
Herman S.
90c48e1d21 [GPU] 3d-to-d2 texture implementation
Adds vulkan version of mode 1 and 2 and fixes related crashes by keeping
the 2d texture views from the texture cache.
2026-02-26 14:22:46 +09:00
Herman S.
7c9b5af236 [D3D12] add cvar to control 3d-to-2d texture mode 2026-02-26 14:22:46 +09:00
Raffaele
fc5ab60a88 [D3D12] Fix 4D5307DF fur textures
- Fixes issue https://github.com/xenia-canary/game-compatibility/issues/6
- Implements a load texture logic
2026-02-26 14:22:46 +09:00
Raffaele
26824edcfa [D3D12] Fix 4D5307DF fur textures
- Fixes issue https://github.com/xenia-canary/game-compatibility/issues/6
- Implements a copy texture logic
2026-02-26 14:22:46 +09:00
Herman S.
bc54720559 [XMA] Fix consume-only context resetting output buffer offsets
And remove the now-unused HasTightOutputBuffer heuristic
2026-02-26 10:28:49 +09:00
Herman S.
aaf284a4b0 [Vulkan] Fix fullscreen corrupting HDR state on Windows 2026-02-25 12:31:18 +09:00
Herman S.
9c37af4621 [Vulkan] Add proper tracking to swap gamma correction render pass 2026-02-25 12:31:18 +09:00
Herman S.
223aa70171 [Vulkan] Add semaphor reuse workaround and cvar 2026-02-25 12:31:18 +09:00
Herman S.
6de637b794 [Vulkan] Smear scalar bools.
Addresses some shader validation warnings
2026-02-25 12:31:18 +09:00
Herman S.
d505b6b53a [Vulkan] Create per-swapchain-image present semaphores
Fixes vulkan validation issues.
2026-02-25 12:31:18 +09:00
Herman S.
74ce1c812f [Vulkan] Fix VUID-FragDepth-FragDepth-04216 validation issue 2026-02-25 12:31:18 +09:00
Herman S.
bf880fde0c [Vulkan] Fix alignment related validation errors 2026-02-25 12:31:18 +09:00
Herman S.
77852914ff [GPU] TextureCache lockless pre-check
lockless accessors for base_outdated/mips_outdated and skip lock
acquisition when textures appear up to date
2026-02-25 12:31:18 +09:00
Herman S.
067641668f [GPU] Fix min/max blend operations to properly apply factors
Applies factors before the MIN/MAX operation - in FSI/ROV via runtime
blending, in FBO/RTV by pre-multiplying shader output when dstFactor is
ONE only, as we don't have access to dest to provide full support as we
do in the FSI/ROV paths.
2026-02-25 09:39:03 +09:00
Herman S.
966d8f0925 [Vulkan] fix FBO path reading from output variables for alpha test
Makes FBO follow the same pattern as FSI by using function scoped
intermediate variables
2026-02-25 09:38:58 +09:00
Herman S.
2d7ca4fb39 [GPU] Remove log spam for empty region resolve issues.
Affects Forza Horizon 1 and 2, does not seem to be related to any
actual rendering issues but makes it very difficult to debug real
problems.
2026-02-25 09:11:03 +09:00
Herman S.
1e23aaf4fc Improve error handling in graphics memory init 2026-02-25 09:10:48 +09:00
Herman S.
337afcf318 [XMA] fix unsigned underflow when packet has no frames 2026-02-24 14:32:54 +09:00
Herman S.
80a78c509f [XMA] Write back output_buffer_read_offset in StoreContextMerged 2026-02-24 14:32:54 +09:00
Herman S.
6265698eef [XMA] Swap input buffer on unresolvable split headers 2026-02-24 14:32:54 +09:00
Herman S.
d68ff7243a [XMA] Fix consume-only path write offset and drain check 2026-02-24 14:32:54 +09:00
Herman S.
6ee55aafb4 [XMA] Guard against subframe_decode_count being 0 2026-02-24 14:32:54 +09:00
Herman S.
013320c051 [XMA] Implement loop subframe precision 2026-02-24 14:32:54 +09:00
Herman S.
8586cc196d [XMA] Add diagnostic logging to new decoder 2026-02-24 14:32:49 +09:00
Herman S.
51c5936566 [XMA] convert GetNextPacketReadOffset from recursion to iterative loop 2026-02-24 12:41:08 +09:00
Herman S.
470e62af22 [XMA] detect full packet skip sentinel and advance rather than overshoot 2026-02-24 12:41:02 +09:00
Herman S.
a1eef3a2b8 [XMA] swap to valid buffer instead of stalling when current is invalid 2026-02-24 12:40:56 +09:00