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
Henrik Rydgard
0c70735bc4
Buffered rendering is starting to work, though still kinda broken.
2017-05-30 09:36:17 +02:00
Henrik Rydgard
4407445d50
Separate BeginFrame from BeginSurfaceRenderPass
2017-05-30 09:22:40 +02:00
Unknown W. Brackets
bf02f7d98b
Vulkan: Detect swapchain init failure.
...
This seems to be a driver bug, and occurs on NVIDIA when OpenGL has
previously been inited. Or we're not cleaning something up properly...
but there's a driver error logged to debug output.
2017-04-15 16:26:26 -07:00
Henrik Rydgard
03dab0fdbd
More UWP prep
2017-02-25 09:57:22 +01:00
Henrik Rydgard
a2b49fd0e0
Update Vulkan headers. Hack around another validation check (which I beleive to be bugged).
2016-12-15 18:12:53 +01:00
Florent Castelli
70593d1004
android: Change preprocessor define to standard __ANDROID__
...
ANDROID is only standard to the old Makefile buildsystem, not the platform.
2016-10-12 11:14:09 +02:00
Unknown W. Brackets
1d9222b3e4
Vulkan: Add comment for Android validation layers.
...
Note: these also require minor tweaks to Local.mk to include, currently,
but we're probably moving to gradle.
2016-10-10 22:08:44 -07:00
Unknown W. Brackets
e263bb945e
Vulkan: Correct initial swapchain compositeAlpha.
...
We'll just need to deal with the fact that we have to output 1.0 so that
blending doesn't matter, I think.
2016-10-10 22:07:50 -07:00