Commit Graph
6347 Commits
Author SHA1 Message Date
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
Eloren1 23aef44ae1 UI: Add load state confirmation option 2026-05-31 19:32:41 +03:00
Henrik Rydgård 847953fd31 Fix wrong logic causing excessive software transform fallback if cull planes are missing. Minor cleanup. 2026-05-31 13:31:16 +02:00
Henrik Rydgård f0d715feaa During culling, evaluate minZ,maxZ,minW,maxW, and use them to cull some things. Also, assorted vshader work. 2026-05-30 19:07:58 +02:00
Henrik Rydgård f60e27a9b7 Just some refactoring of the GPUStatistics struct, and more use of StringWriter 2026-05-29 14:40:31 +02:00
Henrik Rydgård 22b20cf2ea Bypass the InstallZipScreen for zipped framedumps - there's only one action that makes sense. 2026-05-28 10:56:35 +02:00
Henrik Rydgård e6a4cdb213 Fix minor UI issue 2026-05-28 10:56:35 +02:00
Henrik Rydgård dd125b2e4d Delete obsolete (and non-working) support for GPUs without non-pow-2 textures. 2026-05-24 14:15:34 +02:00
David Cottingham b585a1fcf4 Address review: remove redundant outer/output anti-deadzone controls 2026-05-22 18:51:08 -10:00
Henrik Rydgård 84c7489e83 Merge pull request #21719 from ZironZ/fix-hidden-texture-shader-selection
Fix hidden texture shader selection
2026-05-21 19:09:20 +02:00
ZironZ 92fcf01dfd Fix hidden texture shader selection 2026-05-21 11:46:20 -04:00
Henrik Rydgård 4a420c95c2 Remove some redundant device caps, show clip/cull/depth-clamp in system info 2026-05-21 11:59:26 +02:00
Henrik Rydgård 231aefe476 Code cleanup for save state notification, add metadata field 2026-05-19 11:07:07 +02:00
Henrik Rydgård 87a74546bc Merge pull request #21629 from hrydgard/generate-ui-shaders
Generate UI shaders instead of hardcoding them for each backend
2026-05-18 16:14:20 +02:00
Henrik Rydgård cc0ece038c Clean up the string type in RequestCallback - somehow was both char* and std::string????
Might be related to #21695
2026-05-18 14:16:34 +02:00
Henrik Rydgård 6f0a16a4a4 Fix Y flip 2026-05-18 14:14:25 +02:00
Henrik Rydgård 0092e266de Merge pull request #21697 from GermanAizek/std-empty-and-clear
Core/UI: use clear() and empty() for std containers
2026-05-18 12:43:36 +02:00