6971 Commits

Author SHA1 Message Date
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
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
dfacf9e8db
VulkanDevice: Only create swap chain framebuffer without dynamic rendering 2024-11-30 01:09:41 +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
ae18db9271
RegTest: Use filename instead of database title 2024-11-29 19:10:21 +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
6cbfab6eca
MetalDevice: Warning fix 2024-11-29 17:13:21 +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
ff3214b8f7
SmallString: Add span helpers 2024-11-29 17:06:20 +10:00
Stenzek
d3246deb77
ThirdParty: Add aes.cpp 2024-11-29 17:06:06 +10:00
Stenzek
83274c7e3b
ThirdParty/SmallVector: Compile fixes 2024-11-29 17:05:18 +10:00
Stenzek
b39f1558ec
StringUtil: Add Base64 decode/encode functions 2024-11-29 17:05:02 +10:00
Stenzek
c0b4627c11
StringUtil: Drop old MacOS workaround 2024-11-29 15:25:36 +10:00
Stenzek
bbe6612b25
Common: Add SHA256Digest 2024-11-29 15:20:33 +10:00
Stenzek
da501b9294
StringUtil: Add ParseFixedHexString() 2024-11-29 15:04:25 +10:00