738 Commits

Author SHA1 Message Date
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
844287b722
FullscreenUI: Fix scrollbar on choice dialog at some screen sizes
e.g. game list right click
2025-01-11 20:25:11 +10:00
Stenzek
4b0bb9f70d
FullscreenUI: Increase input dialog padding
Way too small.
2025-01-11 20:13:53 +10:00
Stenzek
440aaf2644
FullscreenUI: Modernize achievement popup a bit 2025-01-11 15:07:17 +10:00
Stenzek
ee33044f3d
InputManager: Fix SDL sub-options not copying to profile 2025-01-10 20:42:17 +10:00
Stenzek
7ac4a85765
InputManager: Fix per-bind sensitivity/deadzone not copying to profile 2025-01-10 20:14:21 +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
9b339d4bff
PostProcessing: Remove StageCount key for game settings
Potentially removes the ini file if it's otherwise empty.
2025-01-09 21:21:12 +10:00
Stenzek
2b4e60a5bf
FullscreenUI: Fix loading screen font 2025-01-09 21:21:12 +10:00
Stenzek
b76ebd2a7b
FullscreenUI: Fix scrollbar rounding in choice dialogs 2025-01-09 17:53:52 +10:00
Stenzek
45afc8f7b1
OpenGLDevice: Add map-based stream buffer paths
MapAndSync ends up around 25% faster on ancient Mali drivers without
ARB_buffer_storage support.
2025-01-08 14:14:06 +10:00
Stenzek
0030bc2699
GPUDevice: Ensure 16 byte minimum UBO alignment 2025-01-07 23:20:25 +10:00
Stenzek
4c801c3ff3
GPUDevice: Move size-matches check into ResizeTexture() 2025-01-07 23:20:25 +10:00
Stenzek
0a124ee839
SDLInputSource: Support forwarding touchpad to pointer 2025-01-07 13:40:42 +10:00
Stenzek
2b7b3d8729
SDLInputSource: Allow inverting pad axes
Not really sure where this would happen, but whatever.
2025-01-07 13:01:37 +10:00
Stenzek
092e819a07
ImGuiFullscreen: Move texture loading to async tasks
Two threads instead of one, speeds things up a bit.
2025-01-07 12:40:08 +10:00
Stenzek
1765590a6f
Qt: Add 'Disable Window Rounded Corners' option 2025-01-05 16:39:57 +10:00
Stenzek
5ee069fc63
FullscreenUI: Add option to display PS buttons instead of Xbox 2025-01-05 16:00:15 +10:00
Stenzek
4d6124d41b
Platform: Fix AppImage dbus library mismatch 2025-01-05 14:08:22 +10:00
Stenzek
6043b2331f
Platform: Fix incorrect dbus shared library name
Fixes screensaver inhibit on Linux.
2025-01-04 21:14:46 +10:00
Stenzek
8353a33e89
X11Tools: Fix refresh rate query failing with XLib handle 2025-01-04 18:35:15 +10:00
Stenzek
9054801341
ImGuiManager: Update viewport and display size
Fixes the single frame of incorrect draw size when resizing
the window with the Big Picture UI.
2025-01-03 20:16:38 +10:00
Stenzek
52e6e8ff1e
PostProcessing: Compile warning fix 2025-01-03 18:19:12 +10:00
Stenzek
87e367076d
PostProcessing: Get rid of Timer global 2025-01-02 21:40:01 +10:00
Stenzek
ba15a76d7b
ImGuiManager: Pack state in struct 2025-01-02 21:33:53 +10:00
Stenzek
d3fe1dfc2c
ImGuiManager: Separate debug and OSD fonts
Don't need to rasterize the former if it's not used, and saves blowing
up the debug window font size if the OSD scale is not 100%.
2025-01-02 21:25:25 +10:00
Stenzek
08cd649187
InputManager: Fix pointer-bound bind movement
i.e. psmouse

