Commit Graph

1195 Commits

Author SHA1 Message Date
Henrik Rydgård b8353c6273 Add a commented-out torture test for a shader race condition 2023-09-20 18:47:32 +02:00
Henrik Rydgård 5c94b41dde Vulkan: If a createimageview failed, don't leak the image. Probably very rare. 2023-09-20 18:47:32 +02:00
Henrik Rydgård 0bfd166200 Try to prevent a weird shutdown race condition that I'm not sure can happen - but crash logs show it 2023-09-18 16:45:07 +02:00
Henrik Rydgård 3c810521e2 TextureBatch tiny optimization: Use vector.reserve 2023-09-18 14:49:13 +02:00
German Semenov c27481d637 GPU, VFS, UI: Fixed minor memleaks 2023-09-15 12:23:54 +03:00
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