8320 Commits
Author SHA1 Message Date
Rix c313b116e6 Merge pull request #2294 from grumpycoders/chores-i18n
[Chores] Regen i18n
2026-10-11 13:54:30 -07:00
rixnobis d9e26a6c00 [Chores] Regen i18n 2026-10-11 19:39:19 +00:00
Rix e9b9503ae8 Merge pull request #2279 from rixnobis/win-piped-stdout
main: keep a redirected stdout on Windows instead of opening a console
2026-10-11 12:37:20 -07:00
Rix 26669d1753 Merge pull request #2292 from abelbriggs1/psyq/gp_offset_drop
tools/psyq-obj-parser: Fix `GPREL16` handling on conversion to ELF
2026-10-11 11:18:02 -07:00
Abel Briggs 919c597633 tools/psyq-obj-parser: Fix GPREL16 behavior
`GPREL16` should behave identically to `GPREL16_LE`; it was
previously blanking the relocation out entirely.

This likely wasn't caught because according to testing, most
versions of `aspsx` (2.67 and earlier) produce `GPREL16_LE`
rather than `GPREL16`. It was only in 2.77 that `aspsx` switched
to `GPREL16` for some reloc exprs.
2026-10-11 10:01:37 -07:00
Rix 9272f4405b Merge pull request #2286 from rixnobis/rewind-reentry
rewind: take the snapshot off the ring before restoring it
2026-10-11 01:14:59 -07:00
Rix 5c6b8660c5 Merge pull request #2288 from rixnobis/revert-pegtl-pin
Revert "PEGTL: pin a fork carrying upstream's libc++ char_traits fix"
2026-10-10 22:20:38 -07:00
Rix 870e2a51fa Merge pull request #2284 from grumpycoders/chores-i18n
[Chores] Regen i18n
2026-10-10 21:11:27 -07:00
Rix d1f8aac0ee Merge pull request #2280 from rixnobis/gui-bigobj-all
vsprojects: /bigobj everywhere through common.props
2026-10-10 21:11:12 -07:00
Rix 657ecf4eef Revert "PEGTL: pin a fork carrying upstream's libc++ char_traits fix"
The AUR pcsx-redux-git package fetches PEGTL from taocpp/PEGTL and points
the submodule at that clone, so the fork-only pinned commit cannot be
fetched and the package stops building. Back to the previous pin until
that is settled.
2026-10-10 20:23:42 -07:00
Rix b1d7f41449 vsprojects: /bigobj everywhere through common.props
Replaces the per-file /bigobj on gui.cc and gnu-c++-demangler.cc, which only covered Debug and Release.
2026-10-10 19:36:55 -07:00
Rix 8f954c3397 vsprojects: /bigobj for gui.cc in every configuration
ReleaseWithTracy and ReleaseWithClangCL build the same file and were left out. /utf-8 /validate-charset already come from common.props.
2026-10-10 19:36:38 -07:00
rixnobis 243ff94275 [Chores] Regen i18n 2026-10-11 01:54:58 +00:00
Rix c45db3b537 Merge pull request #2267 from rixnobis/pegtl-libcxx
PEGTL: pin a fork carrying the libc++ char_traits fix
2026-10-10 18:01:39 -07:00
Rix 357e27debd Merge pull request #2266 from rixnobis/modconv-loops
modconv: exact MOD loops, and encode against the decoder's history
2026-10-10 17:38:24 -07:00
Rix 9cb0647199 rewind: take the snapshot off the ring before restoring it
restore() signals SaveStateLoaded synchronously. When the rewind runs
from the main loop, a listener calling rewindState() steps back right
away, while rewindStateNow() still held the snapshot at the back of the
ring: the nested call landed on it again, and with a single snapshot
the outer call then popped an empty ring.

