2907 Commits

Author SHA1 Message Date
Stenzek
6dc4fa5c75
CDROM: Physical => SubQ in variables
Better describes what it actually is.
2024-09-29 18:01:44 +10:00
Stenzek
060146a37a
CDROM: Add SubQ Skew option
Fixes corrupted boss sprites in Captain Commando.

One day I'll refactor things to fix this properly.
2024-09-29 17:11:52 +10:00
Stenzek
3081c4f5cd
Qt: Fix disabling of some texture dumping options 2024-09-29 16:19:20 +10:00
Stenzek
73fd97e770
GPUTextureCache: Fix reload replacements hotkey/menu action 2024-09-29 16:13:31 +10:00
Stenzek
d32143b319
ImGuiOverlays: Make escape close save state selector 2024-09-29 15:29:40 +10:00
Stenzek
e06f1f1002
GPU: Add hardware texture cache 2024-09-29 13:37:47 +10:00
Stenzek
4132b5ef3d
Settings: Remove 'Increase Timer Resolution' option
It's no longer needed since I switched to high-resolution waitable
timers, which are supported on Win10 1803+.
2024-09-28 23:50:44 +10:00
Stenzek
7d8ae9aa11
Packaging: Add SPEC and PKGBUILD 2024-09-28 22:07:14 +10:00
Stenzek
ca6b99401b
Common: Build fix when compiling with AVX2 march 2024-09-28 19:43:23 +10:00
Stenzek
036e11f7a8
Qt: Remove unused variable 2024-09-27 22:48:43 +10:00
Stenzek
615781be39
GPUBackend: Don't rely on g_settings 2024-09-27 20:59:04 +10:00
Stenzek
4e880280bd
Qt: Fix inconsistent multitap addressing
And remove multiple copies of the same variables while we're at it.
2024-09-27 20:59:04 +10:00
Stenzek
5995471de6
FullscreenUI: Disable rewind options unless enabled 2024-09-26 21:54:51 +10:00
Stenzek
df8e950e6e
Qt: Rename 'Disable All Enhancements' to 'Safe Mode'
And move it to the bottom of the dialog.
2024-09-26 21:54:51 +10:00
Stenzek
29da7f7211
System: Add 'Fast Forward Boot' option 2024-09-26 21:40:48 +10:00
Stenzek
b36e2ce6be
CPU/CodeCache: Don't create a branch block with no delay slot
Can't compile that.
2024-09-26 20:55:13 +10:00
Stenzek
c46ec398dc
GPU: Move software fill/write/copy into rasterizer namespace 2024-09-26 18:30:46 +10:00
Stenzek
495a0da8d4
Pad: Pack state in struct 2024-09-26 17:54:46 +10:00
Stenzek
58dc24cb0d
CDROM: Pack state in struct
Ensures locality, as with other subsystems.
2024-09-26 17:49:35 +10:00
Stenzek
a26c3e5620
System: Add new 'Type 1B' fast boot
This saves approximately 2 seconds of boot time, as it no longer copies
the shell from ROM to RAM. The actual byte reads only take in the order
of 75ms, but because the BIOS executes the memcpy() out of uncached ROM,
the repeated instruction fetches take it up to almost 2 seconds...

It would be faster to read it from the CD-ROM...
2024-09-26 16:28:47 +10:00
Stenzek
0e4ca9cd93
CDROM: Fix CDDA playback in some obscure edge cases
e.g. Roswell Conspiracies
2024-09-26 14:05:34 +10:00
Stenzek
4d74b203af
System: Don't try to read SYSTEM.CNF from Audio CD 2024-09-26 13:39:01 +10:00
Stenzek
991927151c
ImGuiOverlays: Fix scrolling offscreen with no-serial 2024-09-26 13:38:57 +10:00
Stenzek
fd8f97f4d3
GPU/HW: Fix adaptive downsampling
Also rewrite shaders to improve blurring around edges of 3D objects
(e.g. FF7).

As a trade-off, the background does blur slightly less, but (imo)
it looks better overall, since you'll notice the foreground being
blurred much more than the background.
2024-09-26 13:25:53 +10:00
Stenzek
114effd9a1
CDROM: Simulate backwards 1T jump on short seeks
Fixes hangs in LMA Manager, Nightmare Creatures PAL with Interpreter.
2024-09-25 01:37:07 +10:00
Stenzek
3808217298
SPU: Handle ignore loop address with IRQs on
This was actually the issue with World Cup 98, not anything to do with
disc timing. Which makes more sense.

