Connor McLaughlin
4ad2d60dca
Qt; Remove updateDisplayWindow on unexpected ID change
...
Automated Builds / 💻 Windows (push) Waiting to run
Automated Builds / 🐧 Linux AppImage (push) Waiting to run
Automated Builds / 🐧 Linux Cross-Compiled AppImage (push) Waiting to run
Automated Builds / 🍎 MacOS (push) Waiting to run
Automated Builds / 📤 Create Release (push) Blocked by required conditions
Removed call to updateDisplayWindow when window ID changes unexpectedly.
Wrong thread. I'll think about this later.
2025-12-28 03:13:15 +10:00
Stenzek
c1b970cc06
Qt: Hopefully avoid some false positive error logs
2025-12-28 01:57:52 +10:00
Stenzek
5346a274ae
Qt: Cache window handle for size updates
...
Apparently calling winId() during window resizes ends up with a bad
m_surface pointer inside the QWindowsWindow...
I don't feel like debugging Qt any further, so this will be sufficient.
Plus it's faster.
2025-12-28 01:37:20 +10:00
Davide Pesavento
a2d95a1ba5
FullscreenUI: Change a few icons
2025-12-27 23:51:53 +10:00
Davide Pesavento
6c46b0cfe8
Deps: Update FontAwesome to 7.1.0
2025-12-27 23:51:50 +10:00
Davide Pesavento
84ff881721
Deps: Remove version number from FontAwesome header
...
Reduces code churn on version bumps.
2025-12-27 23:42:26 +10:00
Stenzek
f07b726c67
Qt: Sync after creating widget on Linux
...
We want to avoid nested event loops as much as possible because it's problematic on MacOS.
I removed the sync/processEvents() here for this reason, except of course fucking Linux throws
a wrench in the plan. On Windows and MacOS, calling show() and showFullscreen() will send resize
events with the correct size before returning. On Linux with X11 and Wankland, it doesn't.
So we have to force a processEvents() here to ensure the display widget is the correct size,
otherwise we'll see a glitched frame at the windowed size when starting fullscreen. Linux is
the odd one out again, as usual. Note: QGuiApplication::sync() is supposed to pump events
before and after syncing, but it seems this alone is not sufficient for getting the resize.
2025-12-27 23:35:47 +10:00
Stenzek
a4657fbcbb
Qt: Catch show events for resize too
2025-12-27 23:35:19 +10:00
Stenzek
570a7042a6
OpenGLContextAGL: Compile fix
...
Not built on CI, so didn't notice.
2025-12-27 23:34:57 +10:00
Stenzek
213d3efdf7
GPUDevice: Unload persistent libraries on shutdown
Automated Builds / 💻 Windows (push) Waiting to run
Automated Builds / 🐧 Linux AppImage (push) Waiting to run
Automated Builds / 🐧 Linux Cross-Compiled AppImage (push) Waiting to run
Automated Builds / 🍎 MacOS (push) Waiting to run
Automated Builds / 📤 Create Release (push) Blocked by required conditions
2025-12-27 23:02:55 +10:00
Stenzek
739b0734bc
CodeCache: Don't try to handle page faults when shutting down
2025-12-27 23:00:02 +10:00
Stenzek
21abd24870
Deps: Ensure PDBs get generated for Qt plugins
...
Automated Builds / 💻 Windows (push) Waiting to run
Automated Builds / 🐧 Linux AppImage (push) Waiting to run
Automated Builds / 🐧 Linux Cross-Compiled AppImage (push) Waiting to run
Automated Builds / 🍎 MacOS (push) Waiting to run
Automated Builds / 📤 Create Release (push) Blocked by required conditions
Need to debug a crash in Qt...
2025-12-26 23:23:01 +10:00
Stenzek
c206bd6311
FullscreenUI: Fix incorrect icon for macro buttons
Automated Builds / 💻 Windows (push) Waiting to run
Automated Builds / 🐧 Linux AppImage (push) Waiting to run
Automated Builds / 🐧 Linux Cross-Compiled AppImage (push) Waiting to run
Automated Builds / 🍎 MacOS (push) Waiting to run
Automated Builds / 📤 Create Release (push) Blocked by required conditions
2025-12-26 16:20:23 +10:00
Stenzek
d2c8df97f9
FullscreenUI: Fix sound on mouse click for some popups
...
Should only play sound effect using keyboard/gamepad navigation.
2025-12-26 16:20:23 +10:00
Stenzek
9904c5fbb3
FullscreenUI: Fix macro pressure/deadzone dialogs
2025-12-26 16:20:23 +10:00
Stenzek
7c401777a8
Deps: Build Brotli
...
For woff2 font loading.
2025-12-26 16:20:23 +10:00
Stenzek
c20f8d1ec4
Deps: Version updates
...
libjpeg-turbo: 3.1.3
libpng: 1.6.53
zlib-ng: 2.3.2
ffmpeg: 8.0.1
2025-12-26 16:20:23 +10:00
Stenzek
ef2cf6e223
System: Fix missing subchannel not blocking startup
...
Translation Lint / translation-lint (push) Has been cancelled
GameDB Lint / gamedb-lint (push) Has been cancelled
Automated Builds / 💻 Windows (push) Has been cancelled
Automated Builds / 🐧 Linux AppImage (push) Has been cancelled
Automated Builds / 🐧 Linux Cross-Compiled AppImage (push) Has been cancelled
Automated Builds / 🍎 MacOS (push) Has been cancelled
Automated Builds / 📤 Create Release (push) Has been cancelled
I only tested the escape hatch, not the intended path...
2025-12-26 02:09:06 +10:00
Stenzek
682a3b3eb9
FullscreenUI: Only delete sound stream on full shutdown
...
Not when changing renderers.
2025-12-26 01:57:17 +10:00
Stenzek
5933489456
ImGuiManager: Reduce possible false sharing when adding events
2025-12-26 01:57:15 +10:00
Stenzek
6146769d85
Settings: Restore a few missing defaults in Safe Mode
2025-12-26 01:57:07 +10:00
Víctor "IlDucci
e70ae0be06
Spanish (Spain) translation update 2025/12/25 ( #3669 )
...
- Translated the latest batch of strings.
- Minor additional tweaks.
2025-12-26 01:57:00 +10:00
Stenzek
e2aa1ae24c
Qt: Fix handling of mouse double-click events
...
Automated Builds / 💻 Windows (push) Waiting to run
Automated Builds / 🐧 Linux AppImage (push) Waiting to run
Automated Builds / 🐧 Linux Cross-Compiled AppImage (push) Waiting to run
Automated Builds / 🍎 MacOS (push) Waiting to run
Automated Builds / 📤 Create Release (push) Blocked by required conditions
GameDB Lint / gamedb-lint (push) Has been cancelled
- Fixes double-click events with mouse binds getting dropped.
- Fixes early release event when toggling fullscreen.
2025-12-25 19:56:26 +10:00
Davide Pesavento
182075675d
CI: Minimize workflow permissions
2025-12-25 17:29:46 +10:00
Davide Pesavento
9aaaf14e85
CI: Stricter yamllint config
2025-12-25 17:29:46 +10:00
Davide Pesavento
ff747dde38
CI: Use ubuntu-slim runner for lint jobs
2025-12-25 17:29:46 +10:00
Davide Pesavento
1bc30de66f
CI: Update actions
2025-12-25 17:29:46 +10:00
Stenzek
25790d704b
InputManager: Register for device notifications with XInput
...
Automated Builds / 💻 Windows (push) Waiting to run
Automated Builds / 🐧 Linux AppImage (push) Waiting to run
Automated Builds / 🐧 Linux Cross-Compiled AppImage (push) Waiting to run
Automated Builds / 🍎 MacOS (push) Waiting to run
Automated Builds / 📤 Create Release (push) Blocked by required conditions
Translation Lint / translation-lint (push) Waiting to run
I forgot that I apparently don't poll active controllers.
Fixes controller hotplugging with XInput.
2025-12-25 13:52:30 +10:00
Stenzek
31764738c6
InputSource: Remove before calling OnInputDeviceDisconnected()
...
Fixes background polling interval not decreasing after last device
disconnects.
2025-12-25 13:51:29 +10:00
Anderson Cardoso
3253cc5bed
Atualização Português do Brasil ( #3667 )
...
Atualizado para a última versão.
2025-12-25 13:50:32 +10:00
Stenzek
4b9154b45d
Hotkeys: Add hotkey to toggle texture modulation cropping
Automated Builds / 💻 Windows (push) Has been cancelled
Automated Builds / 🐧 Linux AppImage (push) Has been cancelled
Automated Builds / 🐧 Linux Cross-Compiled AppImage (push) Has been cancelled
Automated Builds / 🍎 MacOS (push) Has been cancelled
Automated Builds / 📤 Create Release (push) Has been cancelled
2025-12-24 02:00:06 +10:00
Stenzek
88ca6cf40a
README: Add instructions for resource overrides
2025-12-24 01:51:45 +10:00
Stenzek
b55f4041bf
GPU: Add option to crop vertex colours before modulation
...
aka "old" GPU.
2025-12-24 01:23:01 +10:00
Stenzek
ad0312ec82
Settings: Free up space in GPUSettings struct
2025-12-24 00:16:44 +10:00
Stenzek
56d79c76a7
GPU: Extract heavier helper functions to own header
Automated Builds / 💻 Windows (push) Waiting to run
Automated Builds / 🐧 Linux AppImage (push) Waiting to run
Automated Builds / 🐧 Linux Cross-Compiled AppImage (push) Waiting to run
Automated Builds / 🍎 MacOS (push) Waiting to run
Automated Builds / 📤 Create Release (push) Blocked by required conditions
GameDB Lint / gamedb-lint (push) Has been cancelled
2025-12-23 20:00:58 +10:00
Stenzek
095fef524d
GPUDevice: Extract enums to own file
...
Further reduction of indirect includes.
2025-12-23 19:52:33 +10:00
Stenzek
9370642434
Deps: Update rcheevos to v12.2.0
2025-12-23 19:34:29 +10:00
Stenzek
7bc32cdfa2
VulkanDevice: Swap EXT for KHR in structure type
...
No net difference.
2025-12-23 18:27:01 +10:00
Stenzek
822d756538
CubebAudioStream: Add missing layout mapping
...
Not actually used in DuckStation but one fewer patch I have to maintain.
2025-12-23 18:24:21 +10:00
Stenzek
9bcf23fa9b
GameDB: Set PGXP-CPU for Vagrant Story
...
Fixes jitter in attack outline.
2025-12-23 18:24:05 +10:00
Stenzek
a1aa038623
VulkanDevice: Use KHR variants of surface/swapchain maintenance
...
AMD doesn't support the EXT variant.
2025-12-23 16:43:21 +10:00
Stenzek
41a000c0f1
Deps: Update Vulkan-Headers to v1.4.337
2025-12-23 16:36:17 +10:00
Stenzek
69458bd90b
VulkanDevice: Persist instance throughout launches
...
Testing with AMD on Windows and LLVMPipe on Linux, creating and
destroying a Vulkan instance appears to leak around 20-30MB of memory.
Just keep the thing around for the whole time. Reduces startup time too,
so everyone wins. Unless you're switching renderers all the time, then
you lose a bit of memory.
2025-12-23 16:22:33 +10:00
Stenzek
e13b9a0c17
WindowInfo: Extract type into global namespace
2025-12-23 16:10:45 +10:00
Stenzek
f4c752a99f
Qt: Extract window info functions to own file
...
More include reduction.
2025-12-23 16:10:45 +10:00
Stenzek
5b789be901
GPUDevice: Extract texture format to global namespace
...
Avoid pulling in gpu_texture.h and indirect includes just for this.
2025-12-23 16:10:45 +10:00
Stenzek
c3415c4891
VulkanDevice: Rearrange fields for locality
2025-12-23 12:50:16 +10:00
Stenzek
5a7acfe730
Qt: Populate graphics adapters asynchronously
...
Automated Builds / 💻 Windows (push) Waiting to run
Automated Builds / 🐧 Linux AppImage (push) Waiting to run
Automated Builds / 🐧 Linux Cross-Compiled AppImage (push) Waiting to run
Automated Builds / 🍎 MacOS (push) Waiting to run
Automated Builds / 📤 Create Release (push) Blocked by required conditions
More time saved when opening the settings window.
2025-12-23 01:52:06 +10:00
Stenzek
fbdd2689b1
Qt: Populate audio devices asynchronously
...
Save another 40-60ms when opening the window on my system. That's a few
frames at least!
2025-12-23 01:52:06 +10:00
Stenzek
edd3df899a
Qt: Fix noreturn warning in Host::ReportFatalError()
2025-12-23 01:52:06 +10:00