Yunus Shaikh 5686705ddc test(agc): check the image table snapshot reuse against every write path
agc_shader_table_snapshot_reuse (agc_shader_memory_tests --table-snapshot-reuse) captures a
4,096-record image table in write-watched guest arena memory and checks each capture's snapshot and
captured words against the table:
- an unchanged table is reused without reading a word, and its snapshot equals the first one;
- a CPU store, a driver store (GuestMemory::Write, as a CP write or a DMA copy or fill makes it), a
  GPU result stored by the driver (StoreOwnBytes) and a pending GPU write with a known value make it
  read again, and the new T# is in the snapshot;
- a MarkWritten stamp (a GPU write into an import), a pending write the capture syncs on and a guest
  mapping change make it compared again;
- after the reuses, the map selects each key's record;
- a table outside the write watch is compared and reused, and a store into it is seen;
- the memo keeps at most 16 columns.
Without write watching, the captures of an unchanged table expect a compared reuse instead.
2026-10-15 08:10:51 +00:00
2026-08-03 20:02:52 +03:00

About

Tool for automatic executables porting to Linux and Windows.

Web converter - files stay on your device.

anyps5_collage1

Includes a relinker that converts executable to the target system's native format and implementations of system prx libraries suitable for dynamic linking. No emulation or separate runtime process.

Discord, Usage, Build instructions, Architecture, Technical debt of the project, code style conventions, contributing

Status

libraries shaders

progress map

Progress history

* System libraries: percentage of the functions known to the project so far (declared in core/libs/prx), not of every PS5 system function. The total grows as more functions are declared.

Unsupported or unexpected states strictly throw std::runtime_error. what() is printed to stderr and the process terminates.

The shader recompiler successfully produces SPIR-V (validated via Spirv-Tools when built with ANYPS5_ENABLE_SPIRV_TOOLS).

Compatibility

Per-game progress (stage reached, open blockers, libraries and GPU coverage) is tracked on the blocker map, a community project built from public GitHub data (source). Test reports go in the Game bring-up discussions, one thread per title.

Input mapping

SDL-mapped game controllers are supported, including analog sticks and triggers. Keyboard and mouse controls can be configured with an anyps5-input.ini file. See input mapping for the supported devices and configuration format.

Disclaimer

This project is intended for interoperability, research, preservation, and compatibility purposes. It does not include, distribute, or require copyrighted software, firmware, cryptographic keys, or proprietary libraries. Users are responsible for ensuring that any binaries used with this project are obtained and used in accordance with applicable laws and their respective license terms.

License

This project is licensed under the GNU General Public License version 2 only.

Languages
C++ 91.6%
Python 5.6%
CMake 2.5%
JavaScript 0.2%