Game has IRQs enabled, but because it wasn't keyed on, the condition
never held true, therefore the new repeat address was immediately
overwritten.
2024-09-25 01:37:07 +10:00
Stenzek
bfc914aaa9
CMake: Add DISABLE_SSE4 option
NOT recommended. Only if you ABSOLUTELY need it.

The SSE2/legacy build will be a separate download option, and
warn you if you try to run it on a CPU that supports SSE4.
2024-09-23 20:27:58 +10:00
Stenzek
d67b826033
CI/Flatpak: Improve install behaviour
Use "standard" install path.
2024-09-23 19:21:14 +10:00
Stenzek
bb3d27f153
GPU/SW: Drop dithering function specialization
Reduces the code size by roughly half, which may be beneficial on
icache-starved processors.

Also fixes too-bright values being fed into the blending equation.
2024-09-23 01:01:07 +10:00
Stenzek
23ec40d032
Settings: Set log level to none if no sinks enabled 2024-09-23 00:26:48 +10:00
Stenzek
c439de6364
Common: SSE2 backsupport for vector classes
shuffle8() sucks, the rest aren't _too_ bad.
2024-09-22 21:06:05 +10:00
Stenzek
e1c876671a
Misc: More iNN => sNN 2024-09-22 21:06:05 +10:00
Stenzek
986e207cff
GPU/HW: Make batch shaders independent on resolution
Almost a 6x reduction in *compressed* shader cache size.
2024-09-22 21:06:05 +10:00
Stenzek
f9941c3f68
GPU/HW: Reduce shader dependence on global constants
Step 1 of making resolution-independent shaders.
2024-09-22 21:06:05 +10:00
Stenzek
f169b892c1
GPU: Defer frame done if not running events
Prevents interruption/execution exiting if the frame was ticked over
by a MMIO access, e.g. reading GPUSTAT.
2024-09-22 21:06:05 +10:00
PugsyMAME
88bc3a2278
Fixed typo in F4 Cheat Type code (#3300)
Typo in my code, this fix will make it work properly on multiple find & replaces.
2024-09-22 21:05:44 +10:00
Stenzek
3dca598063
Log: Switch to enum class
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek
88381209b3
System: Fix crash when disabling runahead 2024-09-21 22:26:06 +10:00
Stenzek
1754ecf4f9
SPU: Get rid of second output stream 2024-09-21 22:26:05 +10:00
Stenzek
df17528b18
Qt: Move threaded rendering toggle to Debug tab
Frees up some space.
2024-09-21 22:26:05 +10:00
Stenzek
54e5d93165
GPU/SW: Enable SIMD path and make default 2024-09-21 22:26:05 +10:00
Stenzek
19698559c3
System: Drop IPC server
The one group using it switched to shared memory exports anyway.
2024-09-21 22:26:05 +10:00
Stenzek
ac8461a28b
System: Fix bogus SW thread CPU in OSD 2024-09-21 22:26:05 +10:00
Stenzek
e617f17294
System: Set GPU timing enable on init/destroy
It's really unrelated to the guest GPU.
2024-09-21 22:26:05 +10:00
Stenzek
e7aa0495ab
System: Not all setting changes need to interrupt 2024-09-21 22:26:05 +10:00
Stenzek
40670726b4
GPU/SW: Fix SSE4 path and add 256-bit AVX2 path 2024-09-21 22:26:05 +10:00
Stenzek
a7747c5be3
Common: Add 256-bit integer vector wrapper 2024-09-21 22:26:05 +10:00
Stenzek
5f80cb1188
GPU/HW: Fix inaccurate shader progress counter 2024-09-21 22:26:05 +10:00
Stenzek
b5df06a54a
GPU/HW: Rewrite automatic internal resolution selection
Make it aspect ratio aware, as well as updating when/if the game changes
resolution. Also include the padding area in the OSD/status resolution.
2024-09-21 22:26:05 +10:00
Stenzek
e056bcb5ff
AudioStream: Fix incorrect padding 2024-09-21 22:26:05 +10:00