ShadPS4 est un émulateur préliminaire de PS4 pour Windows et Linux écrit en C++ créé par Shadow (d’ou il tire son nom), auteur et contributeur de projets prestigieux comme PCSX, PCSX2, PCSP, JPCSP, Arcadeflex, RPCS3…
A noter qu’un module permettant l’utilisation du Netplay est disponible ici.

Les changements principaux en résumé:
Welcome back to another shadPS4 release . It is over one month since our previous release and guess what we are back again with a lot more fixes and a lot more playable games . Rapid work has been done in different areas of the emu, but i guess the glory goes to the huge amount of GPU fixes that improved so many games, some of them are really playable now . I won’t steal the fun of discovering these, so here is a brief list of changes..
Core
– Rewrote signal emulation again
– Fixed incorrect error return on attempting to create a file in a nonexistent folder in a writable mount
– Fix reserved region coalescing in POSIX address space code
– Support loading entitlements from RIF licenses
– Optimized logger by replacing hash map with table lookup and hide implementation details
– Support loading DLC as ZAR
– Reworked slot vector
– Fixed sceKernelReserveVirtualRange alignment and add ClearName
Libraries
– Use present scheduler for blank frame prepare
– np_auth : Change default GetAuthorizationCode returns to be valid
– np_trophy: Fixed displaying of trophy name
– http2 : Fixes and cleanups
– np_tss : Added TSS support
– camera : Use a system mapping for camera frame data
– np_utility: Initial impelmentation
– vdec2: support for h265/hevc
– ajm mp3: rely on ffmpeg parser for packet boundaries
– Kernel.Pthread: Remove RunThread stack logging
– np_web_api : Added pTo and pFrom to OrbisNpPeerAddressA support
– Very basic HLE Keyboard library
– scePthreadRwlockTimedrdlock / scePthreadRwlockTimedwrlock take a relative timeout in microseconds
– Implemented sceKernelGetProcessType
– Implemented sceKernelReleaseFlexibleMemory and POSIX mlock/munlock aliases
Video Core
– Improve tsharp robustness
– Use stb_image_write for screenshots
– Emulate scaled min/max blending
– Do not auto-select a software rendering device
– Decode sRGB for A2R10G10B10Srgb display buffers
– Handle QuadStrip as a triangle strip
– Add R8G8Srgb fallback to R8G8Unorm
– buffer_cache: Refactor buffer manager with sparse arenas
– Commit the emulated-LDS allocation taken from the stream buffer
– Only enable sampler comparison for comparison fetches
– Respect SPI_BARYC_CNTL front-face encoding
– Invalidate cached images after raw buffer writes
– Fixed locking behaviour for signals delivered to GPUComm thread
– buffer_cache: Rework memory tracker and implement batched uploads
– Moved on_submit callback before EndSession
– Fixed compute shader floating-point mode
– page_manager: Keep the fault probe within the faulting page
– Bind a default sampler for S# with undefined fields
– Fix sparse backing offsets, barriers, and memory budgeting
– texture_cache: Avoid associating color images with stencil
– Fixed mip layout and detiling of tiled textures
Shader recompiler
– Properly handle BaryCoord attributes on non-AMD GPUs
– Compute GDS offset dynamically instead of as compile-time constant
– Storage buffer related clean-up
– Neo: MIMG instructions
– Improve ssa rewrite pass correctness and readability
– Add support for virtual registers
– Add ssa destruction pass
– Decorate written storage buffers as Coherent
– Structurize later in the pipeline and cleanup
– Enhance shared memory barrier handling and add divergent loop detection
– Split resource tracking and flatten load from buffer for sharp source
– Reimplemented B64 SALU opcodes with U64 masks
– Implemented S_MEMTIME
– Implement S_BITSET0_B64 and S_BITSET1_B64
– Skip lowering for null buffer sharps
– Implemented some V_CMPX_U64 ops
– Lower wave64 constructs for wave32
– Refactor runtime info as two tagged unions
– resource_patching_pass: Accept ds_append/consume without users
– Implement support for base vertex/instance in indirect draws
– Recognize sharp sources broadcast via V_READFIRSTLANE_B32
– Properly check for immediate args in GetRealValue
– Refactored parser to enable vertex count calculation for position only copy shaders
– Implemented fragment sample coverage input
– Added pull-model barycentric support
– Test S_BITCMP_B64 against the full 64-bit src
– Fixed geometry invocation count comparison
– Lower ballot and MBCNT as a pair
– Define SampleId for BaryCoordSmoothSample on the KHR path
– Eliminate readlanes before the tessellation and ring passes
– Read user data from the flat buffer
– Fix gradient and offset for 1D images
– Lower PackedAncillary from attribute loads
– resource_patching: Patch thread id add instead of id itself
– Allow InverseBallot folding to fail on unhandled immediate arguments
– Fix OpImageTexelPointer coords for 1D
– V_CVT_PK_U8_F32 fixup
– V_ALIGNBIT_B32 / V_ALIGNBYTE_B32 fixup
ShadNet
– Online trophy support
Liste de compatibilité ici.
Télécharger ShadPS4 v0.19 (29.9 Mo)

