Commit Graph
93 Commits
Author SHA1 Message Date
Henrik Rydgård 57615344e4 Fix for deletes, add some debugging stuff 2018-01-27 15:10:17 +01:00
Henrik Rydgård 133bef575a Split Android graphics context implementations into their own files. 2018-01-20 21:47:16 +01:00
Greg V 025c382b9b Check for Vulkan Xlib/Wayland surface support before enabling
The Vulkan loader will error if a requested extension is not available,
and the nvidia proprietary driver does not support the Wayland one.
2018-01-12 22:18:58 +03:00
Henrik Rydgård b9726245ac Vulkan: Use VK_KHR_DEDICATED_ALLOCATION for frame buffers for minor speedup on some GPUs. Check for the debug report extension before enabling it. 2017-12-30 21:31:43 +01:00
Henrik Rydgård 191c4ddb0d Add a bit of logging to try to figure out #10477 2017-12-30 21:04:05 +01:00
Greg V f3783bdb44 Add support for Vulkan on Wayland 2017-12-26 16:09:27 +03:00
Henrik Rydgård 7f758d52dc Statically link a vulkan loader on Linux. Use to to init vulkan on X11. Unfortunately, it's broken. 2017-12-21 11:02:11 +01:00
Henrik Rydgård ea387b2a48 WIP vulkan on linux stuff 2017-12-21 10:48:00 +01:00
Henrik Rydgård 2250ef799c Avoid including platform-specific headers in VulkanContext.h 2017-12-18 12:54:25 +01:00
Henrik Rydgård ef66892f70 Update vulkan headers, add linux .so loader lib for easy builds, like Sascha does. 2017-12-15 16:40:38 +01:00
Henrik Rydgård cca4e0b2ca Fix another case where we trusted std::move to clear the origin, which is not guaranteed. 2017-12-10 14:37:28 +01:00
Henrik Rydgård bd40479224 Vulkan: Add facility to auto-generate mipmap levels. Not yet used.
Intended for replacement textures and optional quality improvements
later.
2017-12-07 09:28:18 +01:00
Henrik Rydgård b9bad7431a Add ability to simulate a few kinds of Vulkan initialization failures, to test the GL fallback. 2017-11-26 16:13:04 +01:00
Henrik Rydgård 27a60f5e58 Fix message asserts on Android. Add more of them to check things in Vulkan code. 2017-11-20 12:11:47 +01:00
Henrik Rydgård 96d6f1cae5 Make sure the device supports transfers from swapchain images when taking screenshots. 2017-11-15 13:57:22 +01:00
Henrik Rydgård 10792cc8e7 Windows/Vulkan: implement screenshots. Something is iffy with the red/blue swap though... 2017-11-15 13:18:29 +01:00
Henrik Rydgård 3594623a8d Vulkan: Show the preferred depth-stencil format in the feature list. 2017-11-15 09:08:30 +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 ee768ca949 Logging improvements, avoid resetting the Android text drawer unnecessarily 2017-11-10 13:02:24 +01:00
Henrik Rydgård 0a2b20bf59 More logging and tweaking 2017-11-10 12:09:42 +01:00
Henrik Rydgård 8b42d83123 Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly.
Plus more logging, of course.
2017-11-09 17:25:37 +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
Henrik Rydgård 845b02a6c5 Ooops 2017-11-09 13:35:42 +01:00
Henrik Rydgård 25f32b1d78 Vulkan: Disable dual source blending on Intel GPUs, fixes #10074. 2017-11-09 13:16:06 +01:00
Henrik Rydgård ba846fdbc5 Show textual names of Vulkan GPU vendors 2017-11-09 12:30:07 +01:00
Henrik Rydgård c6c90d4cbc Improve Vulkan device selection mechanism to prefer discrete GPUs 2017-11-09 12:21:20 +01:00
Henrik Rydgård ca3be1877e Vulkan: Apply simple workaround for Mali driver bug (see #10070), and minor cleanup. 2017-11-08 17:03:27 +01:00
Henrik Rydgård 70c70b1e76 Vulkan: Some error handling improvement. Might get us a clue for #10065 2017-11-07 00:08:39 +01: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 74861d2d73 Vulkan: Make backbuffer transitions part of backbuffer render pass. Optimize depth buffer memory operations. 2017-11-01 08:42:49 +01:00
Henrik Rydgård c788dc896a Synchronization is HARD. need a rethink, methinks. 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
Henrik Rydgård eabaf6ddcd Bit more Vulkan barrier cleanup. 2017-10-21 13:05:52 +02:00
Henrik Rydgård 804aa79376 Various Vulkan image transition fixes and related 2017-10-20 18:09:05 +02:00
Henrik Rydgård 5da165fad6 More work towards passing 1.61 Vulkan validation layers 2017-10-20 17:19:07 +02:00
Henrik Rydgård d0b9e5ed8f Initial work on passing the latest Vulkan validation checks. 2017-10-20 14:47:36 +02:00
Henrik Rydgård 356b25e3ce Vulkan: If there are no GPUs available, fail properly instead of asserting.
Seen on an obscure x86-64 android device when running 32-bit binaries
2017-10-02 14:09:30 +02:00
Henrik Rydgård 871fa713ed Fix bug in vulkan init. Add some sanity checks to GL shader cache loading. 2017-08-28 15:22:18 +02:00
Henrik Rydgård 6a0f65764d Minor cleanups 2017-08-28 15:04:28 +02:00
Henrik Rydgård 21d85617c1 Buildfix 2017-08-28 14:37:15 +02:00
Henrik Rydgård 55e9807a53 Separate VulkanContext::CreateDevice into ChooseDevice and CreateDevice to give an opportunity to enable extensions. 2017-08-28 14:12:56 +02:00
Henrik Rydgård 8c1bfb876f Assorted cleanup of Vulkan init code. Show Vulkan extensions in system info. 2017-08-28 13:47:31 +02:00
Henrik Rydgård 750c124c33 Vulkan: Fix some inefficient command pool usage, might also fix a race condition 2017-08-18 17:09:48 +02:00
Henrik Rydgård 560eaa5390 Vulkan: Add code (disabled) to be able to run with more in-flight frames. Only improves performance marginally and needs more testing. 2017-08-17 17:57:37 +02:00
Henrik Rydgård bc76c8d541 Cleaner Vulkan shutdown 2017-08-15 17:30:37 +02:00
Henrik Rydgård 033676ca4d Vulkan debug mode: In case of missing validation layers, warn, don't error out. 2017-07-13 23:36:53 +02:00
Unknown W. Brackets 531c6682b7 Vulkan: Increment engine version.
Since we are kinda majorly different now.
2017-05-31 20:04:11 -07:00
Henrik Rydgård 33d4f8c7ad Vulkan: Fix minor bug when clearing the back buffer (loaded stencil for no reason) 2017-05-31 13:37:47 +02:00
Henrik Rydgård 38b50501c2 Clearing fix, drawpixels fix/hack 2017-05-30 09:36:17 +02:00
Henrik Rydgård c173da49d3 Fix a number of bugs and stuff affecting Vulkan on Mali 2017-05-30 09:36:17 +02:00