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
Herman S.
d759938979
[XMA] skip split frame tails instead of decoding as complete frames
2026-02-24 12:40:47 +09:00
Herman S.
cc53e0252a
[XMA] don't queue output subframes when frame decode fails
2026-02-24 12:40:39 +09:00
Herman S.
2c75055caf
[XMA] treat frame_size 0 as end-of-packet padding (XMA1 compat)
2026-02-24 12:40:31 +09:00
The-Little-Wolf
dd585ca0c8
[XboxKrnl/Crypt] - Implement XeCrypt & XeKeys Functions ( #566 )
...
- Implement XeKeysGetConsoleID, XeKeysGetKeyProperties, XeCryptDesEcb, and XeCryptDesKey.
- Stub XeCryptBnQwBeSigVerify, XeCryptRotSumSha, XeKeysGetKey, and XeKeysConsolePrivateKeySign.
2026-02-23 17:33:19 +09:00
Adrian
8d5565da8a
[Misc] Fixed missing guard header ( #887 )
2026-02-23 17:07:23 +09:00
Herman S.
9190ce3e36
Revert "[CPU] Detect FPSCR exceptions in UpdateFPSCR for Rc=1 FPU instructions"
...
This reverts commit a769d70761 .
Causes audio issues in The Godfather
2026-02-22 20:28:27 +09:00
Gliniak
b2b1307822
[XAM] Improvements to XamUserCheckPrivilege
...
- Handle case when XamUserCheckPrivilege receives ANY USER
- Handle case when User is not live signed. This function returns NOT_LOGGED_IN for local accounts
2026-02-19 23:13:09 +01:00
Gliniak
9bfaff5040
[XAM] Fixed issue with XamContentCreate reassigning already assigned symlinks
2026-02-19 21:02:45 +01:00
Radosław Gliński
bc69b95db6
[Github] Disable counting tests to code summary
2026-02-19 11:50:21 +01:00
Herman S.
d9747704be
[XMA] Reserve headroom per decoded frame and account for it in gating
...
The 3-bit field at +24bit in DWORD 1 of the XMA context was named
subframe_skip_count but never actually used for skipping subframes.
Testing across multiple titles (PGR4, Halo Reach) shows the field
might control extra output buffer blocks that must be reserved per decoded
frame. Renaming the field to output_buffer_padding to reflect this
observed behavior and adding padding to the minimum output space threshold
Pdding blocks are reserved from the output budget after each frame is
fully consumed, preventing the decoder from overrunning the space
that the game expects to remain free.
This is still likely not entirely correct but reduces some of the
observed noise in current implementation.
2026-02-18 18:14:44 +09:00
Herman S.
83d776fa39
[Vulkan] Add tesselation support
...
Pretty much just following the D3D12 implementation
2026-02-18 00:02:21 +09:00
Herman S.
3e3aee1ef2
[App] Update title to show apu and remove vulkan incomplete warning
2026-02-17 23:50:40 +09:00
Herman S.
fade0cd889
[APU] Add ALSA apu on Linux
2026-02-17 23:46:16 +09:00
Herman S.
48c13be2d5
[Vulkan] Add gamma_render_target_as_srgb support
2026-02-17 23:35:59 +09:00
Herman S.
5d74d69aa8
[Vulkan] Alpha to coverage FSI implementation
2026-02-17 22:46:18 +09:00
Herman S.
792e61f6e2
[Vulkan] Alpha to coverage improvements
...
Refactor redundant code, fix 2x MSAA sample mapping and
only declare gl_FragCoord when alpha to coverage can run
2026-02-17 22:46:14 +09:00
Herman S.
cba315cf38
[Vulkan] Implement alpha to coverage (FBO)
...
Fixes the foliage rendering in places like Red Dead Redemption menu
2026-02-17 22:43:27 +09:00
Herman S.
75589de0a4
[Vulkan] Ensure descriptor sets always initialized for user_clip_planes
2026-02-17 22:18:21 +09:00
Herman S.
f13ee6ec38
[Vulkan] Add support for user clip planes
2026-02-17 22:18:02 +09:00
Herman S.
0b7abf0241
[Vulkan] Add resolution scaling mips support
2026-02-17 21:46:50 +09:00
Herman S.
cd7b47235d
[GPU] Properly handle scaled textures and weights
...
Fix d3d12 logic wrt scaling weights, add vulkan impelementation for using
scaled texture offsets and fix resolution-scaled texture detection
2026-02-17 21:44:18 +09:00
Herman S.
55f0333182
[Vulkan] Fix incorrect scaling EDRAM tile span parameters
...
These parameters are EDRAM tile coordinates in guest space and shouldn't
be scaled. Fixes visual issues in certain games when upscaling.
2026-02-17 21:43:05 +09:00
Herman S.
5897de3eaf
[Vulkan] Implement tiled_shared_memory for resolution scaling
...
Adds support for >3x resolution scaling to vulkan by implementing
sparse scaled resolve similar to the d3d12 implementation.
2026-02-17 21:31:25 +09:00
Herman S.
a092551735
[Vulkan/D3D12] Validate upload range bounds before vastcpy
...
The D3D12 backend's existing check only validated the last page of the
range. The Vulkan backend had no check at all and did not respect the
gpu_allow_invalid_upload_range cvar. Both now verify start and
end pages are mapped before copying, preventing access violations when
games reference unmapped guest physical memory during transitions.
2026-02-17 21:22:48 +09:00
Herman S.
3e1b0c715a
[Vulkan] Vertex buffer residency caching
...
Cache vertex buffer address/size per fetch constant, invalidate on fetch
constant write, reset at frame boundaries
2026-02-17 21:22:00 +09:00
Herman S.
2ad412a141
[Vulkan] Add support for vkPipelineCache
2026-02-17 21:21:56 +09:00
Herman S.
6057b0a7c7
[Vulkan] Implement ClearCache to clear upload_buffer_pool
2026-02-17 21:10:38 +09:00
Herman S.
4d15f0afea
[Vulkan] Implement same vastcpy upload_buffer optimization as d3d12
2026-02-17 21:10:13 +09:00
Herman S.
ef505fbe3d
[Vulkan] add no_discard_stencil_in_transfer_pipelines support
2026-02-17 17:54:01 +09:00
Herman S.
24f90c0efc
[Vulkan] Fix stencil bit transfer shaders not discarding pixels
...
"packed" was never set because source_depth_texture isn't created for
stencil bit output. This caused the discard logic to be skipped
resulting in stencil being incorrectly incremented on every transfer
draw until it saturated at 0xFF.
Fixes many remaining Vulkan rendering issues, e.g. Brothers, Orange Box,
Arkham Origins, many others.
2026-02-17 17:44:23 +09:00
Herman S.
878de4c352
[Vulkan] Fix sampler params
2026-02-17 17:44:08 +09:00
Herman S.
dc66d67a31
[Vulkan] Use VK_FORMAT_A2B10G10R10 for xenos::ColorRenderTargetFormat::k_2_10_10_10
...
Aligns with D3D12's DXGI_FORMAT_R10G10B10A2_UNORM
2026-02-17 17:43:55 +09:00
Herman S.
1a4b78e377
[Vulkan] Invalidate descriptor set bindings for incompatible sets
...
The code to do this was set up but it seems it was never implemented.
2026-02-17 17:43:45 +09:00
Herman S.
a716dc6fac
[Vulkan] Fix kComputeWrite access mask
...
Access mask was incorrectly set to VK_ACCESS_SHADER_READ_BIT
2026-02-17 17:41:21 +09:00
Herman S.
5be503da77
[Vulkan] Don't try to create geometry shader for rectangle list
2026-02-17 17:40:59 +09:00
Herman S.
ec5816a278
[Vulkan] Use vertex_fetch_bitmap instead of vertex_bindings()
...
Avoids using cached/stale vertex binding indices
2026-02-17 17:40:26 +09:00
Herman S.
16f842038b
[Build] Automatically detect VULKAN_SDK - ported from edge
2026-02-17 17:29:33 +09:00
Herman S.
434644c301
Merge commit 'f2fabfdf0' into canary_experimental
...
Sync changes from master up to before the recent GPU changes, those will be
merged later
2026-02-17 16:59:38 +09:00
Herman S.
20b226dbdf
[Vulkan] Update glslang to 16.0.0 and introduce compat layer
2026-02-17 15:34:23 +09:00
Herman S.
f722b6b85f
[Vulkan] Workaround for glslang 11.6.0+ change in accesschain semantics
2026-02-17 14:58:10 +09:00
Herman S.
8d76331df5
[3PP] Update vulkan related submodules
2026-02-17 14:42:01 +09:00
Herman S.
2d6b7c6ca1
[XMA] Fix dedicated thread stalls by blocking guest audio thread
...
Includes various other thread safety and timing related adjustments
2026-02-17 13:57:32 +09:00
Herman S.
6e5b2a95b0
[XMA] Fix multiple audio issues in new decoder
...
- Handle XMA2 frames with headers split across packet boundaries
(fixes audio cutoff in Capcom games)
- Output buffer minimum space check using actual frame size instead
of SDC-based formula, allowing tight-buffer contexts to decode
(fixes PGR4 engine sounds)
- Gate consume-only context clearing with tight-buffer heuristic to
prevent disrupting playback while still allowing stream completion
signaling (fixes Borderlands 2 dialog)
- Clamp read offset 0 to packet header size to prevent decode rejection
loop (fixes Dirt 2 crashes)
2026-02-17 13:56:24 +09:00