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
oltolm
554c05ec9b
d3d11: remove unnecesarry workaround
2026-01-31 11:54:31 +01: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
5fc6dee1f2
Update comment
...
See #20877
2025-10-17 08:58:48 +02:00
Henrik Rydgård
f037b1ce13
Add Windows version check before trying to even check for Win10-exclusive D3D features
...
Should fix #20877
2025-10-16 11:20:21 +02:00
Henrik Rydgård
9218fe9b59
Rework the shutdown logic in the OpenGL backend. Eliminated race conditions.
2025-08-31 10:57:06 +02:00
Henrik Rydgård
c0b7ecc686
Refactor: Unify the Vulkan init info logic
2025-08-21 01:01:16 +02:00
Henrik Rydgård
b445f59e36
D3D11: If debug layer requested but not available, try again without it.
2025-08-01 17:19:37 +02:00
Henrik Rydgård
152098e3f0
Windows: Add basic native support for Switch Pro controllers
2025-07-19 11:39:23 +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
fa04337654
On Windows 11, start defaulting to Vulkan.
2025-06-10 21:24:31 +02:00
Henrik Rydgård
6cfea96e58
Remove D3D9 support, to make future changes easier
2025-06-10 15:07:16 +02:00
Henrik Rydgård
b0ccfbfe5d
Fix exit crash on Windows ARM64 with D3D11 (and probably also x64 Windows, but couldn't repro that)
2025-06-09 17:26:29 +02:00
oltolm
c75c2992b3
D3D11: use ComPtr in more places
2025-05-17 23:35:41 +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
oltolm
b09eb3dd23
use ComPtr for D3D11
2025-02-17 22:58:44 +01:00
Henrik Rydgård
359f58be69
Workaround for retroarch's buildserver using an old SDK
2025-02-14 19:06:00 -06:00
Nukem
0e623450c0
d3d11: Use modern flip model and tearing flags for swap chain creation
2025-02-12 19:50:05 -06:00
oltolm
9566065455
make compile on mingw-w64
2025-01-11 01:25:27 +01:00
Henrik Rydgård
3e198c53b2
More include cleanup
2024-12-18 13:57:26 +01:00
oltolm
87db979ed7
use ComPtr for D3D9
2024-08-25 12:08:31 +02:00
Henrik Rydgård
9f1f75ddab
Refactor: Merge the ChooseDevice function into CreateDevice
2024-07-17 10:31:49 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård
0caebbfaa6
Add a way to pass out error messages from VulkanLoad
2024-01-15 11:22:33 +01:00
Herman Semenov
95f535dab0
[UI/Windows] Object out of scope optimization for better codegeneration (lower level scope)
2023-12-20 12:35:02 +03:00
Henrik Rydgård
ff6e118fff
Get rid of a lot of ifdefs around presentation mode. Instead, set things dynamically.
2023-08-14 11:02:29 +02:00
Henrik Rydgård
86fcb28d4d
Remove "bool retainControl_" for simplicity. Not needed.
2023-08-13 18:40:35 +02:00
Henrik Rydgård
1ea11c233c
Remove "SwapBuffers" from the GraphicsContext interface.
...
Buildfixes
More buildfix
headless buildfix
One more buildfix
2023-08-11 01:57:02 +02:00
Henrik Rydgård
ed9b033f7d
D3D9/11: Move away from using context->SwapBuffers(), instead move present to draw_->Present().
2023-08-11 01:57:02 +02:00
Henrik Rydgård
1bdbef487b
D3D11: Pass the swapchain pointer into the thin3d context
2023-08-11 01:57:02 +02:00
Henrik Rydgård
96506544b7
Just some random driveby code cleanup
2023-08-10 10:28:25 +02:00
Henrik Rydgård
5533d5ec57
More lenient emoji check, remove unused variable
2023-08-06 17:17:24 +02:00
Henrik Rydgård
39d25ce91f
D3D11: Allow setting the max frame latency
2023-08-04 11:53:51 +02: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
haorui wang
ec4927069e
1. remove some unused code
...
2. add some missing header
3. fix error address offset operation
2023-07-30 12:31:31 +08: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
eb21a2e6c9
Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h
2023-06-30 17:15:49 +02:00
Henrik Rydgård
7cc8c6cea4
OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI).
2023-06-20 14:40:46 +02:00
Henrik Rydgård
ee6234ecb6
I18N: Switch to getting categories by index instead of by string lookup
...
Also gets rid of the shared_ptr usage, and generally makes things nicer.
Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård
9e125eeba7
Remove NotifyUserMessage from Host
2023-03-25 10:32:09 +01:00
Henrik Rydgård
8b431b39ba
Wrap the display globals in a struct ( #16998 )
...
* Wrap the display globals in a struct
Makes it easier to search/replace these, for future refactorings.
* Some renaming
* Qt buildfix, also fix the Qt build on Mac (got broken with battery changes)
* Attempt at buildfixing ios
* UWP buildfix
2023-02-25 13:09:44 +01:00
Henrik Rydgård
cb16f193ec
Fix the problem. Still need to leave the loop with SDL even if we supply a swap function.
2023-01-30 15:45:05 +01:00
Henrik Rydgård
b62572a78f
Refactor the framedata/GPU thread management.
2023-01-30 11:49:31 +01:00
Unknown W. Brackets
49f6c461ad
Reporting: Fix some header includes.
...
Particularly in Common, avoid including Core/Reporting.h.
2022-12-27 14:58:20 -08:00
Unknown W. Brackets
9cfcbc46e6
Global: Cleanup initialization/pointer checks.
...
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
4ec1e2a175
Some minor initialization fixes, and one potential crash found by static analysis
2022-12-10 11:28:19 +01:00