Stenzek
f219b47e98
FullscreenUI: Use constant width/height scale on Android
...
Fixes achievement notifications being differently sized
depending on the screen rotation.
2025-01-20 00:01:46 +10:00
Stenzek
7c2488c942
PostProcessing/GLSL: Fix image moved off-screen with alignment
2025-01-19 21:40:38 +10:00
Stenzek
c03b6f3d84
Misc: Replace isspace() usage with StringUtil::IsWhitespace()
...
Avoids the UB if the character is negative (e.g. reading from a binary
file), as well as locale-specific rubbish.
2025-01-19 21:29:14 +10:00
Stenzek
21b167d382
CDImage: Tidy up Open() method
2025-01-19 21:29:14 +10:00
Stenzek
9fdeeb3fb6
GPU: Add alpha blending support to overlay
2025-01-19 16:37:51 +10:00
Stenzek
e1cbb50c64
GPU: Fix various capture/screenshot issues
...
- Simplify functions for rendering display.
- Post-processing should only when the target size matches the window.
Otherwise the shaders are constantly recompiled.
- Include border overlay in capture/screenshots when above condition
is satisfied.
- Relax video alignment size when using screen resolution + auto.
- Fix "Internal Resolution (Uncorrected)" capture mode.
2025-01-19 13:42:38 +10:00
Stenzek
6131ddbefe
GPU: Fill in unused/padded area in overlays
2025-01-18 22:59:49 +10:00
Stenzek
88b43370dc
GPUDevice: Replace explicit GL_PUSH/GL_POP with nested GL_SCOPE
2025-01-18 22:59:49 +10:00
Stenzek
d62261e7a4
GPUDevice: Allow nested GL_SCOPE macros
2025-01-18 22:59:49 +10:00
Stenzek
e0a9bbe600
PostProcessing: Move into GPU presenter
...
Means that the renderer can be changed without reloading shaders,
and speeds up config change detection.
2025-01-18 22:59:48 +10:00
Stenzek
d589696eff
PostProcessing: Get rid of GPU-dependent globals
2025-01-18 22:59:48 +10:00
Stenzek
338d29d271
GPUDevice: Move empty/null texture to base class
2025-01-18 22:59:48 +10:00
Stenzek
609fa5c7d7
GPUDevice: Add sampler cache to base class
...
Removes per-backend bookkeeping in D3D12 and Vulkan.
2025-01-18 22:59:48 +10:00
Stenzek
dd9788262e
GPU: Refactor display presentation workflow
...
Adds the ability to set overlays, and fixes postfx with prerotation.
2025-01-18 22:59:48 +10:00
Stenzek
e41f179108
PostProcessing: Fix erroneous reload message
2025-01-18 22:59:48 +10:00
Stenzek
7cc47551a4
FullscreenUI: Fix parent scroll resetting on directory change
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
227c249d7f
FullscreenUI: Skip SVG prefix if image is not a SVG
2025-01-18 22:59:47 +10:00
Stenzek
c34dda39b7
FullscreenUI: Fix invalidating images with size hints
2025-01-18 22:59:11 +10:00
Stenzek
79245b6cd6
FullscreenUI: Make footer text background semitransparent
2025-01-16 01:14:22 +10:00
Stenzek
7973a91438
FullscreenUI: Make menu item backgrounds slightly transparent
...
Blends with background.
2025-01-14 21:07:00 +10:00
Stenzek
3130e16438
FullscreenUI: Add user-selectable backgrounds
2025-01-14 18:59:42 +10:00
Stenzek
88e18a8659
Image: Fix crash on loading corrupted JPEG file
2025-01-14 13:29:14 +10:00
Stenzek
d3854d095e
AnalogController: Use variant vibration icon for large motor
2025-01-13 19:49:56 +10:00
Stenzek
aaf2a4b614
InputManager: Adjust scope of constants
2025-01-13 16:35:40 +10:00
Stenzek
462a4a3b50
Controller: Refactor so that GetControllerInfo() can't return null
2025-01-13 16:07:43 +10:00
Stenzek
062776c1c7
ImGuiManager: Map left stick to dpad
2025-01-13 14:28:39 +10:00
Stenzek
c45e59fe22
SDLInputSource: Arrays to std::array and forward generic axis
2025-01-13 14:28:28 +10:00
Stenzek
21aef088ed
XInputSource: Arrays to std::array and forward generic axis
2025-01-13 14:25:51 +10:00
Stenzek
9d3c56fe6c
ImGuiManager: Fix data races in input forwarding
2025-01-13 13:52:07 +10:00
Stenzek
17e8930e94
ImGuiManager: Pack state based on thread access
2025-01-13 13:33:15 +10:00
Stenzek
3621705933
Achievements: Ensure loading old states behave the same as new
2025-01-13 13:13:15 +10:00
Stenzek
19ee37cd10
FullscreenUI: Render notifications on top of OSD
2025-01-12 19:14:59 +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
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
36590f3c71
InputManager: Fix crash on controller connect on Windows
2025-01-11 23:29:55 +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
e6c0725656
InputManager: Hold lock while manipulating devices/sources
...
Since we're enumerating on the GPU thread now, need to protect it.
2025-01-11 20:28:00 +10:00
Stenzek
2d63b34d48
Qt: Add icons/decorations to input devices
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
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