Henrik Rydgård
fd41c9cd57
These convenience overloads don't work in 32-bit builds, remove them.
2020-08-09 10:28:37 +02:00
Henrik Rydgård
2f5de1987e
Allow passing in an object name tag when creating framebuffers
2020-08-09 09:36:45 +02:00
Henrik Rydgård
11f9df33ba
Vulkan: Start adding object names for easier validation debugging
2020-08-08 21:29:29 +02:00
Henrik Rydgård
697c3b8b36
Cleanup log output on swapchain/surface recreation.
2020-07-18 20:35:39 +02:00
Henrik Rydgård
fbc4fa5bca
Move the responsibility to register the debugutils callback to the VulkanContext. We only use one anyway.
2020-06-21 23:04:51 +02:00
Henrik Rydgård
6532c345c8
Simplify the validation interface code, bugfixes
2020-06-21 23:04:51 +02:00
Henrik Rydgård
1793b65ec1
Vulkan: Remove support for the old VK_EXT_debug_report extension
2020-06-21 23:04:51 +02:00
Unknown W. Brackets
0ff922c3e0
Android: Buildfix.
...
Not sure why the linker is having trouble with VulkanDebug.cpp.
2020-05-23 08:29:21 -07:00
Henrik Rydgård
fa8968f5c6
Merge pull request #12660 from unknownbrackets/frame-latency
...
GPU: Add setting to control inflight frame usage
2020-03-02 00:16:48 +01:00
Unknown W. Brackets
a91e206926
GPU: Add setting to control inflight frame usage.
2020-03-01 06:21:27 -08:00
Henrik Rydgård
0da04f3694
Vulkan: Support devices that don't properly support 16-bit texture (like MoltenVK).
...
Fixes #12615 .
Will make finishing #10654 worthwhile.
2020-03-01 14:07:13 +01:00
Unknown W. Brackets
2a3fd05651
Vulkan: Present using FIFO for vsync.
...
This allows the setting to be changed at runtime in Vulkan too.
Should help #10105 .
2020-02-29 22:48:59 -08:00
李通洲
7cd60549dd
Initial support for vulkan on macOS ( MoltenVK )
2020-01-20 14:42:40 +08:00
Henrik Rydgård
025a9f4dae
Improve Mali driver version detection
2019-09-04 21:46:07 +02:00
Henrik Rydgård
19a443819b
Bugfixes to VK gpu profiling. Properly get the valid bits.
2019-08-21 09:02:40 +02:00
Henrik Rydgard
f38a6650b1
VK code cleanup: Just a little helper for handling dedicated allocation for images.
2019-02-07 14:56:29 +01:00
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
7ae6ba9d91
Add code to enable a couple more extensions I anticipate using eventually.
2019-02-05 18:07:18 +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
b143e47fb6
VK: Load the dedicated allocation extension properly (but don't use it yet).
2019-01-31 14:18:30 +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 Rydgard
3fd216ad3a
Better handling of swap chain size, add PowerVR hack. Fixes #11743
2019-01-25 20:19:55 +01: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
fb798cf6b2
Win32 textdrawer: Fix rare crash affecting Patapon 2 in savedata manager. See 10764.
2018-03-23 10:27:08 +01:00
Henrik Rydgård
8f87a9f5c5
Vulkan: De-duplicate pipelines when storing cache
...
The new variety of renderpasses with different transitions causes
duplication. Hopefully drivers are smart enough to re-use work
between similar pipelines as much as possible...
2018-03-19 11:18:37 +01:00
Henrik Rydgård
614cabb115
Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
...
The raw pipeline cache got pretty large. Instead, store IDs like GL.
There's still a disabled option to store the pipeline cache objects.
2018-03-16 21:03:03 +01:00
Henrik Rydgård
3cd92b4d90
Vulkan: Add a (disabled) facility to force image layouts to GENERAL, for debugging barrier issues
2018-03-15 16:23:23 +01:00
Henrik Rydgård
9f9903c02e
Fixes to vulkan restart logic on Android. Should help #10696
2018-03-11 17:14:11 +01: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
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
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
96d6f1cae5
Make sure the device supports transfers from swapchain images when taking screenshots.
2017-11-15 13:57:22 +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
ebac0143e0
Vulkan: Use a device allocator for tesselation data textures. Add comment about better solutions.
2017-11-12 10:28:55 +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
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
330bdb8be8
Add and update some comments.
2017-11-01 08:42:49 +01: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
0a0494ef8e
It builds! With some shortcuts, of course.
2017-10-26 10:56:59 +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