Stenzek
814f22f58b
Cheats: Only apply overclock when it is not already enabled
2024-10-30 15:19:10 +10:00
Stenzek
2043128f98
System: Fix per-game fast boot applying too late
2024-10-30 15:19:10 +10:00
Stenzek
d24e8fda83
GPU/HW: Only enable fbfetch/DSB when needed
...
Thanks Adreno...
2024-10-30 15:19:10 +10:00
Stenzek
dadc994ba8
GPU/HW: GLSL ES compile fix
2024-10-30 15:19:10 +10:00
Stenzek
a3d55c6e30
Misc: Android build fixes
2024-10-30 15:19:10 +10:00
Stenzek
bfadd608fb
System: Add 'Task Threads'
...
Used for saving screenshots/GPU dumps.
2024-10-30 15:19:10 +10:00
Stenzek
53fb5cd9e1
GTE: Remove dependency on GPUDevice
2024-10-28 14:31:22 +10:00
Stenzek
d34707a377
System: Pack state in struct
...
Don't trust the linker...
2024-10-28 14:31:22 +10:00
Stenzek
166c930738
System: Move private functions to separate header
2024-10-28 14:31:22 +10:00
Stenzek
21d19a6297
System: Move perf counters to separate namespace
2024-10-28 14:31:22 +10:00
Stenzek
875ccecb90
System: Use frame rate for speed calculation
...
Instead of cycles. Makes it invariant to OC changes, and can
be managed on the (future) GPU thread.
2024-10-27 22:01:00 +10:00
Stenzek
99e65282f6
GPU/HW: Prefer shader over image copy if not dirty
2024-10-27 15:35:19 +10:00
Stenzek
2c57817803
System: Invalidate display on debug window change
...
Fixes these windows displaying black if the VM is paused.
2024-10-27 15:15:20 +10:00
Stenzek
c6b74684de
GPU/HW: Split shaders into resolution independent/dependent
...
Avoids recompiling everything on resolution change.
2024-10-27 15:15:20 +10:00
Stenzek
6cf8ac340b
GPU/HW: Make copy/write shaders resolution independent
2024-10-27 15:15:20 +10:00
Stenzek
aa0c0068ce
GPU/HW: Move shadergen parameters to functions
2024-10-27 13:50:47 +10:00
Stenzek
1d21ca61e7
Cheats: Allow hex literal in option ranges
2024-10-27 12:32:41 +10:00
Stenzek
218df625df
Cheats: Fix crash on parsing invalid cheat
2024-10-27 12:32:41 +10:00
KamFretoZ
24f15acf6c
BPM: Adjust Hotkey And Button Legends ( #3323 )
2024-10-26 20:34:32 +10:00
Stenzek
8def5b5d0a
GameDB: Allow user to choose different mode for ForceDeinterlacing
2024-10-26 16:15:58 +10:00
Stenzek
7782bb9845
CDROM: Fix lockup when loading state with precaching
2024-10-26 02:14:59 +10:00
Stenzek
1ae2dcf192
GPU: Propagate initialization error to caller
...
Avoids double error popup.
2024-10-26 01:41:29 +10:00
Stenzek
6af71beed5
GPU: Work around nearest sampling issues on AMD
...
Fixes one-line flickering display in some games.
2024-10-26 01:40:44 +10:00
Stenzek
b92eeec962
System: Warning fix
2024-10-25 20:45:11 +10:00
Stenzek
080807e557
CDROM: Move subchannel replacement from CDImage
...
This will allow you to use SBI/LSD files with real discs, if your
drive does not support reading subchannels, or has an incorrect
skew.
2024-10-25 15:35:12 +10:00
Stenzek
cdd230c040
ImGuiOverlays: Fix input overlay glyph clipping
2024-10-25 12:45:50 +10:00
Stenzek
903213c818
Hotkeys: Add hotkey to open cheat settings
2024-10-25 12:45:29 +10:00
Stenzek
7d2216c289
GameList: Avoid double fopen/read of EXEs
2024-10-23 21:20:28 +10:00
Stenzek
2d04f2eff9
System: Support loading .CPE files
2024-10-23 21:08:17 +10:00
Stenzek
a8d846ac8f
Cheats: Use libzip for reading archive
2024-10-22 21:25:27 +10:00
Stenzek
4963dc1759
Host: Make resource routines fill error object
2024-10-22 20:41:33 +10:00
Stenzek
485f81a02f
GPUDump: Support XZ compression
2024-10-22 19:40:03 +10:00
Stenzek
164c043e1b
InputManager: Add pressure/deadzone to macros
...
Arguably less useful than on the PS2, but is still applicable
to the left/right analog sticks.
2024-10-22 19:39:56 +10:00
Stenzek
396e7d994a
System: Make global safe mode always take precedence
2024-10-22 01:11:31 +10:00
Stenzek
c11b250efe
Cheats: Search archives with disc set serials
...
That way the list is auto-populated for all discs.
2024-10-21 20:25:07 +10:00
Stenzek
32e62725dd
Pad: Implement RX/TX IRQs
2024-10-21 00:38:05 +10:00
Stenzek
6e1d8c5213
Qt: Fix settings clear not resetting input profile
2024-10-21 00:29:54 +10:00
Stenzek
a9bfe2642f
System: Simplify error path in BootSystem()
2024-10-21 00:18:12 +10:00
Stenzek
b62e58776e
System: Fix GPU usage disappearing on renderer change
2024-10-21 00:12:20 +10:00
Stenzek
05c285f760
Settings: Fix cheats/patches not being removed on clear
2024-10-21 00:08:56 +10:00
Stenzek
c250209336
System: Fix input profiles inheriting base settings
2024-10-21 00:05:32 +10:00
Stenzek
0d3501d435
Misc: Pass SettingsInterface by const reference
2024-10-20 23:59:47 +10:00
Stenzek
825dd13c6b
GameDatabase: Fix crash with deinterlacing mode
2024-10-20 23:21:39 +10:00
Stenzek
4ab22921c4
GPUDump: Add GPU dump recording and playback
...
Implements the specification from:
https://github.com/ps1dev/standards/blob/main/GPUDUMP.md
2024-10-20 22:02:24 +10:00
Stenzek
428c3e3426
Host: Fix error when switching to surfaceless
2024-10-20 22:02:22 +10:00
Stenzek
056b629837
ImGuiManager: Add 'Screen Margins' (i.e. safe zone)
2024-10-20 13:17:22 +10:00
Stenzek
e0bc03b525
Controller: Fix localization with new types
2024-10-20 12:55:10 +10:00
Stenzek
6cc350a459
Cheats: Serialize access to zips
...
Prevents the UI thread from trashing the zip struct while the
emulation thread is also reading.
2024-10-20 12:43:11 +10:00
Stenzek
163cb2f653
MemoryScanner: Fix default operator value
2024-10-19 22:51:52 +10:00
Stenzek
43ed92415d
GPU/HW: Fix assert triggering in debug mode
2024-10-19 17:05:06 +10:00
Stenzek
9050098e3e
GameDatabase: Rework deinterlace mode selection
...
The mode can either be preferred (if the user has not chosen
progressive), or force (ignore user's choice).
Also remove it from a bunch of games which apparently no longer
need it? Very strange...
2024-10-19 17:02:22 +10:00
Stenzek
e4a358cacb
Controller: Add Pop'n and Densha De Go Controllers
...
Variants of digital controller with different buttons grounded.
2024-10-19 16:23:01 +10:00
Stenzek
49134efe4e
Settings: Fix PGXP suboptions getting disabled
...
Regression from 005d48a387b24b2e65056b96cf8fabce19662911
2024-10-19 13:01:05 +10:00
Stenzek
76208f5f2d
System: Display localized trait names
2024-10-19 01:16:05 +10:00
Stenzek
57cf0f2643
System: Reload cheats/patches on safe mode toggle
2024-10-19 01:13:32 +10:00
Stenzek
baa9065d2e
System: Add taints to save states
...
This informs the user they are loading a save state that at some point
had potentially-game-breaking options enabled, and a reset is necessary
to clear them.
2024-10-19 01:13:32 +10:00
Stenzek
50d8bb091f
MemoryCard: Add RenameFile() and localize errors
2024-10-19 00:03:07 +10:00
Stenzek
86a28d5dc0
ImGuiOverlays: Move debug state to auxiliary windows
2024-10-18 20:48:30 +10:00
Stenzek
eb46142ee7
GPUDevice: Extract swap chain to separate class
2024-10-18 20:48:29 +10:00
Stenzek
005d48a387
System: Don't display setting warnings without game
2024-10-18 20:48:29 +10:00
Stenzek
e2cb54d233
Settings: Use uint getter/setter for more fields
2024-10-18 20:48:29 +10:00
Stenzek
d4f3e004cf
Host: Add missing SetBaseUIntSettingValue()
2024-10-18 20:48:29 +10:00
Stenzek
219e890da5
GPU/HW: Write through VRAM transfers
...
Reduces the chances of rendering nothing after device loss.
2024-10-14 18:20:48 +10:00
Stenzek
11c212260c
System: Only check controller changes when valid
2024-10-14 12:46:54 +10:00
Stenzek
4a57ccc3e8
Cheats: Strip leading * when importing old files
2024-10-14 12:44:23 +10:00
Stenzek
b3ae9cbe4a
Qt: Swap compatibility star image to SVG
...
Images originally provided by KamFretoZ, adjusted to better fit the
column width.
2024-10-13 17:08:56 +10:00
Stenzek
e0b6f6f1b2
Cheats: Rewrite cheat management system
2024-10-13 16:43:22 +10:00
Stenzek
d8fef6f22e
GameDatabase: Store strings as views
...
Saves duplicating everything in memory, and a ton of heap allocations.
2024-10-13 16:43:22 +10:00
Stenzek
6e26ba3e9e
Qt: Display language flags instead of region
2024-10-12 16:49:07 +10:00
Stenzek
ba0708a4ff
GameDatabase: Add parsing of Language field
...
Also speed up lookups through binary search.
2024-10-12 16:23:47 +10:00
Stenzek
83a1386d0b
FullscreenUI: Collapse macro button settings by default
2024-10-11 21:40:35 +10:00
Stenzek
407dccb1db
Qt: Move GDB server enable to advanced options
...
And expose the port as a setting.
2024-10-11 21:26:06 +10:00
Stenzek
26b6c704f0
MemMap: Support dynamic page size selection
...
i.e. 4K to 16K on ARM64.
2024-10-05 19:25:23 +10:00
Stenzek
0c2ab82252
System: Fix no-disc startup in later versions
2024-10-11 16:54:46 +10:00
Stenzek
32e96b02ca
FullscreenUI: Various fixes
...
- Fix mismatched X/Y in landing page.
- Fix mismatched X/Y submenus.
- Fix window padding on save state submenu.
- Fix pressing back/close on save state submenu closing list.
2024-10-07 12:51:27 +10:00
Stenzek
3fb5fb4c72
System: Fix saving of subimage index
2024-10-06 18:06:51 +10:00
Stenzek
c9f7ef5f9a
System: Fix reset when booting EXE
2024-10-06 13:36:46 +10:00
Stenzek
80971dac5a
AnalogController: Allow negative vibration bias
2024-10-05 16:07:33 +10:00
Stenzek
08bdffac64
GPU/HW: Fix toggling texture replacement settings
2024-10-05 13:50:36 +10:00
Stenzek
71bb953253
GPU/HW: Handle redundant texture window updates
...
Significantly reduces draw count in THPS2.
~150 draw calls per frame to ~70.
2024-10-05 13:06:45 +10:00
Stenzek
52389f48a6
GPU/HW: Fix force-round-coords with texture cache
2024-10-05 13:06:43 +10:00
Stenzek
2f331540b1
BIOS: Fix OpenBIOS initializer
2024-10-05 12:18:46 +10:00
Stenzek
a83b642a2d
Settings: Disable texture cache in safe mode
2024-10-04 14:49:42 +10:00
Stenzek
c740fd9e11
GPU/TextureCache: Disable bilinear page upscaling by default
...
And fix it.
2024-10-04 14:48:10 +10:00
Stenzek
887d588029
System: Further improve fastboot behaviour
...
Use fastboot when slowboot will fail.
2024-10-04 14:48:05 +10:00
Stenzek
4d5e0b6c54
Settings: Don't create dumps/audio in userdir
...
Was replaced by media capture.
2024-10-01 23:06:34 +10:00
Stenzek
7e72b9fb7b
GPU/TextureCache: Fix palette reduction in C4 mode
...
It was only looking at the first row...
2024-10-01 23:01:19 +10:00
Stenzek
51fefb36a0
System: Fix crash when toggling SW with interpreter
2024-10-01 22:41:01 +10:00
Stenzek
0730a361a3
GPU/HW: Fix batch shader compiling with GLSL ES
2024-10-01 21:14:58 +10:00
Stenzek
45c8f6ea56
BIOS: Make GetInfoForHash() public
...
And it should take a const span.
2024-10-01 21:14:43 +10:00
Stenzek
07f410bc6a
Achievements: Mirror whacky rcheevos header handling
2024-09-29 20:38:46 +10:00
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
Stenzek
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
Stenzek
292c1e0f06
Misc: Normalize OSD message keys
2024-09-18 22:35:50 +10:00
Stenzek
401295ebdb
Common: Allow PRINTFLIKE to work on Clang
...
And thus clang-cl.
2024-09-18 21:31:06 +10:00
Stenzek
8ba85d62dc
Pad: Fix stuck inputs after loading mismatched state pad type
2024-09-18 21:21:57 +10:00
Stenzek
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
Stenzek
8fa406061a
CPU: Add SetBreakpointEnabled()
2024-09-15 17:15:38 +10:00
PugsyMAME
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
Stenzek
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
Stenzek
6f31e562a0
MetalDevice: Implement timed present
2024-09-13 15:19:29 +10:00
Stenzek
f2720b98dd
System: Reduce force-displayed-warning scope
...
Please don't make me regret this.
2024-09-10 23:53:39 +10:00
KamFretoZ
065beff2da
Qt: Rename NeGcon Rumble controller name
2024-09-10 19:59:41 +07:00
Stenzek
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
Stenzek
2813b4bece
Achievements: Open profile on leaderboard selection
2024-09-09 22:10:06 +10:00
Stenzek
891d5cefbe
ImGuiFullscreen: Allow smooth scrolling
2024-09-09 21:57:08 +10:00
Stenzek
e93dea5ad8
SPU: Connect 0x1F801DB8/0x1F801DBA writes
...
But I'm not aware of any games that actually use this, and if there is a
sweep active, it will be soon overwritten anyway.
2024-09-09 21:04:47 +10:00
Stenzek
d1770b616f
Settings: Default console logging to running from TTY
2024-09-09 20:55:15 +10:00
Stenzek
e2a3fe14f0
Cheats: Prevent inlining of memory functions
...
Clang is way too eager here and inlines the whole thing hundreds of
times within CheatList::Apply().
2024-09-09 18:53:51 +10:00
Stenzek
4c31218d2b
GPUDevice: Add API version field
...
Also tie shader caches to API version and device LUID. That way we don't
have tons of cache files, and they're regenerated if the GPU/driver
changes.
2024-09-08 23:33:05 +10:00
Stenzek
3078339f64
Common: Extract out ryml helpers
2024-09-09 00:35:31 +10:00
Stenzek
1d83e72887
Achievements: Fix incorrect plural string
2024-09-08 11:51:31 +10:00
Stenzek
1956575710
Cheats: Fix detection of ungrouped cheat import
2024-09-08 11:49:59 +10:00
Stenzek
32a3311208
System: Add option to automatically resize window
2024-09-07 22:05:54 +10:00
Stenzek
940cc636d6
GPU: Fix internal res screenshot AR with None cropping
2024-09-07 20:19:28 +10:00
Stenzek
47a3cd44f3
CDROM: Support reading MODE1 sectors
2024-09-07 16:05:53 +10:00
Stenzek
ac5a2a153a
GPUDevice: Remove BeginPresent() skip parameter
...
It wasn't used - System does its own present skipping.
2024-09-07 12:53:55 +10:00
Stenzek
4b0c1fdbf2
GPUDevice: Add recovery from lost device
2024-09-07 12:48:44 +10:00
Stenzek
1c1b82ed66
GPUDevice: Purge threaded presentation
...
Worse frame pacing, and GPU thread (when I finish it) will give
significantly faster performance on mobile anyway.
2024-09-07 12:15:42 +10:00
Mrlinkwii
95185b7308
FSUI : some misc fixes ( #3291 )
...
FullscreenUI: Some misc fixes
2024-09-06 13:55:17 +01:00
Stenzek
2e080d4998
Qt: Add edit function to debugger memory view
2024-09-06 22:48:50 +10:00
Stenzek
ab1c85790c
CPU: Refactor execution mode switching
...
Fixes single step breaking in branch delay slots with recompiler.
Simplifies initialization.
Removes multiple sources of truth for fastmem.
2024-09-06 20:00:30 +10:00
spacepaw
5b4d625d23
Add *.psx as a supported PS-X EXE file type ( #3290 )
2024-09-06 09:33:19 +02:00
Stenzek
0458dfe8be
MemoryCard: Don't display message for empty card
2024-09-03 21:49:51 +10:00
Stenzek
a7d8e6d018
Host: Add disambiguation variants for translations
2024-09-03 21:39:00 +10:00
Stenzek
87eded4bce
FileSystem: Fix FD leak with atomic updated file on Linux
...
Also add the ability to explicitly commit and check for errors.
2024-09-03 20:43:10 +10:00
Stenzek
1eb1b03141
MemoryCard: Defer creation of card until first save
...
Also do not overwrite the card if it failed to load.
2024-09-03 20:13:03 +10:00
Stenzek
1446e3035f
Settings: Make Disable Interlacing a Deinterlacing mode
...
Saving that precious vertical space.
2024-09-03 20:02:01 +10:00
Stenzek
94911abdca
System: Display disabled enhancements in safe mode
2024-09-03 19:29:59 +10:00
Stenzek
f9a594058f
Settings: Force Frame Timings => Force Video Timing
...
Also drop from GameDB, an override doesn't make sense here anyway,
due to the low success rate with the enhancement.
2024-09-03 19:06:26 +10:00
Stenzek
6d0f92d4fb
dep/fmt: Bump to v11.0.2
2024-09-03 17:54:43 +10:00
Stenzek
6a3b1a2725
MDEC: Vectorize 16 and 24-bit copy-out
...
Speedup of 15% and 6% in FMV playback respectively.
2024-09-02 17:57:26 +10:00
spacepaw
63abdb7afd
Reworked the "Force NTSC Timings" feature to support both NTSC and PAL frame timings ( #3287 )
2024-09-03 10:50:45 +02:00
Stenzek
164a353352
System: Fix possible race condition in presence update
2024-09-02 12:12:41 +10:00
KamFretoZ
b564f928bd
DiscordRPC: Add Rcheevos Icon Support ( #3286 )
2024-09-01 22:02:28 +07:00
Stenzek
51cfea49fe
ImGuiManager: Split OSD and debug window fonts
...
Fixes the latter not fitting on screen anymore.
2024-09-02 00:27:48 +10:00
Stenzek
5ed8af4236
Achievements: Shrink URL buffer sizes
...
They never end up being 512 bytes.
2024-09-01 23:51:16 +10:00
Stenzek
7f4e5d55db
Misc: Update copyright headers
2024-09-01 22:08:31 +10:00
Stenzek
aa955b8ae2
GPU/SW: Split out rasterizer, add dynamic selection
2023-12-23 20:38:41 +10:00
Stenzek
3fbdcdb4ff
AudioStream: Rewrite and integrate expander
2024-09-01 13:16:10 +10:00
Stenzek
b84d3f14fc
SPU: Vectorize reverb resampling
2024-08-31 17:30:25 +10:00
Stenzek
cdba1fe25a
Common: Rename iNN -> sNN
2024-08-31 14:38:20 +10:00
Stenzek
7df5764835
Data: Remove license-incompatible shaders
2024-09-01 20:01:34 +10:00
Stenzek
63c7f4a893
GPU/HW: Fix assert with accurate blending + true colour on
2024-08-27 23:46:34 +10:00
Stenzek
d651c9f477
GameList: Support excluding disc sets
2024-08-26 21:42:35 +10:00
Stenzek
f243dc075d
Host: Use CompressHelpers for ReadCompressedResourceFile()
2024-08-26 21:33:00 +10:00
Stenzek
2c27b20090
ImGuiManager: Remove unused function
2024-08-26 18:53:30 +10:00
Stenzek
63bf64b05d
ImGuiOverlays: Use actual recording icon
2024-08-26 18:55:15 +10:00
Stenzek
940200f7f3
FullscreenUI: More animation fixes
2024-08-26 17:56:47 +10:00
Stenzek
46a6681159
CDROM: Fix incorrect clamp with seek speedup
...
And bump the minimum time up around 0.29ms or so, hopefully improve
stability in FF7.
2024-08-26 16:45:23 +10:00
Stenzek
344a4a6215
FullscreenUI: Navigation improvements
...
Improve default item focus, eliminate some animation glitches.
2024-08-26 15:47:50 +10:00
Stenzek
e54c4c8101
ImGuiManager: Tweak OSD message size
2024-08-26 14:41:58 +10:00
Stenzek
7a05d5aca5
Achievements: Reset focus when opening windows
2024-08-26 14:21:09 +10:00
Stenzek
b04f721d55
Achievements: Use plural form for points
2024-08-26 14:07:07 +10:00
Stenzek
6deb2eb390
Achievements: Fix badge download bug
...
Where it would download the incorrect icon if the locked badge was the
first image seen.
2024-08-26 00:15:32 +10:00
Stenzek
a7f3d7b02d
ImGuiManager: Add CompactFontRange()
2024-08-25 23:39:14 +10:00
Stenzek
e8b787fb57
Misc: Change various icons
2024-08-25 23:17:05 +10:00
Stenzek
f37a97bf18
Host: Add ReadCompressedResourceFile()
2024-08-25 17:48:12 +10:00
Stenzek
707453b596
FileSystem: Swap vector for DynamicHeapArray
...
No point zeroing it out.
2024-08-25 22:13:18 +10:00
Stenzek
f2c0303875
Misc: Use lightgun controller icon
2024-08-25 13:57:05 +10:00
Stenzek
72fc81a705
CMake: Add install target
...
Do **not** use this with /usr or /usr/local. It creates subdirectories
for resources/translations in the install prefix.
It's intended for creating a relocatable, self-contained bundle, which
can be packaged.
2024-08-12 18:49:28 +10:00
Stenzek
9dd83c4f9f
InputManager: Remove unused pointer type
2024-08-24 14:23:32 +10:00
Stenzek
bda6869084
Qt: Implement per-game controller configuration
2024-08-24 14:10:25 +10:00
Stenzek
9e3507e0f4
InputManager: Support multiple mice via raw input
...
Only on Windows for now.
2024-08-23 22:31:59 +10:00
Stenzek
8b3fd538ea
System: Fix HW/SW rendering swap
2024-08-23 15:59:31 +10:00
Stenzek
1aa9c2d564
GameDatabase: Add DisableSpriteTextureFiltering trait
2024-08-23 15:18:55 +10:00
Stenzek
3578572aa1
CPU/NewRec/x64: Fix data corruption on lwl/lwr with PGXP
2024-08-23 14:33:37 +10:00
Stenzek
2971b2f34c
CPU/PGXP: Inline valid flag updates
2024-08-20 21:18:07 +10:00
Stenzek
d4d813f043
CPU/PGXP: Identifier name consistency
2024-08-20 20:43:21 +10:00
Stenzek
dadf388657
CPU/PGXP: Make validate a member function
2024-08-20 21:09:12 +10:00
Stenzek
491179a447
CPU/PGXP: Remove remaining C-isms
2024-08-20 19:12:51 +10:00
Stenzek
a764954977
CPU/PGXP: Eliminate extra copy in SLT/SLTU
2024-08-20 18:35:49 +10:00
Stenzek
8629efc39c
CPU/PGXP: Purge macros
2024-08-20 18:33:18 +10:00
Stenzek
514116e6c3
CPU/PGXP: Rewrite SLL handler
...
Shift flags as well as the values.
2024-08-20 17:24:04 +10:00
Stenzek
bcd2424db3
CPU/PGXP: Combine logical/arithmetic shift functions
2024-08-20 17:23:36 +10:00
Stenzek
3548bbcf90
CPU/PGXP: Combine static/variable shift instructions
2024-08-20 17:18:33 +10:00
Stenzek
2662694c04
CPU/PGXP: Purge psx_value completely
2024-08-20 16:55:24 +10:00
Stenzek
fc375d76b5
CPU/PGXP: Purge psx_value from shifts
2024-08-20 16:42:51 +10:00
Stenzek
302652df22
CPU/PGXP: Purge psx_value from first half of instructions
2024-08-20 16:27:39 +10:00
Stenzek
9a6de196a3
CPU/PGXP: Use Instruction type
2024-08-19 22:22:18 +10:00
Stenzek
7dc78dbcd5
CPU/PGXP: Make MTC2/LWC2 behave the same
2024-08-20 20:06:04 +10:00
Stenzek
64a28aac53
CPU/PGXP: Fix typo in SLTU()
2024-08-20 19:27:26 +10:00
Stenzek
b9679dfb0b
System: Remove contradictory statement
2024-08-20 12:08:59 +10:00
Stenzek
3455a0d151
System: Fix lockup with runahead enabled
2024-08-20 11:50:52 +10:00
Stenzek
ef59a0da12
CPU: Fix assertion tripping in debug builds
2024-08-19 22:03:07 +10:00
Stenzek
41c8607782
TimingEvents: Don't defer frame done callback
2024-08-19 19:41:14 +10:00
Stenzek
86d4d92753
TimingEvents: Switch to 64-bit counters
2024-08-13 23:52:25 +10:00
Stenzek
a0fcbba45c
SPU: Refactor volume envelopes
...
Properly handle phase inversion. Fixes left channel audio in Wipeout 3.
2024-08-19 01:38:28 +10:00
Stenzek
fda6140088
GameDatabase: Add DisableAutoAnalogMode trait
...
For games that can handle analog controllers, but the sticks do not do
anything.
2024-08-18 20:33:15 +10:00
Stenzek
aa9a5e383d
ImGuiOverlays: Change icon colour depending on controller mode
2024-08-18 20:30:45 +10:00
Stenzek
304f69e350
CDROM: Fix rare interrupt race when cancelling commands
...
Fixes hang during loading in Street Fighter Alpha 3.
2024-08-19 15:11:37 +10:00
Stenzek
ee98912a42
SPU: Fix SPU_DUMP_ALL_VOICES option
2024-08-18 15:58:48 +10:00
Stenzek
3772706603
System: Look up media capture settings on-demand
...
No need to store them, save some memory.
2024-08-18 15:52:54 +10:00
Stenzek
9d7a3b10c2
Settings: Fix incorrect videos directory
2024-08-18 13:05:47 +10:00
Stenzek
7ac3e2fe50
Settings: Don't create deprecated achievement cache directories
2024-08-18 13:04:14 +10:00
Stenzek
c6d14febd2
System: Log information on startup
2024-08-18 12:50:16 +10:00
Stenzek
b274bf4d57
System: Switch to new capture file on video FPS change
2024-08-18 12:34:25 +10:00
xujibbs
ce7bbb47d5
FullscreenUI: Make "version" in Big picture translatable ( #3279 )
2024-08-18 12:16:18 +10:00
Stenzek
052930a8d8
System: Fix reset with Type 2 fastboot
2024-08-18 12:13:57 +10:00
Stenzek
2f5aa45e1f
SPU: Fix incorrect envelope rate
2024-08-16 21:39:33 +10:00
Stenzek
2e2451998c
Misc: Fix ARM32 build (again)
2024-08-14 21:39:29 +10:00
Stenzek
460acce561
MDEC: Ensure alignment of inputs
2024-08-14 21:39:04 +10:00
Stenzek
13a37418e6
FullscreenUI: Fix popup close resetting window scroll
2024-08-13 18:09:30 +10:00
Stenzek
f99d5ff39d
FullscreenUI: Fix saving of list options (e.g. controller settings)
2024-08-13 18:09:30 +10:00
Stenzek
a6ba2b5e20
BIOS: Prioritize image enumeration
...
Launch console BIOS is de-prioritized due to bugs.
Late PAL is de-prioritized due to additional regional checks that break import booting without fast boot.
PS2 is de-prioritized due to requiring a dynamic fast boot patch.
PS2 PAL is further de-prioritized due to additonal region checks.
2024-08-13 15:09:13 +10:00
Stenzek
421bd23dc8
Bus: Add stub for SIO2 accesses
...
But only enable it when using a PS2 BIOS. I could put the check in the
handler registration, but realistically this is basically never going to
be called, so better to keep things simple.
2024-08-13 14:48:18 +10:00
Stenzek
e96320daf0
BIOS: Add Type 2 fastboot patch (PS2)
2024-08-13 14:47:40 +10:00
Stenzek
9e09f53566
Core: Add constexpr MIPS Encoder
...
From https://raw.githubusercontent.com/grumpycoders/pcsx-redux/main/src/mips/common/util/encoder.hh
2024-08-13 14:46:42 +10:00
Stenzek
71738d12e0
GPU: Clear RT before sending to media capture
...
Fixes junk in inactive areas on Mac.
2024-08-12 22:17:45 +10:00
Stenzek
5786f3a8c9
System: Fix loading state without media
2024-08-12 21:22:32 +10:00
Stenzek
ee07e9e0f1
Hotkeys: Move Toggle Media Capture to General
2024-08-12 16:29:03 +10:00
Stenzek
c30c4a5d0a
GPU: Fix possible race in screenshot
2024-08-12 14:48:21 +10:00
Stenzek
9a58327cf2
GPU: Vectorize VRAM fills
2024-08-12 00:20:53 +10:00
Stenzek
abbb21ffec
GPU: Approxiate texture cache reload time for P8/C16 sprites
2024-08-11 23:50:37 +10:00
Stenzek
db4e28f44c
GPU: Add cycle penalty for reloading CLUT
2024-08-11 23:50:37 +10:00
Stenzek
00a58eb4e5
Bus: Fix sideloading EXEs without initial SP value
2024-08-11 23:50:37 +10:00
Stenzek
62eb557832
MediaCapture: Warning fix
2024-08-11 23:50:37 +10:00
Stenzek
af47eb6956
System: Add video capture feature
2024-08-11 21:06:58 +10:00
Stenzek
98b1a703f3
GPU/HW: Use texture instead of RTs for rewind/runahead w/o MSAA
2024-08-10 01:24:38 +10:00
Stenzek
55d095174f
CDROM: Defer init completion until after seek
...
Reduces leaky reverb in some games.
2024-08-10 00:13:59 +10:00
Stenzek
d1f0669374
SPU: Ensure all samples are generated prior to DMA write
2024-08-09 12:36:24 +10:00
Stenzek
c97516b01d
CDROM: Further improve seek timing
...
Fixes background music in World Cup 98, background noise in Idol
Promotion - Yumie Island, probably others.
2024-08-09 12:36:24 +10:00
Stenzek
b2ca23e9da
GPU: Use full display rect for postfx calculations
2024-08-06 17:38:08 +10:00
Stenzek
4f16cb61b4
GPUDevice: Expose swap chain clear colour
2024-08-06 17:35:27 +10:00
Stenzek
aeb9d383ce
System: Add save state compression mode options
2024-08-06 17:02:21 +10:00
Stenzek
70411783cd
System: Make more functions static
2024-08-06 16:10:15 +10:00
Stenzek
e6a682f8d5
System: Reduce rewind/runahead memory usage w/o 8MB enabled
2024-08-06 16:02:18 +10:00
Stenzek
0517aef5bd
CDROM: Don't allow deferred INT1 after Pause ACK
2024-08-06 13:34:11 +10:00
Stenzek
0c15c9eaa8
Qt: Fix bug where config-based RAIntegration occasionally failed
2024-08-04 21:03:42 +10:00
Stenzek
c3bf267936
System: Remove redundant remap
2024-08-04 21:03:39 +10:00
Stenzek
02fbfae6a0
System: Add advanced 'Export Shared Memory' option
...
Memory map is exported as duckstation_<pid>. Previously, this only
worked on Windows, now it is extended to Linux as well.
2024-08-04 20:28:07 +10:00
Stenzek
c538df317a
GameDatabase: Add crop mode override
2024-08-04 18:59:21 +10:00
Stenzek
6c0a0e6203
GPU: Fix incorrect lightgun line with force progressive
2024-08-04 17:54:19 +10:00
Stenzek
ec5d8cb1d6
Achievements: Use badge IDs from server
...
Fixes icons not invalidating if they're changed/reassigned in the RA
database.
2024-08-04 17:00:08 +10:00
Stenzek
f9079b0151
CDROM: Display XA coding info in debug window
2024-08-04 16:30:04 +10:00
Stenzek
ee538ae0ea
CDROM: Improve resampling quality of 18900hz XA
2024-08-04 16:21:35 +10:00
Stenzek
a2f98541b3
Misc: Slim down some header includes
2024-08-04 14:49:55 +10:00
Stenzek
143acca03b
Core: Purge resources.cpp
...
Save around 64KB in binary size.
2024-08-04 14:13:15 +10:00
Stenzek
1b9b4699d9
Qt: Fix render-window-resize with 270deg rotation
2024-08-03 01:19:22 +10:00
Stenzek
9a626caad9
Qt: Reduce game list jank after shutting down VM
...
Prevents progress bar briefly appearing, and the list scrolling to the
top when you exit a game.
2024-08-03 00:50:04 +10:00
Stenzek
3a83c4265c
Misc: Fix a bunch of code analysis warnings
...
Some of which were even actual errors.
2024-08-02 23:56:07 +10:00
Stenzek
33f6cc246e
System: Use default compression level
...
I'd intended to make this an option.
2024-07-29 22:06:21 +10:00
Stenzek
e0911d7f54
GPU/HW: Fix spec violation with Vulkan fbfetch
2024-07-29 17:27:33 +10:00
Stenzek
6ce9e571ed
Misc: Purge remaining ByteStream references
2024-07-29 17:27:32 +10:00
Stenzek
a6518ff9dc
System: Rewrite save state I/O
...
No more ByteStream or virtual calls for every piece of data.
2024-07-29 17:27:32 +10:00
Stenzek
dd8bf2c9d9
MemoryCard: Purge use of ByteStream
2024-07-29 17:27:32 +10:00
Stenzek
b5009da2bc
GameList: Purge use of ByteStream
2024-07-29 17:27:32 +10:00
Stenzek
7aaaf7c575
GameDatabase: Purge use of ByteStream
2024-07-29 17:27:32 +10:00
Stenzek
ab7a3e1934
BinaryReaderWriter: Add class for files as well as spans
2024-07-29 17:27:32 +10:00
Stenzek
6fe0c986fa
System: Rewrite EXE override/loading
...
Relies on POST=7 as a kernel initialization indicator, instead of
patching the BIOS.
Fixes EXE loading with OpenBIOS and PS2 BIOS, and fast boot getting
baked into save states.
2024-07-28 19:05:56 +10:00
Stenzek
7b99fcbbf3
GPU: Fix edge bleeding with Bilinear Integer scaling
2024-07-28 14:08:28 +10:00
Stenzek
a3acb0c5db
GPU/HW: Always allow shader blend with fbfetch
2024-07-27 19:52:08 +10:00
Stenzek
c2d24f436c
CDROM: Re-enable error-on-seeking-pause behaviour
...
See the comments in the diff. This **will** cause lag in Final Fantasy
VII during preload areas, but that has also been confirmed on console.
Duke Nukem - Total Meltdown does this silly Read -> Pause command chain,
except it sets its data/INT1 callback on the read, but never clears it
after the pause. Therefore, if it doesn't receive at least one sector,
the callback never gets cleared, and when the next read happens, it
stores the "current" callback in the "backup" variable, which should be
null, but now has the callback from the dud read.
The result is any INT1 during XA playback running the dud callback,
which says "hey, I'm not expecting any data, so pause, and stops the
background music playback. Making sure at least one sector from that
silly chain is delivered ensures the callback is cleared, and this does
not happen.
Since the pause first mentioned above will now error out until the first
sector is delievered, the game spams pause until it eventually does
succeed after the INT1. This behaviour has also been verified on
hardware, thanks to rama for the xStation logs.
2024-07-27 14:24:23 +10:00
Stenzek
440e08cf3e
Qt: Fix crash opening game compatibility report
2024-07-27 01:31:22 +10:00
Stenzek
7a3a72ec3d
GPU: Add display rotation option
2024-07-26 23:09:33 +10:00
Stenzek
0b5287f199
Bus: Implement RAM_SIZE register
...
Fixes Rock-Climbing - Mitouhou e no Chousen - Alps Hen (Japan) crashing
on boot. Silly game does a 512 word DMA from CDROM to 0x001FFF04, with the
mapped memory size set to 4MB, expecting the DMA to trigger a bus error,
because if it doesn't, then your kernel memory goes bye bye.
A bunch of other games do set the upper 4MB to be unmapped, but this
change appears to have no effect on them. As expected, they're probably
doing the correct thing.
2024-07-24 00:14:17 +10:00
Stenzek
dce1221021
Bus: Log when RAM_SIZE changes
2024-07-23 23:00:44 +10:00
Stenzek
68575d15a4
CDROM: Shift instead of divide in ZigZagInterpolate
2024-07-23 22:10:04 +10:00
Stenzek
5ec9c8a397
CDROM: Fix handling of 8-bit ADPCM and decoder overruns
...
Fixes pops in menu music in Simple 1500 Series Vol. 92 - The Tozan
RPG - Ginrei no Hasha.
I haven't seen anything that _properly_ uses 8-bit ADPCM yet. The above
game does, but only in the inaudible portion of the start of the track.
2024-07-23 21:54:22 +10:00
Stenzek
861d4a5aa2
FullscreenUI: Reorder graphics settings to match Qt
2024-07-23 21:11:01 +10:00
Stenzek
0407f939fc
CPU: Fix loading recompiler-saved states with interpreter
2024-07-23 21:11:01 +10:00
Stenzek
2a617c505a
GPU/HW: Support using ROV for accurate blending
2024-07-23 14:46:06 +10:00
Stenzek
e743c5d1b1
GPU/HW: Force update CLUT on save state
...
Fixes switching from hardware->software renderer in games that are
drawing without reloading the CLUT.
2024-07-22 21:25:14 +10:00
Stenzek
298f39a0c8
GPU/HW: Fully report shader/pipeline creation failures
2024-07-22 15:43:18 +10:00
Stenzek
deed0c9713
GameDatabase: Merge compatibility messages
2024-07-22 14:59:55 +10:00
Stenzek
b4136d2834
TimingEvents: Avoid heap allocation in SortEvents()
2024-07-21 16:15:40 +10:00
dreamsyntax
d9ada75d4f
Qt: Toggle for DualSense Player LED ( #3254 )
2024-07-21 16:07:36 +10:00
Stenzek
3172eac8df
PINE: Disable nagle buffering
2024-07-21 13:43:21 +10:00
Stenzek
f2e88ce0e5
PINE: Add MsgReadBytes/MsgWriteBytes
2024-07-21 13:34:10 +10:00
Stenzek
79644bfb2a
CPU: Add Safe{Read,Write}MemoryBytes
2024-07-21 13:33:54 +10:00
Stenzek
52f9e8556a
CDROM: Deactivate command attempt before queueing another
...
Reduces chances of ending up with unordered events.
2024-07-20 22:35:32 +10:00
Stenzek
efd8aab437
TimingEvents: Fix events ending up out-of-order
2024-07-20 22:35:32 +10:00
Stenzek
9b77a9aff7
TimingEvents: Move interrupt dispatch to end of loop
...
Saves another iteration.
2024-07-20 13:42:01 +10:00
Stenzek
4f7ddfaae6
TimingEvents: Remove pointer indirection
...
Probably should move this to one big array for locality.
2024-07-19 22:56:41 +10:00
Stenzek
56dd9878e1
Misc: RISC-V build fixes
2024-07-19 22:25:57 +10:00
Stenzek
2e96931c32
CPU/CodeCache: Dynamically compute BIOS memory access timing
...
The timings can change if the game does so. Instead of forcing the
blocks to recompile, we can just manually multiply size * word_time.
Improves stability of Nightmare Creatures booting, and fixes corrupted
text in Formula Circus when using the cached interpreter.
2024-07-19 22:25:57 +10:00
Stenzek
d9a224ef6c
GameList: Fix bogus entries on disc change due to disc set
2024-07-19 15:51:25 +10:00
Stenzek
6a920b268e
CDROM: Handle BFRD clears inbetween DMA transfers
...
Fixes disc detection in Metal Gear Solid: Special Missions.
2024-07-19 15:51:25 +10:00
Stenzek
f0945ca3ca
BIOS: Refactor loading/hashing of images
...
Fixes identification of PS2 BIOSes. However, they are not (yet) fastboot
compatible.
2024-07-19 15:51:25 +10:00
Stenzek
19063d4288
Bus: Mirror BIOS area up to 4MB
...
Fixes bus error when using PS2 BIOS.
2024-07-19 15:51:25 +10:00
Stenzek
7217536fdd
MD5Digest: Span-ify
2024-07-19 15:51:25 +10:00
Stenzek
6176a21ff1
ProgressCallback: Eliminate redundancy and drop C format strings
2024-07-19 15:51:25 +10:00
Stenzek
567b86ce79
Host: Purge ReportFormattedDebuggerMessage()
2024-07-19 14:00:29 +10:00
Stenzek
92038da3d5
CDROM: Handle speed change while reading
...
Fixes level music in Croc 2 demo.
2024-07-18 00:31:19 +10:00
Stenzek
9a89ab3bab
GameDatabase: Add deinterlacing mode override
2024-07-17 20:57:36 +10:00
Stenzek
f1ca914512
CDROM: Further adjust IRQ delay
...
Fixes audio dropouts in Crime Crackers, Ogre Battle seems fine now as
well.
2024-07-17 20:57:36 +10:00
Stenzek
9392c19a70
CDROM: Handle audio sectors in 2X mode
...
Fixes menu background in 360 Three Sixty.
2024-07-17 20:57:35 +10:00
Stenzek
44b9d16d9f
CDROM: Defer set of autopause track
...
Pitball's menu music starts mid-second, and there's no pregap,
so the first couple of reports are for the previous track.
It doesn't enable autopause until receiving a couple, and it's
actually playing the track it wants.
2024-07-17 20:57:35 +10:00
Stenzek
fb747d6ded
CDROM: Drop setloc on double Play
...
And limit the locations position is updated while seeking.
Fixes menu music in Hot Wheels: Extreme Racing.
2024-07-17 20:57:35 +10:00
Stenzek
bc30569a6d
SPU: Reverb input should be muted when SPU muted
...
Fixes pause menu in Bubsy 3D, Tuning Car Battle Spec R.
2024-07-17 20:57:17 +10:00
Stenzek
fae6b7ae86
System: Fix double error on load/boot cancel
2024-07-14 21:32:10 +10:00
Stenzek
fee888758f
System: Purge unused RecreateSystem()
2024-07-14 21:30:52 +10:00
Stenzek
640ed4a2d3
CPU/Recompiler: Eliminate redundant speculative reg read
2024-07-14 21:26:17 +10:00
Stenzek
59a2309a83
GPU: Use half width vector types where appropriate
2024-07-14 21:25:48 +10:00
Stenzek
df979d4648
Build: Fix DiscordRPC not being included in Mac bundle
2024-07-14 21:25:26 +10:00
Stenzek
500fbe5ef1
Achievements: Fix potential uninitialized data read
2024-07-14 21:25:25 +10:00
Stenzek
8698298499
CPU/NewRec: Fix incorrect condition in GenerateCall()
2024-07-14 21:25:25 +10:00
Stenzek
a5a320720a
GPU/HW: Fix incorrect dirty rect union
...
Reduces GPU usage during screen waves effect in Um Jammer Lammy from
over 70% down to 3% on my 7900GRE at 9x.
2024-07-14 18:26:02 +10:00
Stenzek
fd0626aa6d
GameList: Re-extract memcard icon if deleted
...
But don't keep trying if the game doesn't have a save.
2024-07-14 18:26:02 +10:00
Stenzek
5da6c926d9
GameList: Always open icon cache with r+b on Linux
...
Fixes flock() error on startup.
2024-07-13 18:32:42 +10:00
Stenzek
2cfa535784
System: Fix certain GPU settings not applying until unpause
2024-07-13 17:52:42 +10:00
Stenzek
7c45ad3fed
GameList: Add dedicated gameicons directory
2024-07-11 17:17:25 +10:00
Stenzek
2ac2ad605e
CPU/Recompiler: Break blocks on invalid instructions
2024-07-11 17:17:25 +10:00
Stenzek
3b9c489787
CPU: Pass instruction query values by reference
2024-07-11 17:17:25 +10:00
Stenzek
226a8eac81
MemoryCardIconCache: Ignore shared cards
2024-07-10 21:47:02 +10:00
Stenzek
11f7bfc461
CPU/PGXP: Refactor add/sub for small speedup
2024-07-10 20:56:42 +10:00
Stenzek
e5c62b8baf
CPU/PGXP: Fix incorrect Y on invalid add/sub
2024-07-10 20:56:21 +10:00
Stenzek
5881133cf5
CPU/PGXP: Set valid on bitwise ops from lowprec
2024-07-10 19:10:56 +10:00
Stenzek
9be7a37416
GSVector: SIMD-ify YUVToRGB
...
Almost 10x speedup on the function alone, 15% in practice ingame.
2024-07-10 15:18:42 +10:00
Stenzek
8659c8cca6
Core: Add MemoryCardIconCache
2024-07-09 21:38:38 +10:00
Stenzek
de27e5de92
GPU: Add option to disable PGXP on 2D polygons
2024-07-09 20:37:58 +10:00
Stenzek
f0e2d1a9fa
CPU/PGXP: Rewrite SLTI/SLTIU handlers
...
Don't read uninitialized memory...
2024-07-09 20:14:08 +10:00
Stenzek
d922a43127
CPU/PGXP: Don't force valid input on slt/sltu
2024-07-09 19:45:44 +10:00
Stenzek
3b7844be5a
CPU/PGXP: Don't force valid inputs on mult/div
2024-07-09 19:21:47 +10:00
Stenzek
d831cb69a9
CPU/PGXP: Normalize variable names
2024-07-09 19:16:16 +10:00
Stenzek
5410a42fd7
CPU/PGXP: Explicitly handle addi rt, zero, nnnn
2024-07-09 19:07:17 +10:00
Stenzek
b6f7420018
CPU/PGXP: Don't force inputs to valid on add/sub
2024-07-08 17:18:27 +10:00
Stenzek
7f21226a99
GameDatabase: Warn if vertex cache is enabled but unnecessary
2024-07-07 14:29:29 +10:00
Stenzek
d63ae8718f
GPU: Always calculate draw rect
...
Stops postfx shaders that depend on the draw rect going into NaN
territory.
2024-07-07 12:46:09 +10:00
Nik Chizhov
a3d600d5c3
fix: moved vairable access
2024-07-07 12:45:49 +10:00
Nik Chizhov
5cdcdb565f
fix: string to c-string to string
2024-07-07 12:45:49 +10:00
PugsyMAME
d372609bdc
Add memory contents to "Addr=" string in debugger
...
Tweaks the format of the addr= string in the debugger/trace so that it includes the memory contents.
It will also take the 2nd character of the opcode and if it's b or h it will size it accordingly.
so
addr=800BC2D0
becomes
addr=800BC2D0[00000000] or addr=800BC2D0[0000] or addr=800BC2D0[00]
This change amongst other things will facilitate a widescreen cheat scanner, that will take a lot of the work away from making widescreen cheats.
2024-07-06 22:51:59 +10:00
Stenzek
ed5a99066f
GPU: Cull off-screen sprites/lines
...
And further optimizations to culling in general.
2024-07-06 22:13:46 +10:00
Stenzek
bc73dacea4
System: Use socket multiplier for sleeping when connected
...
Should significantly reduce PINE latency.
2024-07-06 21:56:30 +10:00
Stenzek
b06fceffa4
GDB/PINE: Fix listen socket leak on shutdown
2024-07-06 21:56:30 +10:00
Stenzek
9a70003b70
MSBuild: Silence MSVC warning C4324
2024-07-06 19:45:16 +10:00
Stenzek
23962fd07e
GTE: Pack local config in struct
2024-07-06 19:33:38 +10:00
Stenzek
b6a264b8b4
TimingEvents: Pack state in struct
2024-07-06 19:18:25 +10:00
Stenzek
a57101c1f0
Timers: Pack state in struct
2024-07-06 19:18:25 +10:00
Stenzek
f5cae1957b
MDEC: Pack state in struct
2024-07-06 19:18:25 +10:00
Stenzek
e1a4c7dfdd
DMA: Pack state in struct
2024-07-06 19:18:25 +10:00
Stenzek
536b48d706
SPU: Pack state in struct
2024-07-06 19:18:25 +10:00
Stenzek
77488db3dc
Misc: Align CPU state and SPU voices to cache lines
...
Fixes the ~12% performance regression from the texture replacement
namespace'ify commit. Apparently LTO was placing the CPU struct in the
middle of a cache line...
2024-07-06 18:49:37 +10:00
Stenzek
4c0250716d
GPU/HW: Ensure buffers are freed prior to recreating
2024-07-04 21:54:44 +10:00
Stenzek
c02bf0f662
CPU/NewRec/RV64: Compile fix
2024-07-04 21:40:19 +10:00
Stenzek
87f2995f3d
TextureReplacements: Namespace-ify
2024-07-04 15:52:32 +10:00
Stenzek
69c35c9fcd
Deps: Remove rapidjson from in-tree
2024-07-04 15:52:32 +10:00
Stenzek
f6d3a7987d
System: Load discord-rpc dynamically
2024-07-04 15:52:32 +10:00
Stenzek
00d2d862c2
Build: Use shared discord-rpc
2024-07-04 15:52:32 +10:00
Stenzek
4b61a3cbf3
Qt: Unrestrict resolution scale up to device limits
2024-07-04 13:25:27 +10:00
Stenzek
2bcb85d431
GPU/HW: Push all draws/writes through a common path
2024-07-03 15:44:12 +10:00
Stenzek
9ef7e8c5d0
GPU/HW: Use GSVector instead of Rectangle
2024-07-03 15:44:12 +10:00
Stenzek
ef152c47a6
GPU/HW: Interpolate native texture coordinates when upscaling
2024-07-03 15:44:12 +10:00
Stenzek
044d7a4797
GPU: Eliminate heap allocation on state load
2024-07-03 00:24:12 +10:00
Stenzek
f9bf2e8239
GPU: Use GSVector for SW scanout
2024-07-03 00:24:12 +10:00
Stenzek
0968610ba7
CDROM: Use GSVector
2024-07-03 00:24:12 +10:00
Stenzek
69471950f0
ImGuiOverlays: Use GSVector
2024-07-03 00:24:12 +10:00
Stenzek
b094c9cd87
MDEC: Vectorize IDCT
2024-07-03 00:24:12 +10:00
Stenzek
baab966b4e
System: Check for SSE4.1 in early hardware checks
2024-07-03 00:24:12 +10:00
Stenzek
173a61039c
System: Use cpuinfo for cache line size check
2024-07-03 00:24:12 +10:00
Stenzek
aabe39d0f8
GPU: Allow DMAs in Mode 1
...
Exact behaviour is still unknown, but it works on console (Nicolas
Noble's torus demo).
2024-07-02 16:56:11 +10:00
Stenzek
e1f90e6baf
MDEC: Store scale/IDCT matrix transposed
2024-07-02 16:56:10 +10:00
Stenzek
6d6659c85e
MDEC: Increase intermediate IDCT precision
2024-07-02 16:56:07 +10:00
Stenzek
e169189441
GPU/HW: Fix possible crash when changing texture filtering
2024-07-01 01:07:27 +10:00
Stenzek
44142ab4f9
CPU/Recompiler: Prefer adrp over trampoline for +/-4GB branches
2024-06-30 16:45:51 +10:00
Stenzek
f3671d21f3
CPU/CodeCache: Reduce far code size when using NewRec
2024-06-30 16:45:51 +10:00
Stenzek
9b42ad3859
CPU/CodeCache: Purge JitCodeBuffer
2024-06-30 16:45:51 +10:00
Stenzek
be8fbafd71
CPU/CodeCache: Always dynamically allocate code buffer
...
Reduces .bss size.
2024-06-30 16:45:51 +10:00
Stenzek
890f3fcf5d
Common/Log: Make actually writing unlikely
...
Move it out of the hot path.
2024-06-30 16:45:51 +10:00
Stenzek
34d5cdec96
GPU/HW: Expose depth buffer to internal postprocessing
2024-06-29 14:25:36 +10:00
Stenzek
e39a2d00bf
GPU/HW: Use D32F for PGXP depth
...
16-bit isn't accurate enough for post processing.
2024-06-29 13:09:45 +10:00
Stenzek
1cb3e6bd49
ShaderGen: Support multiple render target output
2024-06-29 13:09:45 +10:00
Stenzek
80d1056ddf
GPU: Add virtual call when buffers are swapped
2024-06-28 21:15:47 +10:00
Stenzek
0c3cf1f5f8
PostProcessing: Split into internal and display chains
2024-06-28 20:17:15 +10:00
Stenzek
810ce1ce57
GPU: Remove duplicate display params fields
...
And enable postfx when the DAC is turned off.
2024-06-28 20:17:15 +10:00
Stenzek
3877486712
System: Ensure titles are sanitized for screenshots
2024-06-28 19:44:27 +10:00
Stenzek
a89ec0eaf9
Achievements: Always recompute state data size on save
...
It can be smaller, or, apparently fail in some cases...
2024-06-28 13:12:27 +10:00
Stenzek
ebf50edb79
System: Allocate JIT space before fastmem area
...
On Intel MacOS 14, the fastmem area gets allocated close to the
executable base, leaving no region free +/- 2GB for the JIT area.
2024-06-26 17:11:27 +10:00
Stenzek
db305660c1
Achievements: Implement disc change without state reset
2024-06-24 13:16:50 +10:00
Stenzek
b9ff358ab3
Achievements: Support scratchpad memory
2024-06-24 13:16:50 +10:00
Stenzek
e7e09023e2
Achievements: Avoid malloc on state save/load
2024-06-24 13:16:50 +10:00
Stenzek
63055f1e7f
FullscreenUI: Add sprite texture filtering option
2024-06-23 13:10:10 +10:00
Stenzek
ccb76d1451
GameList: Add custom title/regions
...
Largely inspired by https://github.com/PCSX2/pcsx2/pull/9330 , but almost
entirely rewritten.
2024-06-17 23:45:02 +10:00
Stenzek
01fc3258a3
CPU/Recompiler: Warning fix for ARM64/Clang
2024-06-17 17:13:23 +10:00
Stenzek
1ae79c89e3
System: Refactor unsafe settings warning
...
And warn about round upscaled texture coordinates option.
2024-06-17 17:02:55 +10:00
Stenzek
a5f8684bcd
BIOS: Add further detail to missing BIOS message
2024-06-17 16:47:21 +10:00
Stenzek
34f20798a1
GPU/HW: Add separate 3D/2D (sprite) texture filtering
2024-06-17 15:56:56 +10:00
Stenzek
be4abb016f
GPU/HW: Reduce multiple setting source of truth
2024-06-17 15:49:12 +10:00
Stenzek
6870010351
GPU/HW: Remove log spam
2024-06-16 21:15:37 +10:00
Stenzek
3d6b9e18c5
Settings: Include cheats in disable-all-enhancements
2024-06-16 19:22:09 +10:00
Stenzek
8455c9c3c6
GPU/HW: Add 'Force Round Upscaled Texture Coordinates'
2024-06-16 19:09:46 +10:00
Stenzek
1582b2ae5d
GPU/HW: Make texture filtering a fragment shadergen parameter
2024-06-16 19:09:46 +10:00
Stenzek
c1792108f4
GPU/HW: Eliminate raw texture pipeline permutations
2024-06-16 17:09:24 +10:00
Stenzek
ef69c31e9f
GPUDevice: Support transpiling shaders at compile time
...
And use it for GLSL postprocessing shaders.
2024-06-14 21:21:34 +10:00
Stenzek
f0c2832d03
Dep: Update vixl to 662828c
2024-06-14 17:42:24 +10:00
Stenzek
8124fb2ef5
CDROM: Fix incorrect sector dropped log message
2024-06-13 18:35:02 +10:00
Stenzek
9a88cbce09
Pad: Fix incorrect card mismatch OSD message
2024-06-13 18:35:02 +10:00
Stenzek
c86f6eb639
Achievements: Fix incorrect data source for mastery points
2024-06-13 18:35:02 +10:00
Stenzek
ac1bb905fe
GPU: Set idle bit during VRAM upload
...
Tenga Seiha does a bunch of completely-invalid VRAM writes on boot, then
expects GPU idle to be set. It's unclear what actually happens, I need to
write another test, but for now, just skip these uploads. Not setting GPU
idle during the write command breaks Doom, so that's not an option.
2024-06-13 18:35:02 +10:00
Stenzek
354b250642
PostProcessing: Add native width/height inputs
...
Available in GLSL as GetNativeSize(), GetUpscaleMultiplier(), and in
reshade as native_width/native_height/upscale_multiplier.
GetPaddedOriginalSize() is now deprecated, as it does not make since
since the postfx shader runs with a window-sized off-screen target as an
input, not the internal render texture.
2024-06-11 14:04:45 +10:00
Stenzek
b464b6d668
FullscreenUI: Fix loading undo state from menu
2024-06-11 13:07:47 +10:00
Stenzek
8595175267
CDROM: Improve accuracy of sector redelivery on DMA complete
...
Fixes hang in loading in Syphon Filter 2/3.
2024-06-09 19:47:51 +10:00
Stenzek
34861074c1
CDROM: Ensure complete IRQs for Init go through
...
Fixes booting games with OpenBIOS and its Init spam.
2024-06-08 16:58:08 +10:00
Stenzek
7222c21cd9
CDROM: Further refine interrupt delay
2024-05-31 23:59:44 +10:00
Stenzek
3e3572c410
DMA: Fix range check in mode0 when decrementing
...
Fixes lag on startup in Clone (Euro Demo 42).
2024-05-31 23:08:07 +10:00
Stenzek
c637e2b337
System: Fix title after loading state for EXE-boot
2024-05-31 21:08:45 +10:00
Stenzek
e70f155054
MemoryCard: Implement GetID command
2024-05-31 21:08:21 +10:00
Stenzek
8ef73203b2
Bus: Ignore SPU byte writes to unaligned addresses
2024-05-31 21:00:55 +10:00
Stenzek
a7543ab365
GPU/HW: Fix crash on VRAM write/copy with mask test
2024-05-31 20:39:31 +10:00
Stenzek
627c12bebe
GPU: Fix IRQ request
2024-05-31 20:39:18 +10:00
Stenzek
73136d7dc4
GPU: Tie idle bit to FIFO emptyness on VRAM write
...
Fixes Tenga Seiha lockup on boot.
2024-05-31 20:12:59 +10:00
Stenzek
53600746c7
GPU: Cancel VRAM writes on Reset
2024-05-31 19:49:40 +10:00
Stenzek
d013438810
CDROM: Rewrite BFRD handling
...
Fixes hang on startup in Unirom.
2024-05-31 19:45:42 +10:00
Stenzek
723af4de3a
Misc: Loading old save state versions is unlikely
2024-05-31 18:48:26 +10:00
Stenzek
3063101274
CDROM: Implement 0x60 test command
...
Apparently needed for unirom.
2024-05-30 22:34:06 +10:00
Stenzek
7682cd2c10
System: Generate hash serials when running PS-EXE
...
Allows for per-game settings.
2024-05-30 22:21:52 +10:00
Stenzek
25bf2b3adc
CDROM: Clear async interrupt on read/seek start
...
Fixes broken audio in Road Rash.
2024-05-30 20:49:58 +10:00
Stenzek
039796690c
GPU/HW: Fix a couple of out-of-order UBO pushes
2024-05-28 17:38:28 +10:00
Stenzek
2eb0085539
System: Fix inverted volume selection
2024-05-27 11:58:42 +10:00
Stenzek
015804c434
System: Move GDB server into core
2024-05-27 00:18:05 +10:00
Stenzek
55d96f86f0
System: Add "Disable Mailbox Presentation" option
...
Partial backport of https://github.com/PCSX2/pcsx2/pull/11296
2024-05-26 22:38:35 +10:00
Stenzek
83df785558
Settings: Default threaded presentation to off
2024-05-26 22:38:35 +10:00
Stenzek
4311e08726
System: Implement PINE server
2024-05-26 22:38:35 +10:00
Stenzek
328a3cd7af
System: Prevent save states while memory cards are being saved
2024-05-25 17:42:12 +10:00
Stenzek
2ff1f398a3
CDROM: Handle INT1 with pending command
...
Fixes lockup during track playback in Gokujou Parodius Da! Deluxe Pack.
2024-05-25 16:10:09 +10:00
Stenzek
60ee17e713
System: Fix regtest dumping
2024-05-25 15:58:41 +10:00
Stenzek
1565a2667d
Misc: More format string fixes
2024-05-25 15:48:31 +10:00
Stenzek
22c76d43c3
CPU/PGXP: Reduce vertex cache memory
2024-05-25 02:06:40 +10:00
Stenzek
0f9a255093
System: Fallback to FIFO on AMD (no mailbox support)
2024-05-24 22:48:26 +10:00
Stenzek
98520978a8
System: OSD message corrections
2024-05-24 22:13:35 +10:00
Stenzek
49e3663dfe
Settings: Purge max display FPS option
...
No longer needed since we pull it from the surface instead.
2024-05-24 02:33:33 +10:00
Stenzek
42a5fe0a6e
GPU: Further improve vsync handling
2024-05-24 02:33:33 +10:00
Stenzek
4e922a34a7
Log: Simplify macros
2024-05-24 02:08:14 +10:00
Stenzek
792717e03e
Misc: Get rid of format string for result logging
2024-05-24 00:30:06 +10:00
Stenzek
9f90f14c48
CPU/CodeCache: Only print code size stats on request
2024-05-24 00:30:06 +10:00
Stenzek
b6d019db66
Misc: Replace log printf calls with fmt
2024-05-24 00:29:49 +10:00
Stenzek
49b2e76dea
GPU/HW: Warning fix
2024-05-23 20:08:14 +10:00
Stenzek
d2f28b6926
GPU: Explicit RemovePathLimits() is no longer needed
2024-05-23 19:52:56 +10:00
Stenzek
10df7ba319
GPU/HW: Ensure CLUT cache is synced when using SW-for-readbacks
2024-05-23 14:30:18 +10:00
Stenzek
6cad97b404
GPUDevice: Make vsync actually tear-free
...
Apparently users prefer stutter over tearing...
2024-05-23 13:52:26 +10:00
Stenzek
dd98b630ea
GameList: Treat disc sets and discs equally when sorting
2024-05-23 12:45:57 +10:00
Stenzek
8709624751
GameList: Fix disc set last played time
2024-05-22 22:46:09 +10:00
Stenzek
14ba3b7312
System: Fix sync to host refresh audio stretching
2024-05-22 22:32:51 +10:00
Stenzek
d9cc80c7f9
WindowInfo: Get refresh rate from monitor config
...
DwmGetCompositionTimingInfo() returns a noisy refresh rate, at least on
Win11 22H2.
2024-05-22 22:16:31 +10:00
Stenzek
08125262bb
System: Fix Edit Memory Cards action for disc sets
2024-05-21 13:55:37 +10:00
Stenzek
1a4679def8
System: Use different conditions for frame dupe-skip
2024-05-20 01:32:33 +10:00
Stenzek
ab4c6f2dde
CPU/NewRec: Enable delay slot swapping in more situations
...
Load delay is always updated, so don't need to swap when it's reading
from a delayed register. Branching on a delayed register will also be
fine, since it won't be flushed by the the branch executes.
2024-05-20 01:12:32 +10:00
Stenzek
09b43f962a
CPU/NewRec: Clear needed on swapped delay slot
...
Fixes panic in BIOS on x86_64 Linux with PGXP enabled.
2024-05-20 01:12:32 +10:00
Stenzek
5b4f74122c
System: Add "Skip Duplicate Frame Display" option
...
Skips the presentation/display of frames that are not unique.
Can be combined with driver-level frame generation to increase
perceptible frame rate. Can result in worse frame pacing, and is
not compatible with syncing to host refresh.
2024-05-20 01:12:32 +10:00
Stenzek
14c30dfa80
FullscreenUI: Update string list
2024-05-19 13:19:51 +10:00
Stenzek
1205b75c51
GameList: Reduce logging verbosity
2024-05-19 13:19:51 +10:00
Stenzek
1adaea9005
GameList: Merge multi-disc games
2024-05-18 15:21:44 +10:00
Stenzek
9bdf23cba7
System: Load game settings from first disc of multi-disc games
2024-05-18 15:21:44 +10:00
Stenzek
073ac87be2
GameList: Use string_view for GetEntryForPath()
2024-05-18 15:21:43 +10:00
Stenzek
9b086b7807
CPU: Fix disassembly of rtps/nclip
2024-05-18 00:33:22 +10:00
Stenzek
7476baced6
CPU/PGXP: Track valid Z for lower/upper halves of 32-bit values
...
Dragon Valor writes both lower and upper halfwords separately from
non-valid-Z values. The Z needs to be cleared out.
2024-05-18 00:33:22 +10:00
Stenzek
ea4efb4e52
CPU/PGXP: Prefer fresh over tainted Z values
...
Fixes terrain polygon's Z in Wild Arms 2 after battles.
2024-05-18 00:33:22 +10:00
Stenzek
5672b0da95
CPU/PGXP: sub rd, rs, 0 => move rd, rs
2024-05-18 00:33:22 +10:00
Stenzek
bbac7a60a0
CPU/PGXP: Don't set high bits of flags
2024-05-18 00:33:22 +10:00
Stenzek
37b1aa45dd
CPU/PGXP: Minor optimization to shift instructions
2024-05-18 00:33:22 +10:00
Stenzek
3fd86a69a4
CPU/PGXP: Use component enum
2024-05-18 00:33:22 +10:00