Henrik Rydgård
ec33bcfce3
Turn the debug assert in BindPipeline into a proper one to try to get some more context in the logs
...
Shouldn't be too expensive.
2023-09-11 16:57:38 +02:00
Henrik Rydgård
875112e9c2
Improve an assert
2023-09-11 14:18:55 +02:00
Henrik Rydgård
10f93875c6
Fix the semantics of DenseHashMap to be consistent even when inserting nulls
2023-09-11 12:07:18 +02:00
Henrik Rydgård
626d901441
OpenGL: Fix hang that mostly happened when buffered commands == off
2023-09-11 00:30:52 +02:00
Henrik Rydgård
d9e9bde596
Vulkan: Fix disabling VSync on SDL platforms that support IMMEDIATE but not MAILBOX
...
Fixes #18084
2023-09-06 18:46:19 +02:00
Henrik Rydgård
64852409df
Don't use the present time extensions (but keep the code around for future experiments)
...
Seen some suspicious crashes on Poco F1.
2023-08-30 10:47:20 +02:00
Bashar Astifan
4d71c96a10
Very minor cleanup
...
Removing unused include and cleaned the Tls TODO notice
2023-08-24 15:25:20 +04:00
Bashar Astifan
04d72ebe54
UWP improvements 2
2023-08-23 02:25:57 +04:00
Henrik Rydgård
44d602ca7d
Move InitSysDirectories to where it belongs and rename it. Plus warning fixes.
2023-08-18 13:03:32 +02:00
Henrik Rydgård
13cfd9c3d6
Add Mesa as a known GPU driver "vendor".
2023-08-17 22:06:03 +02:00
Henrik Rydgård
8fb5b06e0e
Add workaround for 32-bit x86 debug builds on AMD on Windows
...
Fixes issue #17787
2023-08-17 21:05:43 +02:00
Henrik Rydgård
691c8b8d8d
Write to the frame time history from the other backends too. Needed for the upcoming timing code.
2023-08-16 12:22:49 +02:00
Henrik Rydgård
572595cc7b
Refactor: Lift the frame time history data up one level into thin3d
2023-08-16 11:45:26 +02:00
Henrik Rydgård
5959481a3e
libretro D3D11: Attempt at fixing a build error
2023-08-15 00:30:36 +02:00
Henrik Rydgård
1b2cffe632
Address feedback
2023-08-14 11:06:20 +02:00
Henrik Rydgård
aadb700505
Fix turning off VSync on Android, logic fix
2023-08-14 11:02:29 +02: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
bec9c5611e
Rename PresentationMode to PresentMode
2023-08-14 11:02:29 +02:00
Henrik Rydgård
dc4de340b3
Some debug overlays don't make sense when not in-game, disable them. Minor feedback fixes.
2023-08-13 21:54:24 +02:00
Henrik Rydgård
e651d6e59f
Finish the separation of EndFrame and Present.
2023-08-13 18:40:35 +02:00
Henrik Rydgård
377704f195
OpenGL: Split submit and presentation into two tasks, but schedule them together
2023-08-13 18:40:35 +02:00
Henrik Rydgård
86fcb28d4d
Remove "bool retainControl_" for simplicity. Not needed.
2023-08-13 18:40:35 +02:00
Henrik Rydgård
cf83be8b3c
Very small memory leak fix
2023-08-13 13:55:51 +02:00
Henrik Rydgård
0ccd29f2ba
Revert "OpenGL: Separate submit/present for this backend as well"
...
This reverts commit 0143d67f9b
.
2023-08-12 13:35:21 +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
0143d67f9b
OpenGL: Separate submit/present for this backend as well
2023-08-10 17:46:10 +02:00
Henrik Rydgård
0deefb82a9
thin3d: Merge BeginFrame and SetDebugFlags (set them every frame anyway)
2023-08-10 17:15:54 +02:00
Henrik Rydgård
1b6d4df3a4
Move the EndFrame/Present split one level out, to NativeApp.cpp
2023-08-10 09:59:29 +02:00
Henrik Rydgård
e06e919624
VulkanRenderManager: Split finish and present (so we can inject a wait in between if desired).
2023-08-10 09:50:01 +02:00
Henrik Rydgård
86db91979f
Turn off present-wait for now. Too many issues.
2023-08-08 15:07:44 +02:00
Henrik Rydgård
652cc6cd65
Race condition fix
2023-08-08 14:00:58 +02:00
Henrik Rydgård
8fec4fb02f
wip
2023-08-08 13:26:27 +02:00
Henrik Rydgård
8e74907710
Don't try to use VK_GOOGLE_display_timing on Mac/iOS. MoltenVK has an implementation that seems broken.
2023-08-08 11:46:36 +02:00
Henrik Rydgård
a6b5340d97
Don't crash if VK_KHR_present_id / VK_KHR_present_wait are not exposed (but feature still reported available)
...
Fixes the new crash in #17858
2023-08-07 11:36:49 +02:00
Henrik Rydgård
5533d5ec57
More lenient emoji check, remove unused variable
2023-08-06 17:17:24 +02:00
Henrik Rydgård
63cfe28f61
Implement color emoji support on Android
2023-08-06 15:14:29 +02:00
Henrik Rydgård
39d25ce91f
D3D11: Allow setting the max frame latency
2023-08-04 11:53:51 +02:00
Henrik Rydgård
8e1dc35dd1
Vulkan: Show instance extensions, both enabled and available, in sysinfo
2023-08-03 18:56:47 +02:00
Henrik Rydgård
be63ce3a4a
Minor refactor allowing getting the GPU profile string outside games
2023-08-03 16:31:20 +02:00
Henrik Rydgård
0530dc57a8
Implement frame time measurement on Android using VK_GOOGLE_display_timing
2023-08-03 12:59:25 +02:00
Henrik Rydgård
9b038d6574
Vulkan: Show enabled extensions separately in sysinfo
2023-08-03 11:11:35 +02:00
Henrik Rydgård
e16cac6548
Initial work on supporting VK_GOOGLE_display_timing. Not working yet.
2023-08-03 11:11:16 +02:00
Henrik Rydgård
1a1a6fe15d
Load the functions for VK_GOOGLE_display_timing
2023-08-03 09:52:48 +02:00
Henrik Rydgård
14377259b5
Use VK_KHR_present_wait to get numbers on how much latency we have to screen
...
This extension is not available on Android, there they have
VK_GOOGLE_display_timing, which they also have an abstraction library
for, so will look at that later.
Early part of work on #17685
2023-08-02 20:34:22 +02:00
Henrik Rydgård
cda59e8510
Vulkan: Keep track of some timestamps in a frame
2023-08-02 16:25:17 +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
8f6662aa55
Fix an initialLayout issue with the image we use as the backbuffers's depth
2023-07-21 23:17:24 +02:00