Stenzek
1481c1d231
System: Post-processing is shut down on GPU thread
2025-01-18 22:59:48 +10:00
Stenzek
b9822602b2
FullscreenUI: Show game icons in game list
2025-01-18 22:59:48 +10:00
Stenzek
f98b904c50
FullscreenUI: Add 'Set Cover Image' to game list
2025-01-18 22:59:48 +10:00
Stenzek
e34d23c8e7
FullscreenUI: Implicitly close non-multichoice dialogs
...
Also fixes disc swap using a multichoice instead of single.
2025-01-18 22:59:47 +10:00
Stenzek
a7ab53f02c
GPU: Fix GLSL ES compile error with weave deinterlacing
2025-01-18 22:59:47 +10:00
Stenzek
43e7be902c
Misc: Add missing error reporting to a couple of WriteBinaryFiles()
2025-01-18 22:59:47 +10:00
Stenzek
e8a4296fd6
FullscreenUI: Add missing settings lock acquire
2025-01-18 22:59:10 +10:00
Stenzek
e94973cd28
FullscreenUI: Fix disc swap running on GPU thread
2025-01-18 13:48:05 +10:00
Stenzek
fbb63a81a8
FullscreenUI: Change default background and add Strobe
2025-01-17 16:05:24 +10:00
Stenzek
7deaaa8b26
FullscreenUI: Use ImGui dialogs for boot failure
2025-01-17 14:30:22 +10:00
Stenzek
e554456a00
System: Fix blank display on pause-on-start
2025-01-17 14:20:37 +10:00
Stenzek
3be4f1983d
GPU: Fix playback of VRAM updates during draws
2025-01-17 13:22:40 +10:00
Stenzek
092b2803c5
GPU/HW: Flipping the mask bit test should flush
2025-01-16 23:50:40 +10:00
Stenzek
cd8a160d8d
GPU/HW: Clear alpha channel in opaque replacements
...
This is the value for bit15 in the framebuffer. Silent Hill
needs it to be zero, I'm not aware of anything that needs
specific values yet. If it did, we'd need a different dumping
technique.
2025-01-16 23:25:24 +10:00
Stenzek
add76c267a
Achievements: Fix request spam downloading own badge icon
2025-01-16 22:13:02 +10:00
Stenzek
c4a7456689
GPU/SW: Use no_unique_address for potentially-unused varyings
2025-01-16 22:13:02 +10:00
Stenzek
804b8ff777
CDROM: Remove redundant min()
2025-01-16 21:45:34 +10:00
Stenzek
10de915ae0
System: Remove 'sync_to_host_with_vsync'
...
Disabling the throttler with threaded rendering just leads to the CPU
thread pushing multiple frames, and getting backpressured from the GPU
thread. In other words, input lag.
2025-01-16 21:45:30 +10:00
Stenzek
074a8a2653
GPUThread: Fix input OSD with threaded rendering off
2025-01-16 21:38:45 +10:00
Stenzek
f6f709bcc5
System: Fix vsync preventing fast forward/turbo
2025-01-16 21:14:21 +10:00
Stenzek
93771981a6
FullscreenUI: Add sort alphabetically option to cheat page
2025-01-16 13:47:09 +10:00
Stenzek
79245b6cd6
FullscreenUI: Make footer text background semitransparent
2025-01-16 01:14:22 +10:00
Stenzek
45b500bc2c
GPU/HW: Fix draw call count spiking in some scenarios
2025-01-15 22:50:29 +10:00
Stenzek
3687697d0e
CPU/CodeCache: Only reset used portion of buffer
...
Saves writing 48MB every reset.
2025-01-15 21:02:56 +10:00
Stenzek
1952869cdc
Cheats: Author field should be exported
2025-01-15 21:02:56 +10:00
Stenzek
050bda8cd2
FullscreenUI: Fix scroll reset on resume state popup
2025-01-14 21:07:00 +10:00
Stenzek
135d99ac17
FullscreenUI: Fix incorrect help text
2025-01-14 21:07:00 +10:00
Stenzek
2fd89403f8
FullscreenUI: Name landing icon files after action
2025-01-14 19:05:18 +10:00
Stenzek
3130e16438
FullscreenUI: Add user-selectable backgrounds
2025-01-14 18:59:42 +10:00
Stenzek
ccb2b61444
FullscreenUI: Fix incorrect back button
2025-01-14 16:33:24 +10:00
Stenzek
3a13806f73
Hotkeys: Fix Toggle OSD hotkey
2025-01-14 13:49:49 +10:00
Stenzek
6db1dbbe02
GameList: Don't return nonexistant path on icon extract fail
2025-01-13 23:49:09 +10:00
Stenzek
0dc257abe4
System: Set time constraints for GPU thread on MacOS
...
Fixes erratic frame times.
2025-01-13 19:51:35 +10:00
Stenzek
d3854d095e
AnalogController: Use variant vibration icon for large motor
2025-01-13 19:49:56 +10:00
Stenzek
f6c7681ef0
ImGuiOverlays: Double buffer input OSD and add vibration
2025-01-13 16:49:31 +10:00
Stenzek
dd7fd32501
Controller: Add GetVibrationMotorState()
2025-01-13 16:49:14 +10:00
Stenzek
3476140ba2
GPUThread: Add BeginASyncBufferCall()
2025-01-13 16:08:20 +10:00
Stenzek
462a4a3b50
Controller: Refactor so that GetControllerInfo() can't return null
2025-01-13 16:07:43 +10:00
Stenzek
3621705933
Achievements: Ensure loading old states behave the same as new
2025-01-13 13:13:15 +10:00
Stenzek
8f39dbb464
Achievements: Fix race condition invalidating images
2025-01-13 13:03:41 +10:00
Stenzek
2f854de9d0
Qt: Invalidate FSUI cover cache when cover changed
2025-01-13 12:54:18 +10:00
Stenzek
738c96ffb3
FullscreenUI: Fix slot disappearing after delete in save state menu
2025-01-13 12:44:11 +10:00
Stenzek
ea82dacb0e
FullscreenUI: Fix a couple of GPU thread race conditions
...
State saving/loading, memory card state read on shutdown.
2025-01-13 12:44:06 +10:00
Stenzek
d3ee12d358
Achievements: Login error notification should be translatable
2025-01-12 19:16:22 +10:00
Stenzek
19ee37cd10
FullscreenUI: Render notifications on top of OSD
2025-01-12 19:14:59 +10:00
Stenzek
035762af94
System: Fix subimage change OSD message
2025-01-12 19:03:53 +10:00
Stenzek
be7cff5964
CDROM: Fix loading of subimage SBI files
2025-01-12 19:03:48 +10:00
Stenzek
e4dea69713
System: Drop state load OSD duration to quick
2025-01-12 17:50:33 +10:00
Stenzek
e43d7046ba
Achievements: Attempt relogin on system boot
...
And display an error notification if login fails, instead of
invalidating the token.
2025-01-12 17:50:33 +10:00
Stenzek
0f76543685
Achivements: Set rc_client log level from host log level
2025-01-12 16:54:58 +10:00
Stenzek
c43533f8d8
FullscreenUI: Extend achievement overlays to screen margins
...
Fixes overlays getting caught in rounded corners on Android.
2025-01-12 01:02:58 +10:00
Stenzek
ee1da343ab
GPU/HW: Use default initialization for BatchConfig
...
Reduce the risk of below...
2025-01-12 00:03:45 +10:00
Stenzek
9779cee934
GPU/HW: Ensure texture window bits are initialized
...
Fixes broken rendering after loading state or switching renderer in some
games, e.g. GTA2.
2025-01-12 00:03:18 +10:00
Stenzek
9c35b0e76d
FullscreenUI: Get rid of Timer global
2025-01-11 23:32:21 +10:00
Stenzek
234e1f721f
FullscreenUI: Improve controller settings page
...
- Add 'Clear Bindings' menu item.
- Show icons in controller types.
- Add confirmation to Reset Settings.
2025-01-11 21:29:04 +10:00
Stenzek
d6ce322eba
Controller: Use additional icons
2025-01-11 20:51:16 +10:00
Stenzek
d3bee3ce67
Qt: Rename 'Input Profile' to 'Controller Preset'
...
Hopefully more noob-proof?
2025-01-11 20:25:12 +10:00
Stenzek
2298227054
FullscreenUI: Add binding of vibration motors
2025-01-11 20:25:11 +10:00
Stenzek
6f9caa6b12
InputManager: Add proper binds for vibration motors
...
Instead of the janky "vibration capabilities" flag.
Fixes the "Clear Mappings" button not applying to vibration motors.
2025-01-11 20:25:11 +10:00
Stenzek
13b85728a0
Qt: Refactor input device/motor tracking
...
Remove multiple sources of truth.
2025-01-11 20:25:11 +10:00
Stenzek
4af5e96ff6
Controller: Remove analog-mode-start OSD message
...
It's arguably not very useful, and the sticks are mapped to the
dpad in digital mode anyway.
2025-01-11 15:15:01 +10:00
Stenzek
05b0b03fd6
Cheats: Order special characters before alpha characters
2025-01-11 12:51:33 +10:00
Stenzek
93a7e7cef5
Cheats: Add bounds check to 5107/5147
2025-01-11 12:40:46 +10:00
PugsyMAME
a26cac18e9
Cheats: Added register cheat types 5107 & 5147 ( #3352 )
...
This is new cheat type uses the general purpose cheat registers in a relative easy method to allow arrays of arrays cheats to be quickly created and will also cut down massively on cheats. For instance this method allows the following 15 cheats for Vandal Hearts II which would otherwise need 18886 separate cheats to replicate:
#Technique Slot Modifier\[MASTER] Select Slot Number for following cheats to act on (1 - 1349)
518500F1 001CF3C3
514500F2 0000000F
514500F3 0000????
514500F4 0000D0D0
OptionRange = 1:1349
#Technique Slot Modifier\Select Weapon
510700F1 000000??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 1 Learned
510700F1 00020001
#Technique Slot Modifier\Select Technique 1
510700F1 000300??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 2 Learned
510700F1 00040001
#Technique Slot Modifier\Select Technique 2
510700F1 000500??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 3 Learned
510700F1 00060001
#Technique Slot Modifier\Select Technique 3
510700F1 000700??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 4 Learned
510700F1 00080001
#Technique Slot Modifier\Select Technique 4
510700F1 000900??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 5 Learned
510700F1 000A0001
#Technique Slot Modifier\Select Technique 5
510700F1 000B00??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\Technique 6 Learned
510700F1 000C0001
#Technique Slot Modifier\Select Technique 6
510700F1 000D00??
OptionRange = 0x00:0xFF
#Technique Slot Modifier\100% (Max) Technique Learned
510700F1 000E0064
2025-01-11 12:37:03 +10:00
Stenzek
ccfc60ec94
GPU/HW: Remove extra barrier on VRAM download
...
Seems to work around download texture corruption on AMD/Vulkan/Windows.
2025-01-10 20:06:56 +10:00
Stenzek
18c90718c6
GPU/SW: Skip pixel load if none preserved
...
~12% performance improvement on Cortex-A35.
2025-01-10 18:46:05 +10:00
Stenzek
29934d62c4
System: Improve rewind behaviour
...
- Fix crash when rewinding before first state is saved.
- Always save a rewind state immediately after normal save state load.
- Don't toss the last rewind state when rewinding, that way there is
always at least one state to rewind to.
2025-01-09 23:46:06 +10:00
Stenzek
d25cffebd5
GPU/HW: Disable depth testing with semitransparency
...
But provide an option to enable it.
2025-01-09 21:45:14 +10:00
Stenzek
d9c9b3038d
GPU/HW: Fix ROV depth being written with semitransparency
2025-01-09 21:21:12 +10:00
Stenzek
7d2898b94c
GPU/HW: Exclude 2D polygons from depth buffer
...
Fixes UI getting obscured in Kingsley's Adventure.
2025-01-09 21:21:12 +10:00
Stenzek
1c9b9ca37a
GPUThread: Restore context after backend creation
...
Might help with random VRAM loss? I can't seem to reproduce it now..
2025-01-09 21:21:12 +10:00
Stenzek
40589dcd93
Settings: Add advanced option to set delay for max CD speedup
...
Affects both seeks and reads.
2025-01-09 21:21:12 +10:00
Stenzek
4449ae7904
Settings: Rearrange fields to avoid padding
2025-01-09 21:21:12 +10:00
Stenzek
bed3dd6950
FullscreenUI: Use span for DrawIntListSetting()
2025-01-09 17:54:12 +10:00
Stenzek
561397a53c
CDROM: Add 'maximum' read speedup option
...
"Instant" seek is now renamed to Maximum as well, for consistency.
2025-01-09 15:23:47 +10:00
Stenzek
87743c776d
FullscreenUI: Fix crash reloading postfx shaders
2025-01-08 15:29:56 +10:00
Stenzek
1daa60c64d
GPU: Use tristrips for presentation as well
2025-01-08 00:14:15 +10:00
Stenzek
670dc461c1
GPU/HW: Slight re-shuffling of field offsets
...
Free up some bits in the middle.
2025-01-07 23:20:26 +10:00
Stenzek
4c801c3ff3
GPUDevice: Move size-matches check into ResizeTexture()
2025-01-07 23:20:25 +10:00
Stenzek
b9186139d0
GPU/HW: Use sized tristrips instead of fullscreen quads
2025-01-07 23:20:25 +10:00
Stenzek
cae1ddc971
GPU: Ensure batches are flushed before presenting frame
...
Fixes occasional assertion failing when using the debugger.
2025-01-07 12:28:15 +10:00
Stenzek
0960160589
System: Don't check for subchannel with GPU dump
2025-01-06 21:17:27 +10:00
Stenzek
5ee069fc63
FullscreenUI: Add option to display PS buttons instead of Xbox
2025-01-05 16:00:15 +10:00
Stenzek
920f25427e
Qt: Simplify Fullscreen UI state tracking
...
Fixes application closing if the system was shut down while fullscreen.
2025-01-04 16:09:35 +10:00
Stenzek
78ccbc710c
Cheats: Fix error while exporting
2025-01-04 12:52:26 +10:00
Stenzek
db14824d61
System: Use task queue for saving states/screenshots/gpudumps
...
System shutdown no longer needs to block. Gets rid of the slight
hitch when shutting down and saving state with the Big Picture UI.
2025-01-03 20:16:38 +10:00
Stenzek
b2c8d25638
GPUBackend: Only display CPU thread blocked messages if queueing
2025-01-03 14:49:53 +10:00
Stenzek
88cd086633
Cheats: Eliminate extra newlines during code editing
2025-01-03 13:36:58 +10:00
Stenzek
e08dda0a0a
CPU: Declare state with constinit
2025-01-02 21:42:41 +10:00
Stenzek
fc5553a8c7
GTE: Improve reverse transform freecam
...
Transform the move direction, that way it behaves more FPS-camera like.
2025-01-02 20:56:22 +10:00
Stenzek
cd873eb6c1
GTE: Add 'Reverse Transform Order' option to freecam
2025-01-02 02:09:02 +10:00
Stenzek
3a64c5e4b3
FullscreenUI: Improve field alignment in achievements login
2025-01-02 01:07:18 +10:00
Stenzek
b21312867b
FullscreenUI: Fix popup sizes for postfx settings
2025-01-02 01:07:11 +10:00
Stenzek
179e2f1999
FullscrenUI: Fix field spacing scaling in game list view
2025-01-02 00:52:40 +10:00
Stenzek
0fdf984b71
GTE: Disable freecam on Android
...
Freecam is disabled on Android because there's no windowed UI for it.
And because users can't be trusted to not crash games and complain.
2025-01-02 00:38:29 +10:00
Stenzek
37e5e64ddc
System: Move state display updates to call sites
...
Fixes black frames when changing settings with runahead/rewind enabled.
2025-01-01 23:05:08 +10:00
Stenzek
f3b7686457
System: Fix crash with memory save states + renderer switch
2025-01-01 22:55:31 +10:00
Stenzek
5ac5a1d246
Hotkeys: Fix resolution scale with memory save states
2025-01-01 22:02:55 +10:00
Stenzek
dcd439e7d8
GTE: Add 'Free Camera' feature
2025-01-01 22:02:55 +10:00
Stenzek
a08acdb93a
System: Improve texture recycling when changing rewind/runahead settings
...
Fix suprious failures when changing rewind settings when low on VRAM.
2025-01-01 19:33:01 +10:00
Stenzek
57be62ffd1
FullscreenUI: Remove a couple of untranslated titles
2025-01-01 14:28:05 +10:00
Stenzek
884459d1cf
FullscreenUI: Fade alpha change when switching to postfx settings
2025-01-01 14:25:56 +10:00
Stenzek
ffef0c2e38
CPU/CodeCache: Don't compile invalid jumps via block links
2025-01-01 14:10:55 +10:00
Stenzek
f25302c847
CPU/Recompiler: Actually use fetch ticks for uncached EXP1
2024-12-31 17:29:40 +10:00
Stenzek
34f2600f99
CPU/Recompiler: Fix ICache update codegen on RISCV64
2024-12-31 16:12:19 +10:00
Stenzek
4c08c716c4
CPU/Recompiler: Fix dispatcher crash on RISCV64
2024-12-31 15:33:34 +10:00
Stenzek
b76618fdf4
System: Should call PGXP Reset not Initialize() in InternalReset()
2024-12-31 15:24:36 +10:00
Stenzek
e0877c1922
System: Add IsUsingPS2BIOS()
2024-12-31 14:58:31 +10:00
Stenzek
69826f2101
FullscreenUI: Fix incorrect section for Deinterlacing Mode
2024-12-31 14:15:42 +10:00
Stenzek
7228f6f1cf
System: Don't fail startup if cpuinfo init fails
2024-12-30 18:11:56 +10:00
Stenzek
3c5db39ee4
GPU/SW: Remove polygon size checks from backend
...
It's already checked before the draw is handed off.
2024-12-30 18:11:52 +10:00
Stenzek
4d4523dc04
GPU: Use same early culling rules for lines as polygons
2024-12-30 18:11:52 +10:00
Stenzek
c5bd4101b3
GPU: Refactor and simplify deinterlacing
...
Both HW and SW deal with half-height buffers coming in now.
2024-12-30 14:36:17 +10:00
Stenzek
9cba1decad
GPU/HW: Compiler warning fix
2024-12-29 22:34:39 +10:00
Stenzek
468c907fd6
Cheats: Compiler warning fix
2024-12-29 22:34:31 +10:00
Stenzek
242561debf
CPU/Recompiler: Align dispatchers and JIT blocks
...
A couple of percent difference if we're lucky. Practically probably <1%.
2024-12-29 18:11:58 +10:00
Stenzek
82a843c121
RegTest: Log state and RAM hashes on exit
...
Useful for checking determinism.
2024-12-29 17:25:55 +10:00
Stenzek
1ed9e609a5
RegTest: Support replaying GPU dumps
2024-12-29 17:25:55 +10:00
Stenzek
b7832e609f
GPU/HW: Vectorize flipped sprite handling
2024-12-29 17:25:55 +10:00
Stenzek
1a211e0a21
GPU/HW: Fix mask bit regression from FF8 fix
...
Fixes overbright polygons appearing in Silent Hill.
2024-12-29 17:25:54 +10:00
Stenzek
799f5bdf97
GPU: Assume vertex commands are 8-byte aligned
2024-12-28 20:24:22 +10:00
Stenzek
c2589461e9
GPU/HW: Remove extra debug group pop
2024-12-28 20:24:21 +10:00
Stenzek
74fd217afb
GPU/HW: Always update/load/save CLUT
...
We have the headroom with multithreading now, and it prevents issues
saving/loading state in loading screens in some games.
2024-12-28 20:24:21 +10:00
Stenzek
25b0bb752a
GPU/HW: Try truncating culled vertices
...
What is this monstrosity? Final Fantasy VIII relies on X coordinates
being truncated during scanline drawing, with negative coordinates
becoming positive and vice versa. Fortunately the bits that we need
are consistent across the entire polygon, so we can get away with
truncating the vertices. However, we can't do this to all vertices,
because other game's vertices break in various ways. For example,
+1024 becomes -1024, which is a valid vertex position as the ending
coordinate is exclusive. Therefore, 1024 is never truncated, only
1023. Luckily, FF8's vertices get culled as they do not intersect
with the clip rectangle, so we can do this fixup only when culled,
and everything seems happy.
2024-12-28 20:24:21 +10:00
Stenzek
c99625e4c3
GPU: Move vertex culling to GPU thread
...
i.e. push all primitives through unless they are oversized, which the
GPU will definitely skip.
Needed because of coordinate truncation in Final Fantasy VIII, these
scenes will now render correctly with the software renderer again.
2024-12-28 20:24:09 +10:00
Stenzek
69ed6e5e58
Hotkeys: Screenshot should not be present on Android
...
Since it saves to app-private, users would complain that the app is
using too much data.
2024-12-27 19:39:23 +10:00
Stenzek
2da692b341
CPU/Recompiler: Swap bl{x,r} for b{x,r} on ARM
...
Not a subroutine call.
2024-12-27 15:02:40 +10:00
Stenzek
2a8cfc7922
CPU/CodeCache: Simplify code LUT addressing
...
One more instruction on x86/ARM32, no additional instructions on ARM64.
Worth it so that the application doesn't crash if the game jumps to an
invalid PC. Note that the lower 2 bits are truncated, so an unaligned
jump will round down to the closest instruction. Obviously not correct,
but if a game ends up doing this, it's a lost cause anyway.
2024-12-27 15:02:40 +10:00
Stenzek
4e5b4ba071
CPU: Fix AdEL/IBE on instruction fetch
...
CAUSE and EPC were swapped for the latter.
2024-12-27 15:02:40 +10:00
Stenzek
4b34825afd
CPU/CodeCache: Remove InstructionInfo pc field
...
No longer needed since oldrecs are gone.
2024-12-27 15:02:40 +10:00
Stenzek
ce71b168c3
CPU/CodeCache: Add static to a couple of missing functions
2024-12-27 15:02:40 +10:00
Stenzek
9921d2074c
Achievements: Fix serialization on Linux
2024-12-26 18:00:29 +10:00
Stenzek
5c83bbe5c5
FullscreenUI: Slight tidy-up to achievements login dialog
2024-12-26 18:00:29 +10:00
Stenzek
6903abba55
CDROM: Adjust missed INT1 sector behaviour
...
Max Power Racing and C3 Racing are slow with their DMAs out,
and get confused when an additional INT1 comes inbetween reading
the sector header and data.
Fixes these games crashing during loading. 5000 cycles is more in
line with what the real mech would do anyway, it's pretty slow.
2024-12-26 01:55:55 +10:00
Stenzek
0528ce567c
Achievement: Fix glitchy fade indicator animation
2024-12-25 23:01:58 +10:00
Stenzek
00eb54cd15
Achievements: Refactor state serialization
...
Fix load failures, and eliminate the buffer copy.
2024-12-25 22:23:09 +10:00
Stenzek
d360564cef
GameList: Fix lock not re-acquired on failure
2024-12-25 21:55:19 +10:00
Stenzek
8c2fe430d8
GPU/TextureCache: Apply 'Dump Replaced Textures' option to backgrounds too
2024-12-25 15:53:53 +10:00
Stenzek
b03127b206
GPU: Move background dumping to HW+GPU thread
...
And only dump when the mask bit check is not enabled.
The replacements are gated by the mask bit check anyway, so there's
no point dumping anything that can't be replaced.
2024-12-25 15:53:53 +10:00
Stenzek
6f3e9913f5
GPU/HW: Fix VRAM write dumping only first row
...
Still has race conditions.
2024-12-25 15:53:53 +10:00
Stenzek
dd180f2fd6
System: Fix dump VRAM writes not updating on GPU thread
2024-12-25 15:53:53 +10:00
Stenzek
b33aa31db8
FullscreenUI: Update translation strings
...
I always forget to do this...
2024-12-25 15:53:46 +10:00
Stenzek
ad7318f5f9
FullscreenUI: Fix spacing in game list
2024-12-25 14:37:26 +10:00
Stenzek
dc18ce2c2a
System: Warn if fastmem mode is not optimal
2024-12-24 13:16:37 +10:00
Stenzek
86d78e5eca
GPU/TextureCache: Only use shader bilinear for initial pagefill
...
Make bilinear replacements behave the same as nearest.
2024-12-24 13:05:38 +10:00
Stenzek
33083cfae1
Settings: Add missing bitfield width
2024-12-24 01:21:07 +10:00
Stenzek
00278fa905
PIO: Fix failure to load state with different cart type
2024-12-24 00:24:37 +10:00
Stenzek
b8fa97e1a7
GPU: Fix sprite texture filtering with TC enabled
2024-12-24 00:24:37 +10:00
Stenzek
89f11095bc
CPU: GTE completion cycle should be reset/serialized
...
Yay more determinism breakage...
2024-12-24 00:24:37 +10:00
Stenzek
9f73e690ad
CPU: Debug mode flag should be updated on state load
2024-12-24 00:24:36 +10:00
Stenzek
ac05c35292
CPU: Fix DCIC not being cleared on reset
...
Stops interpreter mode being unintentionally forced after
restarting some games.
2024-12-24 00:24:36 +10:00
Stenzek
18c509a679
CPU/Recompiler: Exit block early on DCIC/BPCM change
...
Fixes booting Xplorer cartridge with recompiler.
2024-12-24 00:24:36 +10:00
Stenzek
307bd86b72
SPU: Fix determinism loss when loading state where IRQs differ
2024-12-24 00:24:36 +10:00
Stenzek
9a22ac3c70
GPU/HW: Download VRAM when enabling sw-for-readbacks
2024-12-23 17:55:47 +10:00
Stenzek
8e254c4baf
GPUBackend: Fix VRAM loss with runahead/rewind
2024-12-23 17:55:33 +10:00
Stenzek
f3f99f7eac
FullscreenUI: Support renderer swapping without restart
2024-12-23 14:37:38 +10:00
Stenzek
406cd1b6a1
Qt: Shuffle a couple of graphics options
...
Save a tiny bit of vertical space.
2024-12-23 14:24:17 +10:00
Stenzek
9e04b0bf55
GPU/TextureCache: Add 'Always Track Uploads' option
2024-12-23 13:52:23 +10:00
Stenzek
a8361f985e
GPU: CLUT should not be saved on CPU thread memory state
2024-12-22 16:48:45 +10:00
Stenzek
448009f4ef
CPU/CodeCache: Fastmem RAM faults are always writes
2024-12-22 16:48:45 +10:00
Stenzek
515a4d07fb
System: Fix pre-frame sleep getting stuck
2024-12-22 16:48:45 +10:00
Stenzek
0b4e302c22
GPU: Implement PGXP for lines
2024-12-22 16:48:45 +10:00
Stenzek
b81287efd2
GPUBackend: Remove duplicate num_vertices
2024-12-22 16:48:45 +10:00
Stenzek
9b62632951
Achievements: Re-add NeedsIdleUpdate()
...
Forgot I needed this on Android..
2024-12-22 16:48:24 +10:00
Stenzek
080d30bf0c
GPU: Slightly adjust PAL active range
...
Gets the PAR closer to the expected value of 59/94 with a divider of 4.
2024-12-21 23:05:30 +10:00
Stenzek
ad980a7004
GPU: Fix 480i resolution display in OSD
2024-12-21 22:20:41 +10:00
Stenzek
0aa89ec7b0
System: Fix some GPU settings not updating
2024-12-21 18:29:56 +10:00
Stenzek
e1bd5690ac
Misc: Slightly reduce include pollution from settings.h
2024-12-21 15:28:27 +10:00
Stenzek
62285dcf33
Settings: Split into GPU and main settings
...
That way the GPU thread copy doesn't need fields it never touches.
2024-12-21 14:53:15 +10:00
Stenzek
6b754e6759
FullscreenUI: Fix CPU/GPU thread race on achievements toggle
2024-12-21 14:40:24 +10:00
Stenzek
26db661a05
GPU: Remove global indirection
2024-12-21 14:35:12 +10:00
Stenzek
c4b0430d5e
System: Remove unused SetExpansionROM()
2024-12-19 23:32:15 +10:00
Stenzek
7826c258b0
System: Frame step after runahead
...
Makes it behave as expected.
2024-12-19 23:32:15 +10:00
Stenzek
2d659fc3eb
GPU: Move backend work off CPU thread
2024-12-19 23:32:15 +10:00
Stenzek
831c982f3b
System: Rewrite memory save state handling
...
Makes it more friendly to GPU thread.
2024-12-19 22:42:28 +10:00
Stenzek
6993e6c31f
GPU/SW: Fix double draws of polyline vertices
2024-12-19 22:42:02 +10:00
Stenzek
10e2079ee4
CPU/Recompiler: Don't use far code for mtc0 cache check
...
Redundant for a few instructions.
2024-12-19 18:44:08 +10:00
Stenzek
fe1fa765f7
CPU/Recompiler: Don't back up value to stack in mtc0
...
Fixes misaligned stack that could crash in log messages.
2024-12-19 18:44:08 +10:00
Stenzek
568667753d
CPU/CodeCache: Avoid log calls in faults outside of JIT code
...
Could be in other functions that are unsafe to call log functions from.
2024-12-19 18:44:08 +10:00
Stenzek
31c1cfa650
Achievements: Remove unused NeedsIdleUpdate()
2024-12-19 12:46:59 +10:00
Stenzek
7442ec2f19
JogCon: Implement command 0x44
2024-12-19 12:42:01 +10:00
Stenzek
f010d81652
ISOReader: Add XA and raw extraction modes
2024-12-17 14:19:41 +10:00
Stenzek
b68370dff7
Mouse: Move s8 clamp to after subtraction
...
Stops the mouse from accumulating long distances which are applied
over several frames. Seems to "feel" slightly better.
2024-12-16 01:53:03 +10:00
Stenzek
cc52320dfe
FullscreenUI: Update translation string list
2024-12-16 01:30:20 +10:00
Stenzek
b634eecd21
System: Allow separate configuration for multi-disc games
2024-12-16 01:22:48 +10:00
Stenzek
fda10a6978
FullscreenUI: Remove legacy 'Enable Cheats' option
...
It did nothing.
2024-12-16 01:02:04 +10:00
Stenzek
43af57d735
System: Fix UpdateGTEAspectRatio() during initialization
2024-12-15 22:12:43 +10:00
Stenzek
6e2223b517
OpenGLDevice: Fix surfaceless context switch
2024-12-15 22:09:21 +10:00
Stenzek
9d52e27e16
CPU/Recompiler: Use condition select for ICache updates
...
Tidy ~4% perf boost.
2024-12-15 16:00:25 +10:00
Stenzek
90e9634c19
FullscreenUI: Enable DrawStringListSetting()
2024-12-14 18:07:33 +10:00
Stenzek
c0c2e69b59
CPU/Recompiler: Document ARM32 code size
...
Yikes, it's huge..
2024-12-14 16:43:29 +10:00
Stenzek
e91ae5f1b9
GPU/HW: Only compile page texture shaders if TC is enabled
...
Knocks about 1/4 off the total pipelines with the default config.
2024-12-14 15:56:46 +10:00
Stenzek
726aa67d1b
CPU/CodeCache: Only cache EXP1 blocks up to 0x1F060000
...
Neither cart type has code mapped above this address.
Saves ~91MB of memory.
2024-12-14 14:10:06 +10:00
Stenzek
b832dfbb3a
CDROM: Zero out seek start/end after read
2024-12-14 13:47:20 +10:00
Stenzek
c25c0067af
CDROM: Handle repeated SeekL to same target
...
Fixes more lockups in Resident Evil 3.
2024-12-14 13:36:20 +10:00
Stenzek
e683c89770
CPU/Recompiler: Fix ICache updates on ARM32
2024-12-14 01:05:42 +10:00
Stenzek
5687dd22bd
PIO: Add basic flash cartridge support
2024-12-13 23:22:57 +10:00
Stenzek
2f6eaa1d43
CPU/Interpreter: Address ICache lines in words
...
Might help on ARM32, because no unaligned access.
Otherwise, ~23% perf boost in debug builds. But this is pretty
meaningless.
2024-12-13 23:22:57 +10:00
Stenzek
25ffc5a248
GameDatabase: Warn if multitap enabled on unsupported game
...
Fear Effect sends a multitap read command, but doesn't know how to
handle it. There's probably others.
Also add a DisableMultitap trait for these games to force it off.
2024-12-13 18:41:00 +10:00
Stenzek
8f19912c64
GPU/ShaderGen: Use sample instead of load at 1x as well
...
Consistency. Mali ends up ever-so-slightly faster with sample versus
texel loads, apparently.
Also fixes compile errors when using texture filtering on GLSL ES.
2024-12-13 14:36:21 +10:00
Stenzek
db848d1381
System: Remove redundant GameDB lookup
2024-12-12 17:43:00 +10:00
Stenzek
5577328f35
Controller: Allow !compatsettings to always start in analog mode
2024-12-12 17:42:37 +10:00
Stenzek
99f133223c
CPU/Recompiler: Create block links for self-looping blocks
...
This way invalidation will rewrite the jump back to the compiler.
Otherwise a SMC block can end up looping itself indefinitely.
Might help with Spyro 2/3. I can't seem to make them crash anymore.
2024-12-12 16:28:51 +10:00
Stenzek
2e805d56dd
CPU/CodeCache: Always backpatch KSEG2 writes
2024-12-12 16:24:54 +10:00
Stenzek
c3a2156c79
CPU/CodeCache: Fix event kicking for Cached Interpreter
2024-12-12 16:24:19 +10:00
Stenzek
cdcf05a878
CPU/Recompiler: Only truncate block for future writes
...
If we overwrite an instruction that has already executed, it
should invalidate the block next time.
2024-12-12 16:23:32 +10:00
Stenzek
e507fdcb1f
System: Load state before calling OnSystemStarted()
...
Needed for transitent state cleanup on Android.
2024-12-11 22:04:21 +10:00
Stenzek
d8af8e4a60
GPU/HW: Fix possibly-stale display with MSAA+Show VRAM
2024-12-11 22:04:21 +10:00
Stenzek
69947fb907
GPU/TextureCache: Look for replacements outside of subdirectory
...
i.e. old setups that do not have the `replacements` subdirectory.
2024-12-11 15:02:55 +10:00
Stenzek
d871c17f3f
Settings: Set sprite texture filter on reset
2024-12-11 14:54:26 +10:00
Stenzek
1edcc8c0ac
System: Merge system taints with state taints on load
2024-12-10 20:19:27 +10:00
Stenzek
cc567d9498
Cheats: Fix hash-suffixed files incorrectly loading
2024-12-10 20:19:26 +10:00
Stenzek
1e839224e8
CDROM: Fix physical disc reading without SubQ on Linux
2024-12-10 02:28:02 +10:00
Stenzek
2e6deca76f
FileSystem: Don't use POSIX locks on Android
...
Requires SDK 24, and it's pointless anyway.
2024-12-10 02:26:54 +10:00
Stenzek
b814666134
CPU/Recompiler: Fix ARM32 build (again)
2024-12-10 02:26:45 +10:00
Stenzek
a1928de4d0
ImGuiOverlays: Pack SaveStateSelectorUI state
2024-12-09 15:35:07 +10:00
Stenzek
765a46fc88
FullscreenUI: Pack state in struct
2024-12-09 15:02:05 +10:00
Stenzek
53c08c52ed
ImGuiFullscreen: Pack state in struct
2024-12-09 15:01:57 +10:00
Stenzek
5d7cb6c5dc
System: Move state compression/writing to worker thread
...
Reduce hitches when saving.
2024-12-09 14:16:55 +10:00
Stenzek
31d953dac2
System: Prevent memcard blocking resume state save
...
Because otherwise you end up with a stale/old resume state, which is
arguably worse.
2024-12-09 13:42:41 +10:00
Stenzek
5bf7227790
CPU/CodeCache: Use code buffer section on Android
2024-12-08 19:44:27 +10:00
Stenzek
3a661a1c3d
Cheats: Move file clearing into core
...
Needed for Android.
2024-12-08 02:58:50 +10:00
Stenzek
d5432da082
Settings: Disable runahead/rewind in Safe Mode
2024-12-08 02:58:50 +10:00
Stenzek
f9155e5ce7
Settings: Fix incorrect data type for rewind slots
2024-12-08 02:58:50 +10:00
Stenzek
5725a0360b
GPU: Use A1BGR5 format for SW/HashCache if available
2024-12-06 18:28:09 +10:00
Stenzek
f0c456893c
GPUDevice: Support pre-rotating swap chains
2024-12-06 15:38:51 +10:00
Stenzek
acf04ed67a
GPUDevice: Use row-major matrix packing
...
With column vectors. mul() turns into dot products instead of madds.
2024-12-06 15:10:15 +10:00
Stenzek
5c4d95fd51
Settings: Add missing GPU feature disables
2024-12-06 15:07:56 +10:00
Stenzek
6d080c1a3f
GPU: Fix additional GL_POP() causing validation errors
2024-12-06 14:51:57 +10:00
Stenzek
0c7636b3c3
System: Add missing safe mode disable messages
2024-12-05 17:04:09 +10:00
Stenzek
5b6e3a952c
System: Reset code cache on fastmem mode change
...
Fixes excess backpatching and potential crashes when changing mode.
2024-12-03 17:29:47 +10:00
Stenzek
0a2facfaeb
Settings: Don't enable fastmem without recompiler
...
Don't need to bother allocating memory otherwise.
2024-12-03 16:54:42 +10:00
Stenzek
d3ceda0c5b
CPU/CodeCache: Improve block host size heuristics
...
Codegen is much better these days, especially with NewRec.
2024-12-03 16:54:28 +10:00
Stenzek
25063d4018
Achievements: Fix overlay stacking
2024-12-03 14:13:04 +10:00
Stenzek
cbc22a89f7
GPU/HW: Fix TC + SW-For-Readbacks combo
2024-12-02 20:45:02 +10:00
Stenzek
3959c83bd4
GPU/TextureCache: Fix split writes not dumping
2024-12-02 20:12:40 +10:00
Stenzek
22edf23269
GPU: Fix parameter logging of some commands
2024-12-02 17:24:18 +10:00
Stenzek
6756c96fa2
CDROM: Improve SeekL -> ReadN timing
...
See comments - Mech stops at target Data - 2, or SubQ target.
2024-12-02 17:24:16 +10:00
Stenzek
2f70d1bd9c
CPU: Write trace log to data directory
2024-12-01 23:21:33 +10:00
Stenzek
e9848a6182
Misc: Collapse more niche log channels
2024-12-01 23:21:33 +10:00
Stenzek
0faa9cf650
Build: Add Devel configuration
...
Gets you debug assertions and logging, while still producing an
optimized executable.
2024-12-01 23:21:33 +10:00
Stenzek
7c627a8c83
Controller: Add JogCon
...
This is probably wrong, but I have no way of testing it with an actual
force feedback wheel.
PRs welcome to improve it further.
2024-12-01 21:17:54 +10:00
Stenzek
f9c125c1a1
InputManager: Add ForceFeedbackDevice interface
2024-12-01 21:08:52 +10:00
Stenzek
b87c6dde6c
CDROM: More logging tidy-up
2024-12-01 18:15:42 +10:00
Stenzek
4fe3e1147d
Controller: Add GetPortDisplayName() that takes pad index
2024-12-01 17:47:55 +10:00
Stenzek
9fc9f4b9e9
Settings: Fix hash cache fields not being compared
2024-12-01 16:53:29 +10:00
Stenzek
00132c6070
AnalogController: Fix more log spam
2024-12-01 14:49:38 +10:00
Stenzek
c6746e76f1
CPU/Intepreter: Raise #RI on invalid COP0 move
2024-12-01 14:27:24 +10:00
Stenzek
62414b0c4c
CPU/Interpreter: IBE should not set BD/BT
...
Apparently. Nothing relies on this. :P
2024-12-01 14:27:24 +10:00
Stenzek
145ad2db27
GameList: Fix scanning of ELF files
2024-12-01 13:10:20 +10:00
Stenzek
9dec34c8c0
Settings: Disable texture replacements if TC disabled
...
Stops replacements being enumerated in the software renderer as well.
2024-11-30 14:42:51 +10:00
Stenzek
f1435dcf67
Settings: Bump maximum hash cache size
...
Hopefully mobile will be okay with it.. I know Adreno GL
craps out around 8,000 texture objects.
2024-11-30 14:36:07 +10:00
Stenzek
53008eb34a
GPU/HW: Allow use of RGB5A1 for texture cache
...
Reduces bandwidth and storage requirements by 50%.
2024-11-30 14:36:07 +10:00
Stenzek
c6e2235ee2
GPU/HW: Vectorize texture conversion routines
...
~100% speed up for RGBA8, ~50% for RGB5A1.
2024-11-30 14:36:07 +10:00
Stenzek
fa4dc381ed
GPUDevice: Rename RGBA5551 to RGB5A1
...
And fix the incorrect format for Vulkan.
2024-11-30 14:36:07 +10:00
Stenzek
ee750b44e3
Settings: Normalize texture replacment option titles
2024-11-30 01:09:41 +10:00
Stenzek
0f51472d64
Misc: Android build fix
2024-11-30 01:09:41 +10:00
Stenzek
b7fff840c8
System: Move thread name init to host
...
Prevents funky thread names for regtest on Linux.
2024-11-29 21:21:27 +10:00
Stenzek
cbc16bee9e
GPU: Display scanout resolution regardless of crop mode
2024-11-29 21:05:01 +10:00
Stenzek
b059cda8d5
Achievements: Pack state in struct
2024-11-29 20:13:37 +10:00
Stenzek
aafc029682
Misc: Un-namespace Timer
2024-11-29 20:13:37 +10:00
Stenzek
682ba71319
GPU: Fix aspect ratio with Show VRAM enabled
2024-11-29 18:36:32 +10:00
Stenzek
d5b9b54a69
GPU/SW: Vectorize VRAM writes/copies
2024-11-29 18:05:52 +10:00
Stenzek
19eee76aec
AnalogController: Reduce log spam
2024-11-29 17:30:53 +10:00
Stenzek
9970944da2
Achievements: Add encryption of login tokens in ini
...
Super simple key derived from the machine's UUID.
The idea isn't to provide a ton of security, but prevent users from
accidentially exposing their tokens when sharing their ini for debugging
purposes.
The use of the machine UUID is disabled in portable mode for those who
actually move it between computers. Instead, the key is derived from the
username alone, which is trivially computable.
2024-11-29 17:13:21 +10:00
Stenzek
5401dc8d52
Settings: Add EmuFolders::IsRunningInPortableMode()
2024-11-29 17:06:40 +10:00
Stenzek
da501b9294
StringUtil: Add ParseFixedHexString()
2024-11-29 15:04:25 +10:00
Stenzek
dac5dd562b
HTTPDownloader: Improve error reporting
...
Give something human-readable when an error occurs.
2024-11-29 14:00:55 +10:00
Stenzek
3ed6cc2ba8
GameList: Fix crash loading custom language options
2024-11-29 13:17:07 +10:00
Stenzek
6be242449b
AnalogController: Simplify rumble config
...
And fix some variables not being saved to state, yay determinism issues.
2024-11-29 13:11:25 +10:00
Stenzek
eeee1e691a
Cheats: Support importing native format
...
Compared to only replacing the .cht file.
2024-11-29 13:10:59 +10:00
Stenzek
208e6c4b35
Cheats: Strip whitespace from code names
2024-11-29 12:49:51 +10:00
dreamsyntax
4e43b1ec8c
Debugger/MemoryScanner: Add 'Freeze Selected' ( #3334 )
2024-11-27 18:30:02 +10:00
Stenzek
97700b85de
GPU/HW: Clear ROV depth on fill/copy/write
...
It wasn't being specified before, whoops.
2024-11-27 17:52:31 +10:00
Stenzek
eb390a9b5d
GPU/TextureCache: Specify max hash cache size/memory in config
2024-11-27 17:52:31 +10:00
Stenzek
4edae3cdd0
GPU/HW: Depth buffer needs to be a RT in ROV mode
2024-11-27 12:56:01 +10:00
Stenzek
0befbf8021
GPU: Add Uncorrected Borders crop mode
...
Should behave the same as the old "All Borders" mode.
The pixel aspect ratio WILL BE WRONG.
Also fixes the size of screenshots in internal resolution mode.
2024-11-26 18:00:19 +10:00
Stenzek
be7a20fef2
GPU/TextureCache: Map replacement non-255 alpha to fully transparent
...
That way if during the scaling process you end up with interpolated
colours, the cutout alpha is preserved.
Ideally we'd blend it, but that tends to create more problems than it
solves on PSX.
2024-11-26 13:08:32 +10:00
Stenzek
5fd79254bd
GPU: Fix crash when toggling software renderer
2024-11-26 12:58:12 +10:00
Stenzek
57595c47af
GPU/TextureCache: Move replacement cache onto the GPU
...
And enforce a maximum. Should sort out the upload spam.
2024-11-25 19:37:28 +10:00
Stenzek
b180b26728
GPU: Rework "All Borders" cropping to be aspect correct
...
The "All Borders" crop mode was previously creating an aspect ratio that
was completely incorrect when using modes outside of Auto/4:3. We now
scale the aspect ratio relative to the PAL/NTSC aspect ratio to account
for this, regardless of how much of a border the game configures.
Overscan cropping also produced an incorrect aspect ratio outside of 4:3
mode, resulting in minor horizontal stretching. It is now correct,
however, this results in black borders being added in 16:9 for most
games.
To remove these borders, you have two options:
- Use the "Stretch to Fill" aspect ratio. This will scale the GTE
aspect ratio to fill the screen.
- Use the "Only Overscan Area (Aspect Uncorrected)" crop mode. This
mode retains the "old" behaviour, resulting in a stretched image.
2024-11-25 16:26:16 +10:00
Stenzek
dec468966c
GPU/HW: Fix sprite mode triggering on screen-aligned UVs
...
Some polygons just end up being perfect. For example, Croc 2
minecart level.
2024-11-25 15:39:45 +10:00
Stenzek
a804801a1b
GPU/HW: Support filtering with texture cache
2024-11-25 13:23:39 +10:00
Stenzek
0ae8fcced3
GPU/HW: Fix incorrect sampling at 1x with TC
2024-11-25 13:15:07 +10:00
Stenzek
0076af6974
SPU: Zero out upper ADPCM filters
...
Also in CD-ROM.
2024-11-25 01:33:11 +10:00
Stenzek
40a1bee9ea
CDROM: Fix incorrect clmap in XA-ADPCM decoding
...
Fixes crunchy audio in GT2: A-Spec.
2024-11-25 01:05:10 +10:00
Stenzek
9fa8fee193
Achievements: Use rc_client for pause throttling
2024-11-24 23:56:16 +10:00
Stenzek
852239ec8a
Qt: Add game list language override option
2024-11-24 23:29:29 +10:00
Stenzek
70a4b5c9f2
GameDatabase: Add missing flags
2024-11-24 23:29:29 +10:00
Stenzek
7b230dc4c1
GPU/HW: MSAA samples change needs to recreate pipelines
...
Otherwise Metal/Vulkan go boom boom.
2024-11-24 23:29:29 +10:00
Stenzek
24dfd30839
Image: Refactor to a more generic class
2024-11-24 23:29:29 +10:00
Stenzek
3ff1b04576
GPUDevice: Support generating mipmaps
2024-11-24 23:29:28 +10:00
Stenzek
5261cfe8e4
CPU/Recompiler: Tidy up type names
...
And reduce global namespace pollution.
2024-11-23 18:52:46 +10:00
Stenzek
f67eacc071
CPU: Default to new recompiler/remove old recompiler
2024-11-23 18:52:46 +10:00
Stenzek
d2d06adeeb
CPU/NewRec/ARM32: Shifts need to be explicitly masked
2024-11-23 18:52:45 +10:00
Stenzek
5c03e1d940
Misc: Fix alignment errors on ARM32
2024-11-23 18:52:45 +10:00
Stenzek
bb24d406f2
Pad: GCC compile fix
2024-11-23 18:52:45 +10:00
Stenzek
b984f343ae
System: Fix audio CD images not showing title
2024-11-23 18:52:45 +10:00
Stenzek
378fd80e3d
CDROM: Defer subq read until needed
...
Should help with hitches on real disc reads until I refactor
in a proper sector cache...
2024-11-20 14:24:48 +10:00
Stenzek
ca9af62f92
FullscreenUI: Add a BP achievements login dialog
2024-11-20 13:44:39 +10:00
Stenzek
81e2619e91
FullscreenUI: Add missing icon
2024-11-19 20:35:07 +10:00
Stenzek
5a948800b7
Achievements: Purge first-disc-from-playlist option
...
Unnecessary since all disc's hashes are registered.
2024-11-19 20:13:22 +10:00
Stenzek
4b71428846
GPU/TextureCache: Fix tracking getting enabled without TC
2024-11-18 23:34:24 +10:00
Stenzek
1451e968d5
GPU/TextureCache: Pack state in struct
2024-11-18 14:19:47 +10:00
Stenzek
9838dd9df2
GPU/TextureCache: Purge copy-target sources from hash cache
...
Saves some VRAM/hash cache usage by disacarding hash cache entries that
are discarded by a copy, but unfortunately cannot stop the uploads.
2024-11-18 14:19:47 +10:00
Stenzek
6c1b98e46a
GPU/SW: Fix 256-bit AVX2 path
2024-11-18 14:19:47 +10:00
Stenzek
ed78a20ea7
FullscreenUI: More icon replacements
2024-11-17 13:23:03 +10:00
Stenzek
574f12759c
FullscreenUI: Hide advanced settings by default
2024-11-17 13:12:45 +10:00
Stenzek
97d8a35108
GameDatabase: Fix compatibility rating localization
2024-11-17 13:04:20 +10:00
Stenzek
725530984c
FullscreenUI: Move remaining OSD settings to main page
2024-11-16 22:03:58 +10:00
Stenzek
8747101648
FullscreenUI: Fix enable state of skip dupe frames
2024-11-16 22:01:09 +10:00
Stenzek
49a6ef7aca
FullscreenUI: Add icons to remaining options
2024-11-16 21:56:32 +10:00
Stenzek
bb450d5e5f
FullscreenUI: Fix nav focus loss on input bind
2024-11-16 20:00:39 +10:00
Stenzek
d56bcfa4c8
FullscreenUI: Fix activate button stuck on input bind
2024-11-16 20:00:20 +10:00
Stenzek
3cf7a94d1e
GunCon: Allow empty/disabled crosshair
2024-11-14 00:35:45 +10:00
Stenzek
8ec9c90c82
Qt: Fix settings not applying immediately when editing profile
2024-11-14 00:35:25 +10:00
Stenzek
c2316dfdc8
InputManager: Fix relative mode engaging for gun controllers
...
It still needs to activate when using raw input.
2024-11-14 00:17:28 +10:00
Stenzek
babaffcce9
GPU/HW: Don't enable no-color-perspective when unsupported
...
i.e. GLES
2024-11-13 21:07:02 +10:00
Stenzek
5219e4f987
CDROM: Simulate real pause timing
2024-11-12 16:03:36 +10:00
Stenzek
a2af51b856
CDROM: Simulate backwards track jump after seek/pause
2024-11-12 16:03:36 +10:00
Stenzek
5f607d8c7a
CDROM: Avoid double seek on repeated Setloc+ReadS
2024-11-12 16:03:36 +10:00
Stenzek
97938a8b8c
CDROM: Improve command logging clarity
2024-11-12 16:03:36 +10:00
Stenzek
5cf2c86874
CDROM: More accurate approximation of sectors per track
2024-11-12 16:03:35 +10:00
Stenzek
365e129792
CPU: Fix puts() hook incorrect arg
2024-11-11 16:27:11 +10:00
Stenzek
6ffa5bffab
CPU: Handle mirrors of BIOS syscalls
2024-11-11 16:26:51 +10:00
Stenzek
3f41dcc97d
Log: Add option coloured variants
2024-11-11 14:04:48 +10:00
PugsyMAME
5caadec34d
Cheat bugfix and new A8 cheat type ( #3328 )
...
* Bugfix for import and entering new cheats
Added needed g_emu_thread->reloadCheats calls after the reloadList() calls on entering a new code or importing new codes.
Without it I had to import new codes and then manually edit one of them for it to show up in the cheat counts and possibly even work
* Added Cheat Type A8
Added cheat type A8 which is the byte equivalent of the A7 cheat type as there will be a need of this type.
* Changed boolean parameters in last PR
Changed boolean parameters in last PR as per discord
2024-11-11 14:01:50 +10:00
Stenzek
8611f4f438
System: Handle GPU device loss in BP-only mode
2024-11-10 15:48:41 +10:00
Stenzek
5b600789d6
GPU: Page align VRAM storage on Apple Silicon
2024-11-10 14:02:09 +10:00
Stenzek
886ef4cc59
WAVWriter: Add matching reader class
2024-11-06 13:46:48 +10:00
Stenzek
ead9e56c4d
System: Support loading ELF files
2024-11-05 17:54:12 +10:00
Stenzek
2044e35377
GPUDump: Fix unknown compression type reported with Zstandard
2024-11-05 16:21:40 +10:00
Stenzek
3952661978
GPU: Write initial rendering attributes to GPU dump
2024-11-05 16:17:49 +10:00
Stenzek
7b7dd2bef1
AnalogController: Reset state on analog->digital switch
...
But only when the game does not support analog mode.
Tomb Raider's game selector menu puts the controller into
configuration mode, and we're supposed to respond with a
0x00 header byte if the user switches the pad to digital
mode.
Problem is, the game itself doesn't understand this mode
switch nor configuration mode. So the status byte gets
stuck at 0x00 if the user toggles analog mode, and the
game thinks no pad is connected.
Work around this by resetting the whole state if the game
does not support analog mode.
2024-11-05 16:07:31 +10:00
Stenzek
88e14dd3ff
RegTest: Support using global data directory
2024-11-05 13:58:20 +10:00
Stenzek
8bd0e6c3f7
CPU/CodeCache: Clear blocks on system shutdown
...
Means we release all allocated memory on system shutdown, rather
than waiting until the next VM/system start.
2024-11-05 13:06:46 +10:00
Stenzek
ca2ed61dba
Timers: Work around possible MSVC codegen bug
...
Fixes very strange behaviour in games in MSVC LTCG build.
2024-11-04 23:03:51 +10:00
Stenzek
8c4d595a89
Qt: Make input source selection non-inheritable
...
Makes sense to set this in the profile specifically,
given it is tied to devices.
2024-11-03 20:17:56 +10:00
Stenzek
0fc719c4cf
Cheats: Simplify code merging on import
...
The save file already does replacement.
2024-11-03 17:38:50 +10:00
Stenzek
a8bc364a2b
Cheats: Fix importing hash-formatted codes
2024-11-03 17:38:27 +10:00
Stenzek
12acecbf36
FullscreenUI: Allow editing option range cheat values
2024-11-02 22:19:33 +10:00
Stenzek
775496af8a
FullscreenUI: Ensure each cheat option has a unique name
2024-11-02 22:19:33 +10:00
Stenzek
b4e509d090
Qt: Fix FF/turbo speed resetting in game properties
2024-11-02 21:25:47 +10:00
Stenzek
6551358212
Log: Replace channel string search with bitset
...
Knocks off around ~20KB of code.
2024-10-31 14:41:33 +10:00
Stenzek
afb9ab7d11
DMA: Show MADR in debug window
2024-10-31 14:28:20 +10:00
Stenzek
9cb2cabd8b
FullscreenUI: Fix footer text in save state submenu
2024-10-30 20:10:40 +10:00
Stenzek
5518199206
GPU/SW: Fix polyline culling
2024-10-30 15:28:45 +10:00
Stenzek
5bca12a840
GameDatabase: Add ForceFullBoot trait
...
And set it for Nightmare Creatures. Game's disc code is a nightmare.
2024-10-30 15:19:11 +10:00
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