mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-23 19:29:05 +02:00
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.