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
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
042cf87248
Rework the present mode settings, refactor.
2025-10-20 21:28:38 +02:00
Henrik Rydgård
80bd32325c
Move the present mode from the CreateInfo to InitSwapchain
2025-10-20 16:33:34 +02:00
Henrik Rydgård
6338832015
Vulkan: Smoothly recreate the swapchain using oldSwapchain on "resize" on Windows
2025-10-20 15:42:34 +02:00
Henrik Rydgård
c0b7ecc686
Refactor: Unify the Vulkan init info logic
2025-08-21 01:01:16 +02:00
Henrik Rydgård
9137eedb7b
Windows/Vulkan: Correctly handle minimizing and restoring the window
...
We can't create a swapchain in this case but we still want emulation to
keep running. So we ditch the last renderpass in VulkanQueueRunner but
run all the rest (if PauseWhenMinimized isn't set).
Now works without any validation errors or hangs.
2025-07-18 20:01:48 +02:00
Henrik Rydgård
67dfbfe97e
Add developer setting to prevent loading overlays (and other 'implicit' Vulkan layers)
2025-04-10 18:56:05 +02:00
Henrik Rydgård
670ff21529
Make the Vulkan init flags a proper enum class
2025-04-10 18:16:05 +02:00
Henrik Rydgård
9f1f75ddab
Refactor: Merge the ChooseDevice function into CreateDevice
2024-07-17 10:31:49 +02:00
Henrik Rydgård
0caebbfaa6
Add a way to pass out error messages from VulkanLoad
2024-01-15 11:22:33 +01:00
Henrik Rydgård
ffd5e57a20
Vulkan: Don't use multithreaded rendering if frames-in-flight is set to 1
...
It has no benefit, and loses by a few percent in simple benchmarking.
2023-08-01 21:08:07 +02:00
Henrik Rydgård
b118e25b6a
Vulkan: Make multithreaded rendering an option.
...
Multi-threaded rendering is good for smoothing out performance spikes
and increasing performance on low-power devices. However, the way we use
it it doesn't benefit latency (input lag) at all, rather the opposite.
So make it an option.
2023-07-23 22:06:01 +02:00
Henrik Rydgård
242efba6f7
Remove splitSubmit setting. Now we submit init commands before the acquire.
2022-09-17 01:07:30 +02:00
Henrik Rydgård
0e3a84b4a8
Move most GPU things to Common.
...
It works after the move, on Windows and Android at least.
Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård
ff8148dd92
Move native/util, native/data and native/i18 to Common/Data.
...
Also move colorutil.cpp/h
linking build fix experiment
Delete a bunch of unused CMakeLists.txt files
CMakeLists.txt linking fix
Don't include NativeApp.h from any headers.
Android.mk buildfix
Half of the UWP fix
Buildfix
Minor project file cleanup
Buildfixes
Guess what? More buildfixes!
2020-10-04 07:28:29 +02:00
Henrik Rydgård
ed88761ecc
Merge ext/native/stringutil.cpp/h into Common/StringUtils.cpp/h.
2020-09-29 15:51:51 +02:00
Henrik Rydgård
5d64fc5ff1
Switch to PPSSPP's assert functions (don't use the system's)
2020-08-16 10:01:10 +02:00
Henrik Rydgård
c5e0b799d9
Remove category from _assert_msg_ functions. We don't filter these by category anyway.
...
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Henrik Rydgård
21f99259f3
Eliminate an unnecessary global g_Vulkan.
2020-07-18 22:50:26 +02:00
Henrik Rydgård
05ba88d20c
Windows/Vulkan: Don't destroy the surface during resize, no need.
2020-07-18 21:43:27 +02:00
Henrik Rydgård
1897eed9b4
More buildfixes
2020-07-18 21:43:13 +02:00
Henrik Rydgård
e48cb916dd
Buildfix
2020-07-18 20:43:47 +02:00
Henrik Rydgård
697c3b8b36
Cleanup log output on swapchain/surface recreation.
2020-07-18 20:35:39 +02:00
Henrik Rydgård
cd1d73436d
Vulkan: Recreate the swapchain if we get too many "out of date" frames.
...
Should help an issue on my Linux laptop with Intel GPU.
2020-06-22 00:45:05 +02:00
Henrik Rydgård
fbc4fa5bca
Move the responsibility to register the debugutils callback to the VulkanContext. We only use one anyway.
2020-06-21 23:04:51 +02:00
Henrik Rydgård
6532c345c8
Simplify the validation interface code, bugfixes
2020-06-21 23:04:51 +02:00
Henrik Rydgård
1793b65ec1
Vulkan: Remove support for the old VK_EXT_debug_report extension
2020-06-21 23:04:51 +02:00
Unknown W. Brackets
051a84e9bd
GPU: Restart when changing inflight frames setting.
...
We need to keep the push and pull in step, so changing at runtime is
messy.
2020-03-02 19:21:15 -08:00
Unknown W. Brackets
2a3fd05651
Vulkan: Present using FIFO for vsync.
...
This allows the setting to be changed at runtime in Vulkan too.
Should help #10105 .
2020-02-29 22:48:59 -08:00
Henrik Rydgård
4f7c23fe79
DarkStalkers: Fix display on OpenGL ES.
2019-10-27 20:54:36 +01:00
Henrik Rydgård
7610220b30
Vulkan: Prepare for adding a second init path for VulkanContext.
...
Will eventually be used for libretro.
2019-09-01 22:21:19 +02:00
Henrik Rydgård
8adb0dfd61
Vulkan validation: INFO level has gotten too spammy, turn it off.
2019-03-24 11:56:51 +01:00
Henrik Rydgård
0cd3ac06d0
Avoid trying to create a FileLoader for empty filenames
...
Assorted cleanup
2019-02-25 21:35:51 +01:00
Henrik Rydgard
478b0b4278
Further improve VK extension loading. Switch to VK_EXT_debug_utils (but fallback to VK_EXT_debug_report if only that is available).
2019-02-05 21:31:38 +01:00
Henrik Rydgard
8e1a5ef3d6
Minor refactor of physical device property/feature detection, to allow for more extension use.
2019-02-05 18:07:17 +01:00
Henrik Rydgard
f339a0c15b
VK: Minor cleanup, turn off unfinished and probably wrong use of dedicated allocation feature
2019-01-31 14:09:21 +01:00
Henrik Rydgård
429a1fce01
Assert even in release mode if preset shaders fail to compile. This is just to help track down a Play crash.
2018-11-21 18:14:26 +01:00
Unknown W. Brackets
7ee4d2d5a1
UI: Ask for restart when changing graphics device.
...
Only for D3D11 and Vulkan.
Also, makes Vulkan follow D3D11 in not changing the setting if the device
is not found on startup.
2018-09-30 00:53:21 -07:00
Unknown W. Brackets
b4496f1975
Core: Move config enums to separate file.
...
These are a bit strewn about and there are constants that aren't
consistently used, which just adds confusion.
2018-06-23 10:59:18 -07:00
Henrik Rydgård
238521a297
Rename device choice config options as requested.
2018-06-06 10:24:16 +02:00
Henrik Rydgård
b037efdb55
If there are multiple Vulkan devices, show a setting to allow the user to choose.
2018-06-06 10:20:12 +02:00
Henrik Rydgård
5f8118b82b
Separate T3DCreate* into its own header to avoid including Windows.h etc in some cases.
2018-02-25 10:27:59 +01:00
Unknown W. Brackets
766b40aad8
GPU: Reset GPUBackend on graphics init.
...
This way, when using a port that doesn't support Vulkan, it doesn't just
silently use upside down GL, etc.
2017-12-26 16:02:55 -08:00
Henrik Rydgård
2250ef799c
Avoid including platform-specific headers in VulkanContext.h
2017-12-18 12:54:25 +01:00
Henrik Rydgård
6f0b382d9e
Move vulkan debug callback out from WindowsVulkanContext into a file that can be shared with other platforms later.
2017-12-13 19:29:42 +01:00
Henrik Rydgård
b6911d2764
Add a hidden debug option [Graphics]GfxDebugSplitSubmit to try to narrow down some Vulkan issues, see #10163 . Also improve some asserts.
2017-11-22 10:47:04 +01:00
Henrik Rydgård
506c4eef17
Win32: Improvements to vulkan init error handling
2017-11-16 21:55:06 +01:00
Unknown W. Brackets
b1554ef061
Vulkan: Cut down on asserts during init.
...
In case something is horribly wrong, or our desired settings aren't
compatible, let's try to stumble our way out.
More things can fail, but the goal is to detect failure or at least be
able to render UI settings to swap out of Vulkan.
2017-11-12 21:56:55 -08:00
Henrik Rydgård
05930ea32e
MotoGP: Compat hack to disable framebuffer readbacks.
...
This is the only known game to copy its framebufer to RAM before display on every frame and we already have a
hack so we can display the high resolution framebuffer, but we still did the readback for no good reason.
This eliminates the readback.
2017-11-10 16:32:56 +01:00