Commit Graph
1797 Commits
Author SHA1 Message Date
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
nmzik 2efd31443f audio: support 512 object ports per AudioOut2 context KytyPS5-2026-10-27-2efd314 2026-10-27 21:41:30 +01:00
nmzikandMajed-allababedi 9eef2e1434 graphics: reuse range-set nodes when merging additions
Co-authored-by: Majed-allababedi <60163390+Majed-allababedi@users.noreply.github.com>
2026-10-27 21:41:30 +01:00
nmzik 39faa62ebd controller: merge stick and sensor events into the newest unread pad sample 2026-10-27 21:15:03 +01:00
nmzik 7ff8aff5e6 audio: drain the AudioOut2 queue at an exact 48 kHz grain rate 2026-10-27 21:15:03 +01:00
nmzik 64a554dea7 audio: a pushed AudioOut2 grain consumes its ports' PCM 2026-10-27 21:15:03 +01:00
nmzik 4b0282e343 savedata: sort directory searches by the requested key 2026-10-27 21:15:03 +01:00
nmzik ffc81377b2 memory: refactor (#1941)
* memory: refactor

* tests: avoid Windows small macro collision

* memory: retain allocation nodes on partial release
KytyPS5-2026-10-27-ffc8137
2026-10-27 21:14:11 +01:00
bigjjmoneymanandnmzik 0685bffb2f texture cache: convert D16<->D24/D32 depth copies instead of crashing (#1873)
gpu: convert guest D16 depth between native D16 and stenciled four-byte host depth

Co-authored-by: nmzik <Nmzik@mail.ru>
KytyPS5-2026-10-27-0685bff
2026-10-27 10:41:22 +01:00
nmzik a5b3673a39 graphics: draw patched-offset indirect draws from GPU-read records KytyPS5-2026-10-27-a5b3673 2026-10-27 10:13:15 +01:00
nmzik 09753bf8ff memory: change defaults 2026-10-27 10:13:15 +01:00
nmzik 9d8c458535 gpu: keep reused smaller image tables resident and drop them a frame after their last draw 2026-10-27 10:13:15 +01:00
358333125d libFont: ship Noto Sans as the fallback font (#1917)
* cmake: download Noto Sans at configure time

Fetch the hinted Regular, Bold, Italic and Bold Italic of Noto Sans
v2.015 and their licence from the Noto project's font distribution
(notofonts.github.io) with FetchContent, like the other third-party
dependencies. The commit and each file's SHA-256 are pinned in
variables.

Only these four styles are needed, so they are fetched individually
instead of through the release archive (117 MB, every style and build).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* cmake: ship Noto Sans beside the emulator

Copy the downloaded fonts to assets/fonts next to kyty_emulator on every
build, like the touch cursors and the trophy sound, and install them
there with the SIL Open Font License under licenses/noto-sans.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* libFont: fall back to the shipped Noto Sans instead of Tracy's Roboto

Fonts stb_truetype cannot read, including every system font set opened
with sceFontOpenFontSet, used Roboto from Tracy's source folder, found
relative to the source tree or the working directory. Installed builds
have neither, so their system fonts drew every character as '?'.

Load Noto Sans Regular, Bold, Italic or Bold Italic from assets/fonts
next to the emulator instead, and log when a file is missing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* libFont: fetch Noto Sans with file(DOWNLOAD) and drop the style substitution

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: nmzik <Nmzik@mail.ru>
KytyPS5-2026-10-27-3583331
2026-10-27 07:51:24 +01:00
nmzik fd6b28c4b2 build: target x86-64-v3 without floating-point contraction KytyPS5-2026-10-27-fd6b28c 2026-10-27 07:04:38 +01:00
Senaxx 6cee2dc0bd shader: inline the hot IR operand accessors 2026-10-27 07:04:38 +01:00
Senaxx a526a8b9c9 shader: hand IR uses over at once on replacement and skip use lists at program teardown 2026-10-27 07:04:38 +01:00
Senaxx 1ec69f8e7d gpu: make cull mode and front face dynamic state 2026-10-27 07:04:38 +01:00
nmzik 2463e3aaf0 gpu: write end-of-pipe labels beside GPU-written bytes to the backing store 2026-10-27 07:04:38 +01:00