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
58b0ccf3fc
Common: Add 2D vector formatters
2024-12-28 19:59:25 +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
a44dd1882f
RegTest: Update CLI help
2024-12-27 15:02:40 +10:00
Anderson Cardoso
7b9664d6f2
Atualização Português do Brasil ( #3348 )
...
Atualizado para a última versão.
2024-12-27 15:02:31 +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
272aa4f933
ImGuiManager: Add Begin/EndTextInput()
2024-12-26 18:00:29 +10:00
Stenzek
fa993849f7
Qt: Update English/Plural strings
2024-12-26 01:58:24 +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
8f6db2c8fa
Qt: Add missing icon to System Display
2024-12-25 15:13:50 +10:00
Stenzek
b81c87958f
Qt: Fix F3 getting intercepted when game/FSUI active
2024-12-25 15:11:40 +10:00
Stenzek
d010f768c4
FullscreenUI: Fix smooth scrolling in game/state/etc lists
2024-12-25 15:02:09 +10:00
Stenzek
ad7318f5f9
FullscreenUI: Fix spacing in game list
2024-12-25 14:37:26 +10:00
Stenzek
0565320036
ImGuiFullscreen: Enable smooth scrolling for file/choice selectors
2024-12-24 13:54:23 +10:00
Stenzek
c4e0e7fade
InputManager: Fix mouse-mapped axes getting stuck
...
Regression from f0deab2
.
2024-12-24 13:52:04 +10:00
Stenzek
dc18ce2c2a
System: Warn if fastmem mode is not optimal
2024-12-24 13:16:37 +10:00
Stenzek
f4265edb2d
SmallString: Add append_vformat()
2024-12-24 13:16:12 +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
Anderson Cardoso
2aa466d1c6
Atualização Português do Brasil ( #3347 )
...
Atualizado para a última versão.
2024-12-24 00:24:23 +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
7f1ebd3767
PageFaultHandler: Warning fix
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
Anderson Cardoso
556a53e564
Fix Typo in Russian tr ( #3346 )
2024-12-22 16:48:00 +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
7116a80435
Common: Add RESTRICT macro
...
Gotta coerce the compiler into generating better code.
2024-12-19 16:50:03 +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
Daniel Nylander
fa2442deaf
Updating Swedish translation ( #3345 )
...
* Updated Swedish translation
2024-12-19 12:06:06 +10:00
Anderson Cardoso
8df2a2c446
Atualização Português do Brasil ( #3344 )
...
Atualizado para última versão
2024-12-17 14:28:15 +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
Daniel Nylander
4216eef420
Updated Swedish translation ( #3343 )
2024-12-16 01:29:24 +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
1f1a664908
InputManager: Add missing call to UpdateHostMouseMode()
2024-12-15 22:12:43 +10:00
Stenzek
6e2223b517
OpenGLDevice: Fix surfaceless context switch
2024-12-15 22:09:21 +10:00
Stenzek
fbb411a946
OpenGLDevice: Blacklist fbfetch on PowerVR as well
...
Apparently it's broken, and I don't have any devices with this chip
so I can't find a potential workaround anyway.
2024-12-15 22:07:47 +10:00
Stenzek
4e1e07a93c
Qt: Shrink BIOS settings page height
...
Move open/refresh buttons.
2024-12-15 16:09:02 +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
03e24637af
Qt: Simplify Host::CommitBaseSettingChanges()
2024-12-15 13:00:08 +10:00
Stenzek
5e21234966
Qt: Fix deadlock in Game Properties -> Post-Processing
2024-12-15 12:59:30 +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
5cbb6b6163
Qt: Purge unused {start,stop}dumpingAudio
2024-12-14 16:00:13 +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
dcaee9b87e
Qt: Add ISO Browser to Tools menu
2024-12-14 14:10:07 +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
Anderson Cardoso
b99fb22522
Atualização Português do Brasil ( #3342 )
...
atualizado para a última versão
2024-12-14 13:47:46 +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
50fbaf90e6
Qt: Add debug menu options for log sinks/timestamps
2024-12-13 18:08:44 +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
9743ce01a0
OpenGLDevice: Support GLES 3.0
...
Android emulator still doesn't have GLES 3.1...
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
5eac1e4800
VulkanDevice: Blacklist FSI on AMD Windows
...
Yay for random GPU resets, it's fine on NVIDIA.
2024-12-11 12:46:25 +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
e137d3b5c7
Common: Fix rectangle rempty() on ARM32
2024-12-10 16:49:45 +10:00
Stenzek
5767397231
Qt: Remove 'Enable Cheats' from Console Settings
...
This was moved to Game Properties ages ago.
2024-12-10 13:19:08 +10:00
Stenzek
0bb83f6fd7
OpenGLDevice: Fix inverted cache file lock
2024-12-10 13:17:06 +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
1bea8817f1
Host: Add ConfirmMessageAsync()
2024-12-10 02:26:45 +10:00
Stenzek
42535591bc
HTTPDownloader: Log errors on request failure
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
1adf36ccb2
Build: Fix out-of-tree CMake scmversion extraction on Windows
2024-12-08 19:44:27 +10:00
Stenzek
b6eb41e2cf
Qt: Improve binding widget tooltip
2024-12-08 19:44:27 +10:00
Stenzek
2999f15d7a
StringUtil: Add UTF-16 encoding/decoding functions
2024-12-08 19:44:27 +10:00
Stenzek
7f3687de81
Common: Report assertion failure/panic message for Android
2024-12-08 14:19:25 +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
8c5fadafba
GPUTexture: Add A1BGR5 format
...
Needed for GLES, since RGB5A1 + BGRA + REV isn't listed as
a valid format.
2024-12-06 18:28:09 +10:00
Anderson Cardoso
c3a9ab3cc8
Atualização Português do Brasil ( #3341 )
...
Atualizado para a última versão
2024-12-06 18:27:58 +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
e22d67f4aa
GSVector: Add 4x4 matrix class
2024-12-06 15:10:15 +10:00
Stenzek
9c327af280
GPUDevice: Typedef auto-recycled texture
2024-12-06 15:10:15 +10:00
Stenzek
52feb1a37d
PostProcessing: Improve compile error reporting
2024-12-06 15:10:15 +10:00
Stenzek
c9c4307871
FileSystem: Android build fix
2024-12-06 15:10:15 +10:00
Stenzek
042a2d72f7
Threading: Add IsCallingThread() to ThreadHandle
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