The test helpers resumed on the emulation stack after a vsync pause,
and runIntoCallStack() paused before the guest ran when called from an
event loop callback; both are fixed so the new test can sit mid-suite.
2026-10-10 17:10:27 -07:00
Rix 78e777e160 Merge pull request #2209 from rixnobis/rewind-capture
In-memory rewind ring, backed by a protobuf-free capture()
2026-10-10 16:29:46 -07:00
Rix dc408d2754 modconv: write the clamped loop back to the .hit sample header 2026-10-10 16:09:38 -07:00
Rix 06fa194058 Match restore() to load() after the CD-ROM rewrite
Main's CD-ROM rewrite drops CDRom::load() and makes m_xa protected,
and load() now skips both under #if 0. restore() is its twin, so it
gets the same two blocks.
2026-10-10 15:38:31 -07:00
Rix cb89f0843a Merge remote-tracking branch 'upstream/main' into rewind-defer 2026-10-10 15:31:34 -07:00
Rix 1277e9527d Merge pull request #2265 from rixnobis/adsr-rate-cap
spu: cap the ADSR rate at shift 26, and freeze all-ones rates
2026-10-10 15:00:31 -07:00
Rix ce2e4d5e8f Merge pull request #2278 from grumpycoders/chores-code-format
[Chores] Format code
2026-10-10 14:51:34 -07:00
Rix fe9cb022f7 Merge pull request #2277 from grumpycoders/chores-i18n
[Chores] Regen i18n
2026-10-10 14:51:16 -07:00
Rix 780fd231a7 Defer rewinds from the emulation stack to the main loop
A rewind restores state like a load does, so it waits for Execute() to unwind the same way.
2026-10-10 14:15:12 -07:00
rixnobis 482d332190 [Chores] Format code 2026-10-10 19:18:29 +00:00
rixnobis 295ccf32b2 [Chores] Regen i18n 2026-10-10 19:14:05 +00:00
Rix 29d7b60913 Merge pull request #2276 from nicolasnoble/bigobj-for-gui
Turning bigobj on for gui.cc
2026-10-10 11:39:20 -07:00
Rix bbbc6b85a7 Merge pull request #2275 from grumpycoders/sampler2d-precision
Add precision qualifiers to pixel shader
2026-10-10 11:38:55 -07:00
Rix 45563dbfd8 main: keep a redirected stdout on Windows instead of opening a console
With -no-ui, -cli, -tui or -stdout the process always called AllocConsole and
reopened stdout onto it, so a parent capturing the output through a pipe got
nothing and a console window popped up beside it. Skip the console when the
standard output handle is already a pipe or a file.
2026-10-10 11:34:53 -07:00
Rix 4ab5ce3945 Merge pull request #2244 from rixnobis/gpu-cmd-fixes
gpu: fix GP0(02h) X snap, GP0(80h) mask bits, GP0(1Fh) IRQ
2026-10-10 10:00:55 -07:00
Nicolas Pixel Noble de5c16d2bb Turning bigobj on for gui.cc
Just like a few other files in this repository, gui.cc is now chonk
enough that it's going to be needing this flag for cl.exe builds
(Debug and Release).

The right thing would be to split the file up, but that's a much
bigger task.
2026-10-10 09:15:20 -07:00
Rix 363869f8a3 tests: GPUSTAT.24 survives a save state
Raises IRQ1 from code poked into RAM, saves, acks with GP1(02h), loads, and checks the flag is back. Fails with the restore in GPU::deserialize removed.
2026-10-10 08:59:18 -07:00
Nicolas Noble bbf76d73a5 Few more spots, and trying to cater for the MacOS case. 2026-10-10 08:50:52 -07:00
Nicolas Noble 1865ddb8d3 Add precision qualifiers to pixel shader
From a user report:

```
Pixel Shader compilation error: ERROR: 0:6: 'sampler/image' : type requires declaration of default precision qualifier
```

Their specs:

