Commit Graph
71 Commits
Author SHA1 Message Date
nmzik 31fb3ec5af graphics: broaden storage image and view format compatibility 2026-07-27 10:12:41 +02:00
nmzik c3b2ae9733 graphics: support more depth-tiled storage image formats 2026-07-27 10:12:41 +02:00
nmzik 93774ee37c fix teardown 2026-07-27 02:27:37 +02:00
nmzik a20cf5d298 refactor renderer 2026-07-27 02:27:29 +02:00
nmzik a720b28b7f graphics: cleanup 2026-07-23 23:21:26 +02:00
nmzik 7638c25d76 renderer: replace generation retries with staged resource binding 2026-07-23 22:32:30 +02:00
nmzik 85876388cf gpuTiler: fix performance (dispatch a 2D 8×8 workgroup) KytyPS5-2026-07-22-8587638 2026-07-22 23:36:00 +02:00
nmzik f60007e923 refactor(gpu): use a single ordered PM4 scheduler 2026-07-22 23:15:03 +02:00
nmzik dbcb444c05 unify graphics and compute on one Vulkan queue KytyPS5-2026-07-22-dbcb444 2026-07-22 17:44:38 +02:00
nmzikandGitHub cf595beedf Install glslang for Windows CI
Install glslang with validator tools and optimizer support, add it to PATH, and verify it before configuring the Windows build.
KytyPS5-2026-07-21-cf595be
2026-07-22 00:32:54 +02:00
nmzik 8a4600c5e9 graphics: fix initialization 2026-07-21 07:37:52 +02:00
nmzik 0a5f78c727 graphics: refactoring #2 2026-07-21 07:37:52 +02:00
nmzik b51d4322cc Add GPU tilers/tests 2026-07-21 07:37:52 +02:00
nmzik 728b5b7d01 fix: render-target aliases were synchronously read back and copied through host memory twice 2026-07-21 07:37:52 +02:00
nmzik 42f634a751 fix fetch shader V_SAD_U32, video-out buffer overlap 2026-07-21 07:37:52 +02:00
nmzik aebf6b4913 graphics: synchronize host file writes and depth clipping
Map paired PS5 depth-clip state through Vulkan pipeline creation and preserve asymmetric hard failures. Prepare GPU-mapped guest ranges before kernel file reads so buffer, texture, and alias ownership remains coherent. Add focused regression coverage and update the current launch target.
2026-07-21 07:37:52 +02:00
nmzik 91690ac29e Implement texture-alias, mip-tail 2026-07-21 07:37:52 +02:00
nmzik 999f87576e graphics: add native PS5 MSAA and safe image allocation reuse 2026-07-21 07:37:52 +02:00
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
kirathenotebookandnmzik 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