Commit Graph

6995 Commits

Author SHA1 Message Date
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
Stenzek 3670c131e3
Qt: Hook up extract button in ISO browser 2024-12-05 18:59:32 +10:00
Stenzek ea632665c1
Qt: Fix possible game settings save error with sliders 2024-12-05 18:57:35 +10:00
Stenzek 0c7636b3c3
System: Add missing safe mode disable messages 2024-12-05 17:04:09 +10:00
Stenzek 541985fb70
Qt: Add ISO Browser 2024-12-05 16:30:21 +10:00
Stenzek 58f5d7e1ba
Qt: Fix missing status message on delayed progress show 2024-12-05 16:30:21 +10:00
Stenzek e9644c7eeb
ISOReader: Add file extraction helpers 2024-12-05 16:30:21 +10:00
Víctor "IlDucci 20df4ec14e
Spanish (Spain) update 2024/12/03 (#3340)
Translation of latest changes.
2024-12-05 16:30:09 +10:00
Stenzek fe3b4154b7
PostProcessing: Fix crash on UI open with OpenGL 2024-12-03 22:35:49 +10:00
Stenzek 3ca2579882
Qt: Add additional early SSE4.1 check on Windows
reshadefx uses roundss in std::unordered_map initializers, no other way
to stop this. If it's not reshade, it'll probably be something else.
2024-12-03 19:13:35 +10:00
Stenzek 84a1e209ea
OpenGLDevice: Lock pipeline cache on Linux
Prevents multiple processes from trampling on one another.
2024-12-03 17:35:07 +10:00
Stenzek 04e472d088
FileSystem: Add non-blocking option to POSIXLock 2024-12-03 17:29:47 +10:00
Stenzek d93c713fb7
FileSystem: Make POSIXLock moveable 2024-12-03 17:29:47 +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 9a5ee3aae6
Qt: Fix horizontal scrollbar showing in summary track list 2024-12-03 16:16:38 +10:00
Anderson Cardoso 03eb4a6bf9
Atualização Português do Brasil (#3339) 2024-12-03 14:45:36 +10:00
Stenzek 25063d4018
Achievements: Fix overlay stacking 2024-12-03 14:13:04 +10:00
Stenzek 14ff89d0c0
MetalDevice: Fix incorrect pixel format for RGB5A1 2024-12-03 13:28:19 +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 9df59713da
GPUDevice: Put debug messages/scopes behind conditions
And completely compile them out in Release builds.

Gets Devel close to Release in terms of performance.
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 4aa9857c53
Qt: Fix fallback binding layout not including motors 2024-12-01 21:17:54 +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 9c2244f40e
Qt: CustomizeWindowHint should be set for no-close-button 2024-12-01 14:39:26 +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 67041d217b
Qt: Improve shortcuts
- CTRL/+, CTRL/- no longer show in menu for zooming, but still activate.
- CTRL+O will open a new disc/game from file.
- F5 will refresh the game list (i.e. scan for new games).
- F3/CTRL+F will send focus to the game list search box.
- Pressing Enter in the search box will send focus to the first game
  list row.
- ALT+ENTER in the game list will open Game Properties.
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