bomabomabomaboma
73945c06d7
[GPU] Simplify ZPD cvars
2026-06-02 20:09:50 +02:00
bomabomabomaboma
fbd620c22b
[GPU] Implement ZPD occlusion queries
...
Implements EVENT_WRITE_ZPD handling across shared CommandProcessor, D3D12, and Vulkan backends.
This adds a shared report lifecycle. Reports can span submissions/render passes, split into multiple segments, and asynchronously retire. Reports can also survive same-slot reuse, which is critical for titles that aggressively recycle against a small pool.
RTV/FBO use their respective host occlusion queries, whereas ROV/FSI use counter buffers instead, with shader helpers that are called from the translated PS, accumulating surviving MSAA sample coverage into active slots. Regardless of approach, results are copied to small, dedicated readbacks and fed through shared retirement.
Fast mode writes speculative values and patches in resolved results later. Strict mode waits for real results with a small retire backstop so it doesn't spin forever when a report gets weird. Fake mode's fundamentals are unchanged, it just now uses XenosZPDReport memory helpers like all the modes do.
Also adds optional sample count saturation for instances when attenuation isn't a one-for-one with real hardware, an optional alternate fast behavior that preserves cached zeroes (that can improve flare-heavy titles but might regress occlusion culling), and normalization for upscaling.
QueryBatch is still unsupported other than a fake path that's enabled when a range is set via cvar.
2026-05-30 19:26:25 +02:00
Gliniak
29311ddcdd
[APU] Replaced min-max with clamp for queued frames
2026-05-26 22:58:46 +02:00
Gliniak
c5113acb9c
[CPU] XexModule: Removed unused class member
2026-05-26 22:56:37 +02:00
The-Little-Wolf
7a5cb96c2e
[XAM/INFO] - IPTV Initialization Setting
...
- Allow for initializing IPTV
- Stub XamGetDvrStorage
- Stub XamSetDvrStorage
2026-05-26 19:36:34 +02:00
Gliniak
7e98ae6de3
[XMA] Invalidate output buffer if there is nothing to process
...
- Fixes 565507E4 hardlock on boot
2026-05-26 09:27:02 +02:00
oreyg
505697f980
[APU] XmaContextNew: refine output buffer invalidation
2026-05-25 11:54:18 +02:00
Gliniak
02a0d697cb
[Base] Added option to recursively search for file
2026-05-24 22:35:40 +02:00
Adrian
c48e0f29e5
[XAM] Implemented XUserAwardGamerPicture
2026-05-24 20:18:46 +02:00
The-Little-Wolf
a7e13e195b
[Xam/Content] - Implement XamContentResolveInternal
...
- Implement XamContentResolveInternal
2026-05-23 20:21:55 +02:00
oreyg
09dbe2cd36
[APU] XmaContextNew: do not invalidate output_buffer_valid prematurely
2026-05-21 20:54:10 +02:00
Adrian
b2aa8b200a
[BASE] Use FlushAllSinks instead of inline loop
2026-05-21 07:43:48 +02:00
Gliniak
a11908fa76
[XAM] Enable storing IPTV name.
...
Still needs to be exposed in UI (optional)
2026-05-19 23:31:53 +02:00
Gliniak
072ef7eff7
[XAM] Implemented XamGetOnlineLanguageAndCountry
2026-05-19 22:37:14 +02:00
Gliniak
9ce91e55fe
[UI] Listed extended languages
2026-05-19 22:03:54 +02:00
Gliniak
99ea6da18a
[XConfig] Implementation of XConfig
2026-05-19 07:50:16 +02:00
The-Little-Wolf
f88bfbe41e
[Xam/Content] - Implement XamContentCreateEnumeratorInternal
...
- Implement XamContentCreateEnumeratorInternal
2026-05-18 20:30:38 +02:00
Gliniak
ef67d1ca3f
[SMC] Removed std::bind usage in favor of lambda
2026-05-18 19:52:12 +02:00
Gliniak
482629a3b1
[XAM] Fixed issue with different param count in XamFormatDateString and XamFormatTimeString
...
In older dashes filetime is in r4 then output buffer in r5
but on newer it's in r3 and r4
2026-05-17 17:34:39 +02:00
Adrian
a261b83def
[APP] Flush log & save config on quick exit
2026-05-17 12:05:20 +02:00
Gliniak
4c396fe611
[XAM] Implemented XamGetLanguageLocaleFallbackString and XamGetLanguageTypeface
...
- Added stub XamGetLanguageTypefacePatch
- Moved locale related calls to xam_locale from xam_info
2026-05-17 10:49:08 +02:00
The-Little-Wolf
dc4db67f9c
[Kernel] - Change OddObj to X_DISPATCH_HEADER
...
- Change OddObj to X_DISPATCH_HEADER
- Add unknown X_KWAIT_REASON flag
- Fixed InitializeGuestObject mistake
- Replaces unknowns in kthread using nukernel as reference
2026-05-16 23:57:19 +02:00
oreyg
c2674b19d2
[Vulkan] Drop vertex buffer residency cache, hoist global lock like D3D12
2026-05-15 14:58:51 +02:00
oreyg
b15fcc73e6
[Vulkan] Route guest oDepth through gl_FragDepth in FBO and into FSI depth test
2026-05-15 10:25:54 +02:00
Adrian
6181160ed4
[XAM] Fixed XEX swap failing to remove prefix
...
Fixed Splinter Cell: Double Agent xex swapping from singleplayer to multiplayer.
2026-05-15 09:42:14 +02:00
oreyg
562aa0dd91
[Vulkan] Only declare the clip-distance or cull-distance array that is written
2026-05-15 09:00:26 +02:00
oreyg
02a2591295
[Vulkan] Port ac6_ground_fix vertex-fetch nudge to SPIR-V
2026-05-15 08:31:10 +02:00
Adrian
cebbdb6cac
[Kernel] Implemented XeCryptHmacShaInit, XeCryptHmacShaUpdate and XeCryptHmacShaFinal
2026-05-14 23:04:47 +02:00
Gliniak
fdbaaaba21
[Kernel] Replace SHIM version of kernel strings with exports
...
- Split into header file for usage in other places
- Removed most of define SHIM Utils
2026-05-14 22:11:40 +02:00
oreyg
b575c68418
[XMA] Enhances the existing XmaContextNew implementation with one derived from the AC6_recomp RexGlue SDK.
...
Key fixes versus the previous implementation:
Packet walk across input-buffer boundaries: GetNextPacket and
GetNextPacketReadOffset now resolve the actual target packet inside
the next input buffer, instead of clamping to its first packet.
Resolves silent 'patches' in cinematics observed previously in AC6.
Co-authored-by: sal063 <ssalh0456@gmail.com >
2026-05-14 21:04:18 +02:00
Adrian
d1e587617a
[UI] Fallback to default button for XamShowMessageBoxUI
2026-05-14 07:20:14 +02:00
Gliniak
331ddf79bf
[Kernel] KeGetImagePageTableEntry: Added bit 0 set
...
According to dashboards 14xxx and higher it is required that
return of this call will have that bit set.
2026-05-13 20:07:46 +02:00
Gliniak
cdb88d0b36
[Kernel] Remove IsQueued check for DPC
2026-05-13 20:02:36 +02:00
Guilhem Massol
f3086cfced
[Compilation] Fix Clang 23
2026-05-12 22:45:56 +02:00
Adrian
f4f821215e
[XGI] Stubbed XUserAwardAvatarAssets
2026-05-12 13:07:15 +02:00
Adrian
bfdaa41827
[XGI] Cleanup XUserWriteAchievements
2026-05-11 21:03:40 +02:00
Adrian
ad57bfa7dd
[APP] Fixed zar creation file naming bug
2026-05-11 20:05:47 +02:00
Gliniak
3e1bff213d
[Cmake] Fixed whoopsie. Disabled profiler from default
2026-05-09 11:31:12 +02:00
Adrian
2072d9bdf1
[APP] Limit logging SPA properties
...
Fixed Cracdown logging large tabulate table causing garbage text in the log.
2026-05-08 20:02:20 +02:00
Gliniak
74f34818e7
[Lint] Added InsertBraces to linter to unify codebase to one standard
2026-05-08 18:54:50 +02:00
Adrian
2c68a2fc4b
[XAM] Fixed XamUserReadProfileSettingsEx setting buffer_size_ptr
...
Fixes Kinect Dashboard from crashing when selecting Switch Profiles.
2026-05-08 15:02:53 +02:00
Gliniak
80f2b535e9
[Kernel] Added KeSaveFloatingPointState and KeRestoreFloatingPointState from nukernel
2026-05-05 10:45:31 +02:00
Gliniak
ec18a89da4
[APP] Allow profiler to be enabled via cmake option
...
- Hide profiler buttons if profiler is disabled
- From default it is disabled
2026-05-04 19:53:37 +02:00
Gliniak
9467c77f08
[GPU] Fixed crash related to disassemble_pm4 option.
...
In case of auto draw there is a chance it will crash due to uninitialized struct
2026-05-02 18:17:01 +02:00
bomabomabomaboma
08c0cf5ad0
[GPU] Improved fake ZPD for QueryBatch titles
2026-05-02 18:00:21 +02:00
Adrian
6e1bd0a9a6
[XBDM] Fixed DmGetConsoleType using value from cvar
2026-05-02 17:33:53 +02:00
Michael Oliver
6de80dffe2
[Emulator] Load title plugins before main thread execution begins
...
This keeps the title thread suspended until plugins are loaded, allowing early init and hook setup before guest code starts running.
2026-04-29 20:20:08 +02:00
Radosław Gliński
6dca89834e
[VFS] Removed error path that seems to be invalid
...
Seems like console do not care about returning directory with non-directory flag
2026-04-28 13:33:29 +02:00
Gliniak
60f77c3622
[VFS] Skip treating NT Device paths root as non-directory.
...
This fixes cache initialization failure
2026-04-27 20:19:10 +02:00
Gliniak
cff0773e00
[HID] Portal: Simplified device searching procedure
2026-04-26 13:26:30 +02:00