Regression from c4e0e7fadea0bf4f9da7bdea4335f619a6f14385
2025-01-02 02:10:31 +10:00
Stenzek
1d63648d68
Qt: Forward text input to aux render windows
Fixes text input in freecam window.
2025-01-01 22:02:55 +10:00
Stenzek
f51dda3e66
GPUDevice: Allow this-frame pooled textures when not uploading data
It won't break the render pass.
2025-01-01 19:38:48 +10:00
Stenzek
d69d25431e
VulkanDevice: Hopefully fix init under Vulkan 1.0 drivers 2024-12-31 23:43:38 +10:00
Stenzek
1bf076c74f
VulkanDevice: Fix crash on shutdown if swapchain creation fails 2024-12-31 15:10:55 +10:00
Stenzek
401582bb2b
PlatformMisc: Load libdbus at runtime
The static library can't link to the ARM binary when cross-compiling.
2024-12-30 01:57:08 +10:00
Stenzek
8c807118c0
GPUDevice: End timer on command flush
Fixes incorrect GPU usage readings in OpenGL, D3D11 is still
problematic, at least on AMD.
2024-12-28 20:24:21 +10:00
Stenzek
7bb0c7d1fb
InputManager: Fix pointer scale loading 2024-12-28 20:24:21 +10:00
Stenzek
272aa4f933
ImGuiManager: Add Begin/EndTextInput() 2024-12-26 18:00:29 +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
d010f768c4
FullscreenUI: Fix smooth scrolling in game/state/etc lists 2024-12-25 15:02:09 +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
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
7f1ebd3767
PageFaultHandler: Warning fix 2024-12-22 16:48:45 +10:00
Stenzek
2d659fc3eb
GPU: Move backend work off CPU thread 2024-12-19 23:32:15 +10:00
Stenzek
f010d81652
ISOReader: Add XA and raw extraction modes 2024-12-17 14:19:41 +10:00
Stenzek
b634eecd21
System: Allow separate configuration for multi-disc games 2024-12-16 01:22:48 +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
5687dd22bd
PIO: Add basic flash cartridge support 2024-12-13 23:22:57 +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
9743ce01a0
OpenGLDevice: Support GLES 3.0
Android emulator still doesn't have GLES 3.1...
2024-12-11 22:04:21 +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
0bb83f6fd7
OpenGLDevice: Fix inverted cache file lock 2024-12-10 13:17:06 +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
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
53c08c52ed
ImGuiFullscreen: Pack state in struct 2024-12-09 15:01:57 +10:00
Stenzek
3a661a1c3d
Cheats: Move file clearing into core
Needed for Android.
2024-12-08 02:58:50 +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
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
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
e9644c7eeb
ISOReader: Add file extraction helpers 2024-12-05 16:30:21 +10:00
Stenzek
fe3b4154b7
PostProcessing: Fix crash on UI open with OpenGL 2024-12-03 22:35:49 +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
14ff89d0c0
MetalDevice: Fix incorrect pixel format for RGB5A1 2024-12-03 13:28:19 +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
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
145ad2db27
GameList: Fix scanning of ELF files 2024-12-01 13:10:20 +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
aafc029682
Misc: Un-namespace Timer 2024-11-29 20:13:37 +10:00
Stenzek
6cbfab6eca
MetalDevice: Warning fix 2024-11-29 17:13:21 +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
b97788a35a
PostProcessing/FX: Force native paths for includes 2024-11-27 13:18:11 +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
4a650fcce2
GPUDevice: Fix VRAM usage calculation for compressed textures 2024-11-25 18:44:35 +10:00
Stenzek
982dccb990
D3D12Device: Clang warning fixes 2024-11-25 16:30:23 +10:00
Stenzek
ae14c8715d
Image: Support decompressing BC1-7 2024-11-24 23:29:29 +10:00
Stenzek
8567293103
Util: Add TextureDecompress 2024-11-24 23:29:29 +10:00
Stenzek
7eb1d4e092
GPUDevice: Support compressed textures 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
e647192437
GPUDevice: Add compute shader support 2024-11-24 23:29:28 +10:00
Stenzek
c970740d12
InputManager: Workaround macro chord trigger issue 2024-11-24 21:54:43 +10:00
Stenzek
e987b56aae
Log: Remove unused ISOReader channel 2024-11-23 18:59:10 +10:00
Stenzek
5bcf99fc11
CDImage: Merge bin/ecm handling into one class
Means that cuesheets with ECM tracks will now load as expected.
2024-11-23 18:52:46 +10:00
Stenzek
5c03e1d940
Misc: Fix alignment errors on ARM32 2024-11-23 18:52:45 +10:00
Stenzek
5d8519897d
Image: Fix uninitialized read without SIMD 2024-11-23 18:52:45 +10:00
Stenzek
0079f7a285
CDImageCue: Support reading .wav files (WAVE cuesheet files) 2024-11-23 18:52:43 +10:00
Stenzek
ca9af62f92
FullscreenUI: Add a BP achievements login dialog 2024-11-20 13:44:39 +10:00
Stenzek
b59f9a1270
ImGuiManager: Plumb through clipboard access 2024-11-20 13:38:52 +10:00
Stenzek
81e2619e91
FullscreenUI: Add missing icon 2024-11-19 20:35:07 +10:00
Stenzek
ed78a20ea7
FullscreenUI: More icon replacements 2024-11-17 13:23:03 +10:00