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
e0634f3df9
Assorted cleanup and tweaks
2026-06-13 13:34:41 +02:00
Henrik Rydgård
aee05fcebb
vkGetDataFormatSupport is surprisingly expensive on some devices, cache it.
2026-06-13 13:34:38 +02:00
Henrik Rydgård
928cdea420
Fix vulkan validation error after #21616
...
See #21616
2026-06-05 10:09:23 +02: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
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
f60e27a9b7
Just some refactoring of the GPUStatistics struct, and more use of StringWriter
2026-05-29 14:40:31 +02:00
Henrik Rydgård
9845a78a46
Vulkan: Correct handling of VK_ERROR_OUT_OF_DATE_KHR
2026-05-28 10:56:35 +02:00
Herman Semenoff
b1d140e8e7
OpenGL/Vulkan/UI: duplicate fields move to separate const reference var
2026-05-27 12:26:12 +02:00
Herman Semenoff
eaae4dca82
Vulkan: duplicate fields move to separate const reference var
2026-05-27 12:23:47 +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
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
947217d1be
Convert the pre-rotation to just the matrix multiplication.
2026-05-17 10:59:40 +02:00
Henrik Rydgård
85ddf03c4b
Vulkan: Remove deprecated use of device layers
2026-05-13 23:09:04 +02:00
Henrik Rydgård
28166cb35d
Add "allocation slack" to our pushbuffers. Fixes a memory overwrite bug
...
Reported by Joseph on Discord.
Sometimes, things could align perfectly so allocations happend exactly
at the end of a pushbuffer. At the same time, we allow our vertex decoder to write an extra few
bytes if it needs to for speed. Unfortunately I missed this interaction,
resulting in some uncommon crashes that were especially common with
heavy-geometry things like modified GTA LCS with PS2 assets, for
example.
The problem was reported with Vulkan, but our OpenGL backend had the
same issue too.
2026-05-13 15:55:34 +02:00
Henrik Rydgård
ed274c8a7e
Just some lint fixing
2026-05-13 11:37:26 +02:00
Henrik Rydgård
575e08ff6c
Merge pull request #21589 from hrydgard/assorted-ui-fixes
...
Fix display of HTTP links in recents list
2026-04-24 13:21:19 +02:00
Henrik Rydgård
b2d0b8e3cc
Improve display of http links in recents list
2026-04-23 16:55:29 +02:00
Henrik Rydgård
d108fe25d1
Rework constant buffer loading, barrier fix
2026-04-23 13:32:06 +02:00
Henrik Rydgård
4c2be7f8af
More work. Some initialization order problem.
2026-04-23 13:31:51 +02:00
Henrik Rydgård
4335a327cd
Hackery to prepare for constant buffers in compute
2026-04-23 13:31:51 +02:00
Henrik Rydgård
317f811ca2
Slight improvement to our terrible GPU performance heuristic
2026-04-07 11:39:39 -06:00
Henrik Rydgård
02a624075a
Android: Make the "Auto" rotation mode override user rotation lock (SENSOR mode)
2026-03-31 10:43:27 -06:00
Henrik Rydgård
3083d37728
Add support for the raintegration menu rebuild event
2026-03-26 17:18:12 -06:00
Henrik Rydgård
7e3079b035
VulkanRenderManager: Try to survive StopThreads being called twice (shouldn't happen, but...)
2026-03-13 10:33:00 +01:00
Henrik Rydgård
845f9f3d55
Add missing check to Vulkan init. Disable validation on android-x86-64
...
The latter is broken in the Android SDK emulator.
2026-02-27 23:57:50 +01:00
Henrik Rydgård
9097dd935a
Somewhat improve the UI of the adhoc server list
2026-02-26 17:17:42 +01:00
Henrik Rydgård
e50199ad0a
Fix the gemini-written video player to actually work
2026-02-26 09:33:26 +01:00
Henrik Rydgård
5aeb38412d
Fix another valgrind warning
2026-02-19 11:46:14 +01:00
Henrik Rydgård
5a5c7028b9
Assorted warning fixes and data initialization to please valgrind
2026-02-19 11:24:46 +01:00
Henrik Rydgård
5b33918ac4
VulkanBarrier: Change a hard assert to a debug assert, add fallback code.
2026-02-18 11:35:55 +01:00
Henrik Rydgård
facf6cb4b9
Vulkan: Try to survive VK_ERROR_SURFACE_LOST_KHR
2026-02-17 10:18:08 +01:00
Henrik Rydgård
00b28e28dc
Mac/iOS: Avoid a vulkan warning about primitive restart
2026-02-10 10:41:52 +01:00
Henrik Rydgård
eb234a1563
Finish the split. Greatly simplifies the render code in EmuScreen.
2026-02-08 10:46:16 +01:00
Henrik Rydgård
236a0acf71
Minor tweaks
2026-02-06 11:37:09 +01:00
Henrik Rydgård
841e4c8564
Add various checks trying to avoid various crashes found in Google Play crash reports.
2026-02-05 11:12:53 +01:00
Henrik Rydgård
0c3f6afeef
Vulkan: Fix MSAA crash due to silly typo
2026-02-05 11:03:33 +01:00
Henrik Rydgård
68a8ba856f
Warning fix, delete unused code
2026-01-24 10:43:48 +01:00
Henrik Rydgård
7bca84252e
Vulkan: Add support for doing intra-buffer block copies with vkCmdCopyImage.
2026-01-22 13:47:41 +01:00
Henrik Rydgård
f12472aede
Give a name to an old mali GPU bug
2026-01-22 13:32:43 +01:00
Henrik Rydgård
64461329e7
More minor fixes and cleanups
2026-01-02 14:20:20 +01:00
Henrik Rydgård
502da9315d
Add a sanity check after acquiring swapchain images
2026-01-01 14:48:35 +01:00
Stanislav
c49081cb75
Add support run on LLVMpipe
...
Tested on few VM with Mesa LLVMpipe driver some games, no crashes
2025-11-15 17:32:58 +02:00
Henrik Rydgård
1efcaafd5a
Add query for max texture size
2025-11-15 15:26:02 +01:00
Henrik Rydgård
28b9bc2fb3
Make more dev screens usable in portrait by converting them to TabbedDialogScreen
2025-10-23 15:33:09 +02:00
Henrik Rydgård
1c49ad7b29
Support screen rotation on iOS (unrestricted)
2025-10-22 15:13:21 +02:00
Henrik Rydgård
042cf87248
Rework the present mode settings, refactor.
2025-10-20 21:28:38 +02:00
Henrik Rydgård
82bba691dd
Unexpose the specialized Vulkan presentation modes for now
2025-10-20 19:53:21 +02:00
Henrik Rydgård
b4f7635719
Vulkan: Check the available present modes right after initializing the surface
2025-10-20 19:52:24 +02:00
Henrik Rydgård
80bd32325c
Move the present mode from the CreateInfo to InitSwapchain
2025-10-20 16:33:34 +02:00