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