```
GPU - Radeon(TM) RX 460 Graphics - Primary/Discrete
VRAM - 4096 MB - GDDR5 1750 MHz
Driver Version - 22.20.27.09-230330a-390451C
AMD Windows Driver Version - 31.0.12015.1008
Direct3D API Version - 12.0
Vulkan™ API Version - 1.3.217
OpenCL™ API Version - 2.0
OpenGL® API Version - 4.6
Direct3D® Driver Version - 9.14.10.01523
Vulkan™ Driver Version - 2.0.233
OpenCL® Driver Version - 31.0.12027.9001
OpenGL® Driver Version - 23.03.220823_1f70af4
2D Driver Version - 8.1.1.1634
2D Driver File Path - /REGISTRY/MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4d36e968-e325-11ce-bfc1-08002be10318}/0000
UI Version - 2022.0725.1438.1936
AMD Audio Driver Version - 10.0.1.24
Driver Provider - Advanced Micro Devices, Inc.
Windows Edition - Windows 10 Professional (64 bit)
Windows Version - 22H2
```
2026-10-10 07:59:09 -07:00
Rix b0a245bc23 Merge pull request #2274 from grumpycoders/chores-i18n
[Chores] Regen i18n
2026-10-10 07:02:47 -07:00
Rix 92ded553bd tests: bump nugget for the gpu-{fbrect,vram-move,command,irq,polyline} suites 2026-10-10 04:17:42 -07:00
Rix 3ba201636f gpu: GP0(80h) onto its own source still applies set-mask 2026-10-10 04:17:37 -07:00
Rix d5ae80b06a gpu: GP0(1Fh) raises IRQ1 and GPUSTAT.24, cleared by GP1(02h) and GP1(00h) 2026-10-10 04:17:37 -07:00
Rix 071a881e95 gpu: GP0(80h) VRAM copy honours the GP0(E6h) set-mask and check-mask settings 2026-10-10 04:17:36 -07:00
Rix c5739b5880 gpu: GP0(02h) fill ignores the low 4 bits of X and rounds the width up to 16 2026-10-10 04:17:36 -07:00
Rix 3253fa54c7 tests: add gtest wrappers for the gpu-{fbrect,vram-move,command,irq,polyline} suites 2026-10-10 04:17:36 -07:00
rixnobis 8264b11959 [Chores] Regen i18n 2026-10-10 10:03:52 +00:00
Rix 7a6df104f3 Merge pull request #2273 from grumpycoders/chores-code-format
[Chores] Format code
2026-10-10 02:57:17 -07:00
Rix fab37739b8 Merge pull request #2272 from rixnobis/openbios-disc-boot
OpenBIOS boots discs again
2026-10-10 02:55:13 -07:00
Rix 1cc671894e OpenBIOS boots discs again; bump nugget
Bumps nugget to d9e0baca (pcsx-redux/nugget#161 on the current pin line): OpenBIOS waits long enough for Init's completion, and its free survives a user heap the game wrote over. Fixes WipEout (USA) under OpenBIOS (#1913). The new cdrom tests boot the test disc through OpenBIOS without -loadexe.
2026-10-10 02:04:23 -07:00
Rix 139b5e27e2 cdrom: an acked response no longer holds back the next one
An acked response whose bytes were never read kept its slot, so the next one was never delivered. OpenBIOS's shell acks GetID's INT3 without reading it and sat waiting for INT2 forever; no disc booted. The unread bytes stay readable until the next response replaces them.
2026-10-10 02:04:11 -07:00
rixnobis 8de3f8763f [Chores] Format code 2026-10-10 08:24:19 +00:00
Rix 6f4e4b8709 Merge pull request #2270 from rixnobis/dynarec-mtc0-cause
dynarec: store Cause on a non-constant MTC0 $13
2026-10-10 01:19:11 -07:00
Rix 66bd9f44c9 Merge pull request #2271 from rixnobis/dynarec-bcz-cu
dynarec: raise Coprocessor Unusable on BCzF/BCzT with SR.CUz clear
2026-10-10 01:17:45 -07:00
Rix 39e2805bc2 Merge pull request #2268 from grumpycoders/chores-i18n
[Chores] Regen i18n
2026-10-10 01:16:04 -07:00