Henrik Rydgård
1b2f87bf1a
Rename GPUgstate to GEState
2026-07-02 20:34:09 +02:00
Henrik Rydgård
48068384fe
Add ugly hack to prevent double-trigger of ESC to close the pause screen
2026-06-28 12:21:51 +02:00
Henrik Rydgård
444f78bf84
Don't forget to clear the event queue..
2026-06-25 13:00:40 +02:00
Henrik Rydgård
72ee82844d
Doesn't yet work
2026-06-24 23:04:17 +02:00
Henrik Rydgård
729f11ecbe
Simplify away some nonsense
2026-06-24 22:55:34 +02:00
Henrik Rydgård
02e9deb232
Fix some input behavior that got lost in the previous commits.
2026-06-24 21:48:44 +02:00
Henrik Rydgård
b01812e671
Fix AnalogCalibrationScreen
2026-06-24 20:41:10 +02:00
Henrik Rydgård
0840e292ab
Move some logic out to a per-frame poll instead of per input event
2026-06-24 20:41:10 +02:00
Henrik Rydgård
20a4a6974d
Untangle some logic a little
2026-06-24 20:41:10 +02:00
Henrik Rydgård
6e8c76fefc
Don't really need "unsync" vkeys
2026-06-24 20:41:10 +02:00
Henrik Rydgård
05018fb40d
RetroAchievement images: Workaround for lack of https on Linux
...
Fixes #21843
2026-06-17 16:20:53 +02:00
Henrik Rydgård
623545bd24
Delete the "Hardware tessellation" feature.
...
Very hard to maintain and debug, not worth it.
2026-06-16 16:17:14 +02:00
Henrik Rydgård
d3039271c2
Assorted warning fixes
2026-06-16 11:39:24 +02:00
Henrik Rydgård
5ab3d6042b
Move modifier key tracking out from the screen system
2026-06-16 10:57:55 +02:00
Henrik Rydgård
7b19253d05
Start moving logic out of "Unsync*" input handling
2026-06-16 10:57:55 +02:00
Henrik Rydgård
02aaa3b2b9
Don't have pauseTrigger as an output parameter from ControlMapper::Key()
2026-06-16 10:57:52 +02:00
Henrik Rydgård
04fde47bdc
Merge pull request #21837 from hrydgard/exit-callback
...
Implement exit callbacks.
2026-06-15 13:45:21 +02:00
Henrik Rydgård
e4d3cc841c
Implement exit callbacks. Attempt to solve #21828
2026-06-15 12:12:57 +02:00
Henrik Rydgård
6d98293be9
Hide orientation controls on large Android 17 devices, since they won't work.
2026-06-15 10:37:58 +02:00
Henrik Rydgård
26c208c41e
RemoteISO: Add (untested) support for the local network permission on Android 17
...
Part of #21585
2026-06-15 10:00:01 +02:00
Henrik Rydgård
49b3b4462c
ImGeDebugger: Allow viewing the alpha channel (so you can compare it to stencil...)
2026-06-14 13:23:49 +02:00
Henrik Rydgård
ea8a648737
Refactor UI shader presets, prepare for some updates to the ImGe debugger
2026-06-14 11:08:56 +02:00
Henrik Rydgård
a722139bd9
Don't CancelAll downloads on StoreScreen close
2026-06-13 15:13:29 +02:00
Henrik Rydgård
3cec5a3974
StoreScreen: g_DownloadManager is a global singleton, and we don't have to update it from here.
2026-06-13 15:09:29 +02:00
Henrik Rydgård
59a21e11fd
Code cleanup and improvements in ImGe
2026-06-12 23:51:43 +02:00
Henrik Rydgård
f3e590b059
Experiment with a compat flag that forces shader depal
2026-06-12 12:19:17 +02:00
Henrik Rydgård
5265422c0e
Remove the old "Fragment ubershader" setting. It's been on by default for years and is not really an ubershader.
2026-06-10 09:54:52 +02:00
Henrik Rydgård
5691440442
Clean out some more stuff we don't need anymore
2026-06-09 23:49:54 +02:00
Henrik Rydgård
1781f693b5
Implement the new SyncDomain concept for texture hashing, remove minihash
2026-06-09 23:49:54 +02:00
Henrik Rydgård
36bdde68f9
Delete the "Lazy texture cache" option
2026-06-09 23:49:54 +02:00
Henrik Rydgård
a38c52601c
Turn TexCacheEntry::TexStatus into an enum class
2026-06-09 11:25:51 +02:00
Henrik Rydgård
fdcf923c75
TexCache: Stop bitpacking the hash status into the status flags
2026-06-09 11:25:50 +02:00
Henrik Rydgård
2534eb4480
Disable anisotropic filtering for all flat draws.
...
May improve performance slightly, and should fix the last instances of #19555
2026-06-08 15:28:58 +02:00
Henrik Rydgård
d19f8b72f9
Warning fixes
2026-06-06 14:24:16 +02:00
Henrik Rydgård
45f41be8f0
Add a debug window to check active compat flags
2026-06-05 17:55:28 +02:00
Henrik Rydgård
78a6bd7157
Add DevMenu to the three dots menu on the pause screen
2026-06-05 17:19:06 +02:00
Henrik Rydgård
f9bf58f8b0
Merge pull request #21616 from jasaaved/borderless-fullscreen
...
Windows Vulkan: default to borderless fullscreen, add exclusive option
2026-06-05 09:54:46 +02:00
jasaaved
95006cf1d3
Changed bFullScreenExclusive to bAllowFullScreenExclusive
...
There's no guarantee VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT will enter Fullscreen exclusive (FSE). Under the right conditions, the driver and/or DWM can grant FSE. Adding "allow" to the FSE setting should make this a bit clearer.
2026-06-04 12:54:52 -07:00
Henrik Rydgård
00d201b216
Correct software transform stats in all-cull and through mode cases
2026-06-04 12:45:17 +02:00
jasaaved
0147ea0ae8
Grey out "Use all screens" when "Exclusive fullscreen" is on
...
Exclusive full screens is fundamentally a single monitor concept. It doesn't make sense to have "use all screens" and "Exclusive fullscreen".
The order of the options have been swapped so "Fullscreen" and "Exclusive Fullscreen" are right next to each other.
2026-06-03 17:15:13 -07:00
jasaaved
5e25118043
Fix the exclusive fullscreen config guard and switching the setting on/off
...
Previously the exclusive fullscreen option in the settings screen was
guarded by a compile-time #ifdef VK_EXT_full_screen_exclusive, which is
always true on Windows. It now uses a runtime fullScreenExclusiveSupported
cap derived from whether the extension is actually enabled by the driver.
Switching between borderless and exclusive fullscreen currently requires a
restart. This is because once DWM has claimed the window (any frames
presented), ALLOWED_EXT cannot re-engage exclusive mode on an existing
swapchain. A new process gets a fresh HWND that DWM has not claimed yet,
so ALLOWED_EXT works correctly at startup.
The proper fix is to use VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
with vkAcquireFullScreenExclusiveModeEXT/vkReleaseFullScreenExclusiveModeEXT
to explicitly negotiate exclusive mode with DWM mid-session without needing
a restart. To be done in a follow-up.
2026-06-03 17:15:13 -07:00
jasaaved
b5bd685556
Add VK_EXT_full_screen_exclusive guard
...
Exclusive fullscreen option is now hidden on platforms without VK_EXT_full_screen_exclusive.
2026-06-03 17:15:13 -07:00
jasaaved
0c23cdaf3d
Windows Vulkan: default to borderless fullscreen, add exclusive option
...
Vulkan swapchain now explicitly sets VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT by default, enabling proper borderless fullscreen behavior with benefits including better Alt+Tab, VRR/G-Sync/FreeSync, and Auto HDR support.
2026-06-03 17:15:13 -07:00
Henrik Rydgård
9f5d28ca6e
Fix toggling pause with the bound pause key
2026-06-03 18:49:13 +02:00
Henrik Rydgård
d0f4e5c2d1
Visualize bounding boxes in ImGe debugger by drawing their corners
2026-06-03 13:46:30 +02:00
Henrik Rydgård
2d7ebe0835
Merge pull request #21688 from RRDVD/cross-shaped-anti-deadzone
...
Add Steam Input-style advanced deadzone controls to analog calibration
2026-06-03 10:40:47 +02:00
Henrik Rydgård
79328a99b3
Vertex preview works again in both debuggers.
2026-06-02 15:40:37 +02:00
Henrik Rydgård
c46774c923
Fix the ImGe debugger vertex list
2026-06-02 14:53:37 +02:00
Henrik Rydgård
bb573e6e0c
Well, it builds, but doesn't work yet.
2026-06-02 12:33:53 +02:00
Henrik Rydgård
a317890c08
Remove the GPUDebugInterface class
...
Just a pointless extra layer in the class hiearchy, making it
unnecessarily hard to modify the interface.
Might as well hit GPUCommon directly.
2026-06-02 11:15:08 +02:00