Stenzek
f55961593a
PostProcessing: Display compile errors in OSD
2025-04-06 23:16:03 +10:00
Stenzek
979ad979b9
PostProcessing/FX: Add support for compute shaders
2025-04-06 23:16:03 +10:00
Stenzek
1aabcf1ba7
PostProcessing/FX: Alternate between two 'backbuffers'
...
Saves video memory, and also fixes shaders that expect each pass's input
to be the output of the previous path without explicitly referencing the
render target.
2025-04-06 23:16:03 +10:00
Stenzek
80cfe59dbe
PostProcessing/FX: Allow use of fixed-size render targets
...
Also obey the ClearRenderTarget flag.
2025-04-06 23:16:03 +10:00
Stenzek
4e7fdc8dbd
PostProcessing/FX: Allow frametime as int
...
But the value will be bogus.
2025-04-06 23:16:03 +10:00
Stenzek
eca113cd76
GPUDevice: Fix/improve compute shader support
...
Add multiple texture layout with/without UBO.
2025-04-06 23:16:02 +10:00
Stenzek
bbdc6ab4e0
Misc: Fix a bunch of code analysis warnings
...
Quite a few of these were legitimate.
2025-04-03 19:29:03 +10:00
Stenzek
acd684bca2
D3D12Device: Fix a couple of errors in ROV handling
2025-03-30 23:41:51 +10:00
Stenzek
b798d8f1aa
Settings: Add option for enabling GPU-based validation
2025-03-30 23:20:39 +10:00
Stenzek
3292833fb8
FullscreenUI: Add option to turn off animations
2025-03-30 15:58:48 +10:00
Stenzek
04c5a9f1b2
FullscreenUI: Improve leaderboard text contrast
2025-03-30 15:43:15 +10:00
Stenzek
e6e6313219
FullscreenUI: Add offscreen-based screen fade
2025-03-30 15:22:46 +10:00
Stenzek
4e2872f248
FullscreenUI: Fix consecutive choice dialogs
2025-03-30 14:45:26 +10:00
Stenzek
9bcd738f5c
FullscreenUI: Make save state selector a main window
...
More reliable, saves messing around with popups.
2025-03-30 14:45:26 +10:00
Stenzek
37230107f4
FullscreenUI: Run idle while notifications/toasts are onscreen
2025-03-29 20:06:09 +10:00
Stenzek
730fa67952
FullscreenUI: Darken titled toast text
2025-03-29 20:06:09 +10:00
Stenzek
3cf2f41723
FullscreenUI: Fix crash changing renderer
2025-03-29 20:06:09 +10:00
Stenzek
0687e59bda
FullscreenUI: Rewrite popup dialog handling
...
Add animations, fix background dimming.
2025-03-29 17:57:37 +10:00
Stenzek
9ef7f54f19
FullscreenUI: Enable all windows to nav-wrap
...
i.e. when pressing down at the end, it wraps to the top.
2025-03-28 20:38:31 +10:00
Stenzek
6f2225fb61
FullscreenUI: Remove redundant ActiveButton() and friends
2025-03-28 19:45:52 +10:00
Stenzek
f80a77fa27
FullscreenUI: Fix popup item border going outside of window
2025-03-28 19:27:24 +10:00
Stenzek
03d7af2efc
FullscreenUI: Add border rounding to menu items
2025-03-23 16:42:24 +10:00
Stenzek
2d477f80b0
Qt: Add tooltips to setup wizard graphics settings
...
Same strings as the main graphics settings page, so translation should
be just a matter of accepting them as-is.
2025-03-22 18:32:31 +10:00
Stenzek
3ab3e4be06
ImGuiManager: Tweak OSD message rounding
2025-03-22 18:20:51 +10:00
Stenzek
6eddc0b982
GPUDevice: Don't allow copy-resize between different formats
...
That's a spec violation.
2025-03-22 01:11:23 +10:00
KamFretoZ
e5cec05633
Qt/BPM: Add Green Giant Theme ( #3390 )
...
WHAT ARE YE DOING IN MY SWAMP???
2025-03-20 21:16:45 +10:00
Stenzek
27fc7de07a
FullscreenUI: Add translucency/shadow to achievement notifications
2025-03-15 16:27:43 +10:00
Stenzek
61de096d26
FullscreenUI: Add status text (left side of footer)
2025-03-15 15:58:22 +10:00
Stenzek
2a86faa51e
FullscreenUI: Replace landing icons with colourable icons
2025-03-15 13:56:29 +10:00
Stenzek
4bac7cb79e
FullscreenUI: Fix some dialogs not being cancellable
...
i.e. exitable with right mouse click/B button.
2025-03-15 02:18:20 +10:00
KamFretoZ
db3b689166
FullscreenUI: Add Dark Ruby theme ( #3389 )
2025-03-15 02:17:54 +10:00
Stenzek
1189f53840
FullscreenUI: Add 'Automatic' theme that syncs with Qt
2025-03-15 00:42:02 +10:00
Stenzek
3d0f038697
FullscreenUI: Move game list settings to main tab
...
And add resume to game list/grid.
2025-03-14 23:53:50 +10:00
Stenzek
6c867859bf
FullscreenUI: Apply theme to loading screen
2025-03-14 23:07:14 +10:00
Stenzek
cffafad2ca
ImGuiManager: Use fullscreen UI theme for OSD
2025-03-14 22:36:14 +10:00
Stenzek
b6fa2cecd3
FullscreenUI: Fix shadowed text alpha again
2025-03-14 22:36:14 +10:00
Stenzek
c57689cc90
FullscreenUI: Inherit colour alpha for shadowed text
2025-03-14 21:21:56 +10:00
Stenzek
e422afdec1
FullscreenUI: Improve achievements pause menu overlays
...
- Add most recent unlock/nearest completion.
- Make it look nicer and better fit with the rest of the interface.
2025-03-14 20:50:20 +10:00
Stenzek
ba3295930c
VulkanDevice: Allow 0x0 window size
...
Fixes minimizing in render-to-separate-window mode.
2025-03-12 23:54:25 +10:00
KamFretoZ
4fc49ee0ca
FullscreenUI: Tweak the highlight background color ( #3387 )
2025-03-12 23:54:15 +10:00
Stenzek
44af55a77f
FullscreenUI: Differentiate title/subtitle colours
...
Makes it easier to read.
2025-03-12 01:46:04 +10:00
Stenzek
72a0ba1e8e
FullscreenUI: Fix pause menu light theme shadow colour
2025-03-12 00:19:32 +10:00
Stenzek
aeadd4c280
FullscreenUI: Move game info to top of pause menu
2025-03-11 23:19:00 +10:00
Stenzek
492a55ee8b
FullscreenUI: Add icons to achievement list categories
2025-03-11 22:27:08 +10:00
Stenzek
160f1ea8a0
Qt: Fix vibration motor binding not showing some devices
2025-03-06 22:41:09 +10:00
KamFretoZ
38146f2023
FullscreenUI: Fix toast colors and add more themes ( #3381 )
2025-03-02 12:01:27 +10:00
Stenzek
34fdbafe85
FullscreenUI: Add drop shadows to most text
...
Improves readability with custom backgrounds.
2025-03-01 16:00:05 +10:00
Stenzek
9bfc3e90cc
FullscreenUI: Hook up dynamic toast colour
2025-03-01 13:10:50 +10:00
Stenzek
9d9da94b7b
FullscreenUI: Default to dark theme on unknown value
2025-03-01 13:10:50 +10:00
KamFretoZ
5dc0a3630a
FullscreenUI: Add Themes ( #3380 )
2025-03-01 12:41:06 +10:00
Stenzek
89d9842c7e
FullscreenUI: Fix popup title colours
2025-03-01 01:11:26 +10:00
Stenzek
ec7c83a58e
Settings: Fix race toggling OSD messages
2025-02-28 16:29:18 +10:00
Stenzek
df9f15eb68
OpenGLDevice: Support SDL window type
2025-02-28 16:29:18 +10:00
Stenzek
ee1a3b904e
VulkanDevice: Support SDL window type
2025-02-28 15:46:53 +10:00
Stenzek
4bddd38d70
WindowInfo: Add SDL window type
2025-02-28 15:46:53 +10:00
Stenzek
498e7aac56
X11Tools: Load libxcb and friends dynamically
2025-02-28 15:46:53 +10:00
Stenzek
bceadadcb4
Image: Fix possible unaligned movaps
2025-02-14 22:51:29 +10:00
Stenzek
dc6d6b91d4
PostProcessing: Fix abort on slow compile in big picture
2025-02-14 19:01:40 +10:00
Stenzek
b68d7c8adb
Image: Vectorize RGBA8 conversion and add A1BGR5
2025-02-14 19:01:40 +10:00
Stenzek
9b2cf0abbd
InputSource: Fix Wcast-function-type-mismatch
2025-02-14 19:01:40 +10:00
Stenzek
5913de947f
VulkanDevice: Fix incorrect texture format for A1BGR5
2025-02-14 19:01:40 +10:00
Stenzek
7bc18c8538
DDGoController: Rewrite to support axis input
...
And add virtual buttons for each of the possible states.
2025-02-12 21:52:02 +10:00
Stenzek
2663ac9666
CDImage: Improve PBP load error reporting
2025-02-08 17:33:58 +10:00
Stenzek
acb355a8c3
CDImage: Make .bin loader track length match .cue
...
Fixes different hashes for loading single-track .bin games directly.
2025-02-08 15:02:56 +10:00
Stenzek
f2cca01e29
ImGuiManager: Fix achievement unlock icon not showing
2025-02-08 01:46:44 +10:00
Stenzek
063bb96e5d
D3D11Device: Always query timestamp before present start
...
Fixes high GPU usage reporting in D3D11 with AMD GPUs + Optimal Frame
Pacing.
2025-02-07 15:58:35 +10:00
Stenzek
bee2dabc77
Misc: Replace stringstream str() with C++20 move str()
...
No extra heap allocation/copy.
2025-02-05 22:38:48 +10:00
Stenzek
c6563a4656
VulkanDevice: Require Vulkan 1.1 for most extension probing
...
Too much of a headache to deal with these ancient Mali drivers that
support some extensions but not full Vulkan 1.1, and VMA does not
support this scenario.
2025-02-04 17:15:29 +10:00
Stenzek
64d3716cfd
GPU: Further simplify draw rect calculation
...
Remove "Stretch Vertically" option, it was very confusing to users.
Integer scale will prefer whichever direction gets a larger draw
rectangle/preserves as much detail.
2025-02-02 17:02:58 +10:00
Stenzek
b5925ab139
Achievements: Include any codepoints above 0x100 in dynamic range
2025-01-31 13:48:57 +10:00
Stenzek
9b6021b79e
FullscreenUI: Fix progress bar padding in loading screen
2025-01-30 01:43:22 +10:00
Stenzek
128bab29f8
Host: Allow button title override in ConfirmMessageAsync()
2025-01-29 19:19:53 +10:00
Stenzek
4da7692a2d
System: Adjust initialization order to better fit FullscreenUI
...
Fixes jankyness of rendering the landing page when trying to resume
a game with achievements active, or when loading state.
2025-01-29 19:19:53 +10:00
Stenzek
1b678d0ebc
FullscreenUI: Allow using right mouse button for 'back'
2025-01-29 19:19:53 +10:00
Stenzek
231ba050a2
GPUThread: Switch to borderless if exclusive fullscreen fails
...
Better than ending up windowed.
2025-01-29 18:20:41 +10:00
Stenzek
5630f3958b
Qt: Fix loading webp images on Windows
2025-01-26 14:01:42 +10:00
Stenzek
0e3668a7bb
GameList: Show achievement information in game list
2025-01-26 13:49:08 +10:00
Stenzek
543704d57c
HTTPDownloader: Drop some log messages to debug
2025-01-25 22:35:06 +10:00
Stenzek
4e97420b3b
InputManager: Switch to SDL3
2025-01-24 15:54:31 +10:00
Stenzek
9113a6e6a6
Qt: Add 'Multiple Devices' to automatic mapping
...
Also populate the "current device" label with the device from
the config when running the setup wizard, instead of always setting
the label to Keyboard.
2025-01-22 18:38:37 +10:00
Stenzek
0166939609
PostProcessing/GLSL: Clear alpha to 1.0
2025-01-22 18:23:12 +10:00
Stenzek
be75a97efe
GPUDevice: Fix swap chain clear colour normalization
2025-01-22 18:23:11 +10:00
Stenzek
fb3e290133
GPUDevice: Move exclusive fullscreen to features
...
Also fixes it not enabling in D3D12 renderer.
2025-01-21 19:12:44 +10:00
Stenzek
389276bb03
GPUDevice: Normalize supports_texture_buffers => texture_buffers
2025-01-21 19:06:59 +10:00
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