1553 Commits

Author SHA1 Message Date
SOULX3X bd9086e484 Auto Build Workflow (#31)
* Add GitHub Actions workflow for building KytyPS5

---------

Co-authored-by: nmzik <Nmzik@mail.ru>
KytyPS5-2026-07-19-bd9086e
2026-07-19 01:55:58 +02:00
nmzik 39c379ff21 remove Vulkan SDK usage 2026-07-19 01:30:40 +02:00
nmzik cbc11d2eaf Refactor graphics #1 2026-07-19 00:54:31 +02:00
nmzik 7905f2d12f graphics: migrate Vulkan backend to Vulkan-Hpp 2026-07-18 12:33:21 +02:00
nmzik 587cb238f0 videoout minor fix 2026-07-18 11:00:36 +02:00
kirathenotebook e05cd30268 Fix AMD RDNA startup crash and rendering corruption
# What changed
- Drop the unused VK_FORMAT_D24_UNORM_S8_UINT device check that
  rejected some AMD GPUs.
- Only treat VALIDATION-type Vulkan messages as fatal, not
  GENERAL-type ones.
- Restrict compute queues to the graphics queue's family.
- Force per-invocation lane mask emulation for 64-wide waves, since
  RDNA's lane layout differs from GCN despite matching wave size.

# Why
On AMD Radeon GPUs the emulator failed to find a suitable device,
crashed during queue setup, or rendered corrupted output, while
NVIDIA was unaffected.

Each change removes an assumption in device selection, debug
message handling, queue selection, or shader lane-mask emulation
that happened to hold for NVIDIA but not for AMD.

# Validation
- Built on Windows with clang-cl. Note: the latest Vulkan SDK
  (1.4.350) fails to build against the pinned Vulkan-Headers
  submodule; used 1.4.328.1 instead, which matches it.
- Tested on a Radeon RX 9070 XT + Ryzen 7 9800X3D.
- Alex Kidd in Miracle World DX and Dreaming Sarah now boot and
  render correctly (previously failed to start or rendered
  corrupted).
- Not yet verified for regressions on NVIDIA hardware; testing from
  someone with an NVIDIA GPU would help confirm no regression there.

# AI assistance disclosure
AI assistance was used to diagnose the root cause of each issue and
prepare the initial patch. The contributor reviewed the complete
diff and tested it on the affected AMD hardware before opening this
pull request.
2026-07-18 10:46:16 +03:00
nmzik 601c82a031 format source files 2026-07-18 09:01:52 +02:00
nmzik 6c1bd853ac fix depth overlap 2026-07-18 08:51:38 +02:00
nmzik af2f2d54b6 add videoout DCC 2026-07-18 08:37:38 +02:00
nmzik 387f9e3cde add pre-commit format hook 2026-07-18 06:35:04 +02:00
nmzik da6cee924b Revert "Implement vertex swizzle"
This reverts commit f4b52cea2b.
2026-07-18 06:21:00 +02:00
nmzik 62a92abc66 refactor cache/split responsibilities 2026-07-18 06:16:14 +02:00
nmzik 78431dba4a Handle stencil storage/depth transitions 2026-07-18 04:56:20 +02:00
nmzik df385a7aad broad depth guards 2026-07-18 03:59:52 +02:00
nmzik aa99796d8a Fix Standard64KB 16-bit texture swizzle 2026-07-18 03:43:25 +02:00
nmzik f4b52cea2b Implement vertex swizzle 2026-07-18 03:36:09 +02:00
nmzik 18479daabd Implement sparse multi-image page ownership 2026-07-18 03:31:36 +02:00
nmzik b434e3b260 fix regression 2026-07-18 01:53:56 +02:00
nmzik 94f85bc98a centralize swizzles 2026-07-18 01:41:44 +02:00
nmzik 8a6afc428d support storage descriptors and tracked image aliases 2026-07-17 23:06:08 +02:00
nmzik 2890d5f7bb improve image cache ownership and compatible views 2026-07-17 23:04:51 +02:00
nmzik f136c46519 preserve DB_DEPTH_SIZE_XY and add tiled readback 2026-07-17 23:04:51 +02:00
nmzik 42d42e3258 pthread: fix lazy pthread objects 2026-07-17 23:04:51 +02:00
nmzik c8faab36a1 libUlt abis 2026-07-17 23:04:51 +02:00
nmzik c21a4100c8 support 16-bit float video-out 2026-07-17 19:36:06 +02:00
nmzik 0621d9e9d0 kernel: preserve placeholders during fixed memory replacement 2026-07-17 19:00:21 +02:00
nmzik 866d761216 Support tiled storage readback 2026-07-17 19:00:06 +02:00
nmzik 043545d4c4 SigninDialog ABI 2026-07-17 18:26:28 +02:00
nmzik 5ed447818f Fix GPU memory protection and depth target invalidation 2026-07-17 18:26:10 +02:00
nmzik 75d20486ba Vulkan driver query caching 2026-07-17 18:09:20 +02:00
nmzik c7b00d666f Split render header (new namespace PM4 call sites) 2026-07-17 14:20:16 +02:00
nmzik f9af3d15ff Split renderState header 2026-07-17 14:04:59 +02:00
nmzik 5aafe5159b remove redundant cache and tiler validation 2026-07-17 13:51:59 +02:00
nmzik d7b2d1c2f0 recompiler: handle non valid descriptors 2026-07-17 13:27:29 +02:00
nmzik c6ca491cf7 Synchronize GPU-owned VideoOut with formatted buffers 2026-07-17 12:58:31 +02:00
nmzik a290a06ea5 Support Standard64KB color render targets 2026-07-17 12:57:40 +02:00
nmzik 1416131a0a Support reciprocal ABGR sampled views 2026-07-17 12:55:33 +02:00
nmzik 0abe03af94 Support reverse RGBA16F render targets 2026-07-17 12:54:28 +02:00
nmzik dd58deae15 D16S8 support 2026-07-17 08:39:57 +02:00
nmzik 13499502c9 Support raw buffer writes to sampled textures 2026-07-17 07:26:42 +02:00
nmzik 3726b0ae22 libAudio2: fix regression 2026-07-17 06:59:40 +02:00
nmzik e903c93848 remove readback hacks, allows to read/write guest memory directly 2026-07-17 05:16:00 +02:00
nmzik 013e9a4485 Support single-channel float storage writes
Support sampled views of storage texture arrays

Support R8 UNORM storage writes
2026-07-17 03:31:43 +02:00
nmzik feb678c23e Serialize command-processor WRITE_DATA guest writes 2026-07-17 02:14:00 +02:00
nmzik bf1ea80bd9 fix eop/flipping 2026-07-17 01:50:43 +02:00
nmzik a96b5111e6 Refactor buffer image write classification 2026-07-16 22:42:06 +02:00
nmzik 41114be8da Fix layered image subresource synchronization 2026-07-16 22:26:40 +02:00
nmzik ae86249765 Support layered PS5 image alias transitions 2026-07-16 21:56:09 +02:00
nmzik f743a48c03 Preserve storage images across render target transitions 2026-07-16 19:58:11 +02:00
nmzik 9bed3bddd6 Support packed RGB10 sampled render-target views 2026-07-16 19:58:11 +02:00