Commit Graph

6213 Commits

Author SHA1 Message Date
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
Henrik Rydgård eaadb8aa31 Merge pull request #21762 from hrydgard/misc-fixes
Fix imgui upside down, some logging changes etc
2026-06-01 11:16:11 +02:00
Henrik Rydgård 01d65ada40 Merge pull request #21760 from misantronic/feature/achievementshost-cli-override
Android: add achievements host override receiver
2026-06-01 11:05:22 +02:00
Henrik Rydgård 054a10d46b Fix imgui being upside down on some backends.
Fixes #21761
2026-06-01 10:53:41 +02:00
david.schkalee d477afa9b2 Android: add achievements host override receiver 2026-06-01 01:44:04 +02:00
Henrik Rydgård 33ae88af6d Delete option "Disable range culling". No games are known to require it anymore. 2026-05-31 23:31:06 +02:00
Henrik Rydgård 931c246208 Merge pull request #21755 from Eloren1/load-save-confirm
Add load state confirmation setting
2026-05-31 22:04:19 +02:00
Eloren1 109d1caa50 Separate TriggerFinish from parent result 2026-05-31 22:05:53 +03:00
Eloren1 938029cd6a Add screenshots + extract LoadStateConfirmScreen 2026-05-31 21:55:06 +03:00
Eloren1 2926e1118d Add load confirmation popup after shortcut 2026-05-31 21:13:03 +03:00
Eloren1 7734c5f8f5 Call TriggerFinish on next frame outside popup 2026-05-31 20:27:07 +03:00
Henrik Rydgård e8e357e360 Implement the "Mix audio with other apps" setting on Android. 2026-05-31 19:08:45 +02:00