Commit Graph

2893 Commits

Author SHA1 Message Date
29da7f7211 System: Add 'Fast Forward Boot' option 2024-09-26 21:40:48 +10:00
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
c46ec398dc GPU: Move software fill/write/copy into rasterizer namespace 2024-09-26 18:30:46 +10:00
495a0da8d4 Pad: Pack state in struct 2024-09-26 17:54:46 +10:00
58dc24cb0d CDROM: Pack state in struct
Ensures locality, as with other subsystems.
2024-09-26 17:49:35 +10:00
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
0e4ca9cd93 CDROM: Fix CDDA playback in some obscure edge cases
e.g. Roswell Conspiracies
2024-09-26 14:05:34 +10:00
4d74b203af System: Don't try to read SYSTEM.CNF from Audio CD 2024-09-26 13:39:01 +10:00
991927151c ImGuiOverlays: Fix scrolling offscreen with no-serial 2024-09-26 13:38:57 +10:00
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
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
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
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
d67b826033 CI/Flatpak: Improve install behaviour
Use "standard" install path.
2024-09-23 19:21:14 +10:00
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
23ec40d032 Settings: Set log level to none if no sinks enabled 2024-09-23 00:26:48 +10:00
c439de6364 Common: SSE2 backsupport for vector classes
shuffle8() sucks, the rest aren't _too_ bad.
2024-09-22 21:06:05 +10:00
e1c876671a Misc: More iNN => sNN 2024-09-22 21:06:05 +10:00
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
f9941c3f68 GPU/HW: Reduce shader dependence on global constants
Step 1 of making resolution-independent shaders.
2024-09-22 21:06:05 +10:00
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
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
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
88381209b3 System: Fix crash when disabling runahead 2024-09-21 22:26:06 +10:00
1754ecf4f9 SPU: Get rid of second output stream 2024-09-21 22:26:05 +10:00
df17528b18 Qt: Move threaded rendering toggle to Debug tab
Frees up some space.
2024-09-21 22:26:05 +10:00
54e5d93165 GPU/SW: Enable SIMD path and make default 2024-09-21 22:26:05 +10:00
19698559c3 System: Drop IPC server
The one group using it switched to shared memory exports anyway.
2024-09-21 22:26:05 +10:00
ac8461a28b System: Fix bogus SW thread CPU in OSD 2024-09-21 22:26:05 +10:00
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
e7aa0495ab System: Not all setting changes need to interrupt 2024-09-21 22:26:05 +10:00
40670726b4 GPU/SW: Fix SSE4 path and add 256-bit AVX2 path 2024-09-21 22:26:05 +10:00
a7747c5be3 Common: Add 256-bit integer vector wrapper 2024-09-21 22:26:05 +10:00
5f80cb1188 GPU/HW: Fix inaccurate shader progress counter 2024-09-21 22:26:05 +10:00
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
e056bcb5ff AudioStream: Fix incorrect padding 2024-09-21 22:26:05 +10:00
0538b95d9b GPU/HW: Reduce number of shaders/pipelines in default config
~3x speedup in shader compile time on a cold cache.
2024-09-19 22:18:58 +10:00
292c1e0f06 Misc: Normalize OSD message keys 2024-09-18 22:35:50 +10:00
401295ebdb Common: Allow PRINTFLIKE to work on Clang
And thus clang-cl.
2024-09-18 21:31:06 +10:00
8ba85d62dc Pad: Fix stuck inputs after loading mismatched state pad type 2024-09-18 21:21:57 +10:00
8b67ed8536 CPU: Display loadstore offsets in hex
Also add 0x prefix to logical immediate operands, since it is printed
in hex, and normalize arithmetic operands.
2024-09-15 17:29:33 +10:00
8fa406061a CPU: Add SetBreakpointEnabled() 2024-09-15 17:15:38 +10:00
b5768266bb Quality of Life changes to breakpoints (#3297)
1. Made it so that breakpoints are checked for a match on 28 bits rather than the full 32 bits. It's much simpler to use 12345 rather than 80012345 and risk getting the number of zeros wrong and also handles the mirror code/memory accesses using 00??????, 80?????? & A0??????.
2. Added bp.hit_count update to execution breakpoints.
3. Changed the Hit breakpoint message at the bottom of the debugger screen to include the hit count [see notes later].
4. Added bp.enabled check to the execution breakpoint (it uses it in the r/w breakpoints code already) [see notes later].

Notes:
3. I've added the hit count to the message as it's quicker to spot but it's also a partial workaround as the Hit Count in the Breakpoints tab doesn't seem to get refreshed.
       4. I thought the checkbox in the Breakpoints tab would set the bp.enabled but it seems it has no affect on any type of breakpoint. The only way to stop a breakpoint is to delete it.
2024-09-15 07:17:08 +01:00
e03deb4928 System: Set realtime constraints on MacOS
Significantly improves frame timing/pacing, now it is a
flat line on my 2023 MBP like other platforms.
2024-09-13 20:23:57 +10:00
6f31e562a0 MetalDevice: Implement timed present 2024-09-13 15:19:29 +10:00
f2720b98dd System: Reduce force-displayed-warning scope
Please don't make me regret this.
2024-09-10 23:53:39 +10:00
065beff2da Qt: Rename NeGcon Rumble controller name 2024-09-10 19:59:41 +07:00
20b4581bbe Settings: Remove second source of truth for OSD notifications
And split it into warnings/messages. Warnings are always displayed
regardless of the "Show OSD Messages" setting, because they're critical
and users forget they disable messages.
2024-09-10 22:10:42 +10:00
2813b4bece Achievements: Open profile on leaderboard selection 2024-09-09 22:10:06 +10:00
891d5cefbe ImGuiFullscreen: Allow smooth scrolling 2024-09-09 21:57:08 +10:00