99 Commits

Author SHA1 Message Date
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
Henrik Rydgård
ec504756e0 Vulkan: Improve init/shutdown logging on Android. Fix a bug where we'd not run InitDeviceObjects on GPU_Vulkan sometimes. 2017-11-09 16:02:05 +01:00
Unknown W. Brackets
ebe9dcafde Vulkan: Wait for queue idle in DestroyBackbuffers.
Otherwise it's only done after destroying Draw, so no need to mutex.
2017-11-05 08:44:14 -08:00
Unknown W. Brackets
8edc6eaf5e Vulkan: Fix segfault on swapchain fail.
This at least allows us to detect that the backend failed to init.

Happens when switching backends with debugger attached (probably driver
bug?)
2017-11-04 20:45:08 -07:00
Henrik Rydgård
bbfc32f131 Remove disabling of validation warning. It works. 2017-10-31 12:57:27 +01:00
Henrik Rydgård
07dfda0633 Vulkan depal code now passes validation, but produces black. 2017-10-31 12:35:00 +01:00
Henrik Rydgård
d016bfe221 Fix some resource leaks and excessive logging in VulkanRenderManager 2017-10-26 10:57:00 +02:00
Henrik Rydgård
3e2b810c39 Improve synchronization, though there are very weird issues. Possibly need to run the swap chain from the thread that created it? 2017-10-26 10:57:00 +02:00
Henrik Rydgård
833916a906 A multitude of fixes. The UI now works correctly, though of course ingame still broken. 2017-10-26 10:56:59 +02:00
Henrik Rydgård
0a0494ef8e It builds! With some shortcuts, of course. 2017-10-26 10:56:59 +02:00