Commit Graph
1814 Commits
Author SHA1 Message Date
nmzik 4919fdb6e6 shader: validate the IR once, at SPIR-V emission KytyPS5-2026-10-30-4919fdb 2026-10-30 10:12:37 +01:00
nmzik 216bd28bf6 shader: drop quadratic scans from resource tracking 2026-10-30 10:12:37 +01:00
nmzik 0543c3d228 texture_cache: copy depth sampled through non-depth color formats 2026-10-30 10:12:37 +01:00
nmzik 346e9a3c69 shader: resolve getpc/add/addc long jumps through any scalar pair 2026-10-30 10:12:37 +01:00
nmzik 154b175daf graphics: accept float HDR video-out buffers 2026-10-30 10:12:37 +01:00
bc4333e313 ngs2: size 16-bit PCM blocks in Ngs2CalcWaveformBlock (The Binding of Isaac: Repentance) (#1968)
Ngs2CalcWaveformBlock returned NGS2_ERROR_UNKNOWN_WAVEFORM_FORMAT with a
zeroed block for 16-bit PCM (0x12). The Binding of Isaac: Repentance
(PPSA03311) ignores the error and queues the zeroed blocks, which the
sampler skips, so the game had no audio at all. PCM frames have a fixed
size, so the block now starts at sample_pos frames and spans num_samples
frames.

Fixes #667

Co-authored-by: gl-ungus <notasecondemail63@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
KytyPS5-2026-10-30-bc4333e
2026-10-30 05:39:49 +01:00
nmzik b0c8229bd4 docs: update the README status, Cyberpunk 2077 screenshot and notable forks KytyPS5-2026-10-30-b0c8229 2026-10-30 05:17:52 +01:00
nmzik bc1c779972 launcher: put the icon on a blue tile
Icon based on designs by Ant_IV (Discord), earlher (Discord) and cosmo (Discord, GitHub), closest reference first.
2026-10-30 05:03:22 +01:00
Artyom Zabroda 0c2546e850 shader: lower whole-wave OR scans to subgroup reductions 2026-10-30 04:31:24 +01:00
nmzik eb3cb47296 renderer: drop the per-draw scalar-read overlap guard 2026-10-30 04:19:05 +01:00
nmzikandArtyom Zabroda a5cfdcfd32 texture_cache: apply DCC fast clears of mipmapped color targets
Co-authored-by: Artyom Zabroda <artyomzabroda@gmail.com>
2026-10-30 04:05:24 +01:00
nmzik ae67e2db51 shader: hash only the program code and literal buffer 2026-10-30 03:29:45 +01:00
nmzik 1703836d06 shader: type packed integer vertex inputs by their component type 2026-10-30 02:59:36 +01:00
nmzikandPhr3d13 b65dd18224 ngs2: let CLEAR reopen a closed waveform block list
Co-authored-by: Phr3d13 <phr3d13@gmail.com>
KytyPS5-2026-10-30-b65dd18
2026-10-30 01:57:41 +01:00
nmzikandPhr3d13 2f6dccb10b ngs2: mix ports without matrix levels with the default matrix
Co-authored-by: Phr3d13 <phr3d13@gmail.com>
2026-10-30 01:57:41 +01:00
nmzikandPhr3d13 08a7d7fbed ngs2: render the reverb voice dry signal
Co-authored-by: Phr3d13 <phr3d13@gmail.com>
2026-10-30 01:57:41 +01:00
nmzikandPhr3d13 2aa0d58ffb ngs2: report voice port routing and volume
Co-authored-by: Phr3d13 <phr3d13@gmail.com>
2026-10-30 01:57:41 +01:00
nmzikandPhr3d13 9bf311c6c7 ngs2: report voice setup channels from the setup query
Co-authored-by: Phr3d13 <phr3d13@gmail.com>
2026-10-30 01:57:41 +01:00
nmzikandPhr3d13 e66a7f52b5 ngs2: apply mastering voice full band and LFE gain
Co-authored-by: Phr3d13 <phr3d13@gmail.com>
2026-10-30 01:57:41 +01:00
nmzikandPhr3d13 67f8276751 ngs2: patch to a rack handle connects to its voice 0
Co-authored-by: Phr3d13 <phr3d13@gmail.com>
2026-10-30 01:57:41 +01:00
KairosMakkiandAjakfial 3ad21e35cc Rename near identifier to avoid Windows macro clash (#1983)
Co-authored-by: Ajakfial <ajakafial@tutamail.com>
KytyPS5-2026-10-29-3ad21e3
2026-10-30 00:41:22 +01:00
nmzik 5eab0ec738 shader: add BVH8 intersections and instance transforms KytyPS5-2026-10-29-5eab0ec 2026-10-29 18:37:29 +01:00
nmzik bfd4c34b88 shader: add BVH stack operations 2026-10-29 18:37:29 +01:00
nmzik 6ff6e7551d graphics: use budget-aware preferred-device image allocation 2026-10-29 18:37:29 +01:00
nmzik 25f3ba4eae tests: cover low-alpha packed tiler conversion in both directions 2026-10-29 18:37:29 +01:00
Chai T 4592e4c178 kernel: destroy untouched static rwlocks without allocation 2026-10-29 18:32:14 +01:00
Chai T 97bef2992f appcontent: reject duplicate mounts without transferring ownership 2026-10-29 18:32:14 +01:00
nmzikandChai T 15452a5fee np: separate PSN emulation from host networking
Co-authored-by: Chai T <chaitukca@gmail.com>
2026-10-29 08:30:55 +01:00
nmzikandJoshua Jayasingh 651ef73a03 graphics: add experimental Pro mode and linear PSSR
Co-authored-by: Joshua Jayasingh <joshuajayasingh08@gmail.com>
2026-10-29 07:55:50 +01:00
nmzik 5e837a9bea shader: share formatted indirect buffer load emission KytyPS5-2026-10-29-5e837a9 2026-10-29 05:52:04 +01:00
nmzikandFrenzied a0b99a8c21 ngs2: accept larger custom voice state buffers
Co-authored-by: Frenzied <frenziedsaint@gmail.com>
2026-10-29 05:52:04 +01:00
nmzikandFrenzied 8cfe1c4d34 ngs2: apply custom channel matrices before mastering output
Co-authored-by: Frenzied <frenziedsaint@gmail.com>
2026-10-29 05:52:04 +01:00
Çağatay Güçlü f71da54b9b shader: support fractional-even tessellation spacing 2026-10-29 05:52:04 +01:00
Çağatay Güçlü 63207739bc shader: initialize local vertex count from active lanes 2026-10-29 05:52:04 +01:00
Çağatay Güçlü 143f640706 shader: preserve counterclockwise tessellation output 2026-10-29 05:52:04 +01:00
nmzik 54b937c85f shader: support high products of 24-bit integers 2026-10-28 22:49:21 +01:00
nmzik 22610cb93e shader: support unsigned 16-bit multiply-add 2026-10-28 22:41:29 +01:00
nmzik 0386f33bf3 shader: support four 16-bit integer ternary operations 2026-10-28 22:37:24 +01:00
nmzik 138d5b86c4 shader: support S_QUADMASK_B32 2026-10-28 22:31:16 +01:00
nmzik 963aaeb3b6 gpu: preserve low-alpha 2/10/10/10 render-target storage 2026-10-28 22:29:50 +01:00
Çağatay Güçlü 77458260f1 shader: reflect masked hull control-point addresses 2026-10-28 22:19:09 +01:00
nmzik 41de2fd64e shader: support five VOP3 float conversion forms 2026-10-28 22:19:02 +01:00
Çağatay Güçlü 128c938514 shader: support quad tessellation domains and factor routing 2026-10-28 22:09:39 +01:00
Chai T a8e3c29b2e shader: implement V_ASHRREV_I64 (VOP3 0x301) 2026-10-28 21:51:28 +01:00
Devran Cosmo Uenal c528324d27 audio: let the AJM Opus decoder write part of a packet (#1914)
ajm: buffer and resample Opus output
KytyPS5-2026-10-28-c528324
2026-10-28 21:31:16 +01:00
Mr. Big BritchesandClaude Opus 5.5 c67352d5d6 ci: build and run the NGS2 sampler tests (#1957)
ngs2_sampler_tests is registered with ctest but no job built it or listed
it in the test filter, so the NGS2 unit tests never ran in CI. Each
platform now builds the target and includes ngs2_sampler in its ctest
filter.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
KytyPS5-2026-10-28-c67352d
2026-10-28 19:58:06 +01:00
Nawid3333 6c01401862 graphics: accept video-out buffers with 128-byte independent DCC blocks (Gran Turismo 7) (#1945)
graphics: accept video-out buffers with 128-byte independent DCC blocks
KytyPS5-2026-10-28-6c01401
2026-10-28 04:44:09 +01:00
nmzik a833e1b735 graphics: fix vertex and instance IDs for unpatched indirect draws KytyPS5-2026-10-28-a833e1b 2026-10-28 04:33:03 +01:00
nmzik 1be1c6c4f9 graphics: revert a358b847c command-processor display waits KytyPS5-2026-10-27-1be1c6c 2026-10-27 23:15:01 +01:00
M4andnmzik 69fdb03dc2 Launcher display options (#1938)
* launcher: add minimize and maximize buttons to the main window

The main window is a QDialog, which on Windows only gets a close button.

* graphics: keep the game's aspect ratio when presenting to the window

The guest frame was blitted across the whole swapchain image, so a window
or fullscreen display whose shape differs from the frame stretched the
picture. Fit the frame inside the window instead and clear the remaining
bars to black. The video-out overlay layer is drawn into the same
rectangle so it stays aligned with the frame underneath.

* launcher: accept custom screen resolutions such as 21:9

The resolution was a fixed enum of four 16:9 sizes. Make the combo box
editable so any WIDTHxHEIGHT between 320 and 16384 can be entered, and
add ultrawide presets (2560x1080, 3440x1440, 3840x1600, 5120x2160).

Settings saved by older launchers stored the enum key ("R1920X1080");
NormalizeResolution still accepts that form, so they load unchanged.

* launcher: add a Stretch to window option

Presentation now keeps the game's aspect ratio with black bars. Add
--stretch to fill the whole window as before, exposed in the launcher as
a "Stretch to window" checkbox under General, off by default.

* launcher: make the settings dialog resizable and its tabs scrollable

The dialog had no maximize button and pinned its minimum width to its
initial 900 px, and without scroll areas it could not be made shorter
than its content. Add a maximize button (not minimize, since the dialog
is modal), drop the width pin, and wrap each tab page in a frameless
scroll area.

With the scroll areas the layout's minimum size no longer forces the
dialog open, so size it explicitly: grow it to fit the largest tab,
capped at the available screen, when there is no saved geometry and
whenever the global settings add the game folders panel.

* launcher: simplify display options and preserve saved settings

---------

Co-authored-by: nmzik <Nmzik@mail.ru>
KytyPS5-2026-10-27-69fdb03
2026-10-27 21:59:56 +01:00