Commit Graph

253 Commits

Author SHA1 Message Date
Henrik Rydgård
7610220b30 Vulkan: Prepare for adding a second init path for VulkanContext.
Will eventually be used for libretro.
2019-09-01 22:21:19 +02:00
Henrik Rydgård
5847bf3201 Attempt to work around the PowerVR bug again (pretransform undid the old workaround in landscape). See #12276 2019-09-01 18:23:02 +02:00
Henrik Rydgård
88612d1d30 Oops, fix the last commit, it got a little restrictive. 2019-09-01 16:10:28 +02:00
Henrik Rydgård
515bbd28fc VulkanMaybeAvailable: Bail earlier in some cases where there's no surface extension. 2019-09-01 15:39:33 +02:00
Henrik Rydgård
5fcac1a9e2 Vulkan: Disable some bad validation. Things are right and work fine. 2019-08-21 10:23:36 +02:00
Henrik Rydgård
19a443819b Bugfixes to VK gpu profiling. Properly get the valid bits. 2019-08-21 09:02:40 +02:00
Unknown W. Brackets
9f98f440c8 Vulkan: Check default case with an assert. 2019-08-17 12:01:22 -07:00
Henrik Rydgård
3356f94029 More extreme paranoia in VulkanMaybeAvailable 2019-08-15 11:49:15 +02:00
Henrik Rydgård
c7ae0ed4bf Vulkan: Re-enable the blacklist. 2019-08-15 09:51:44 +02:00
Henrik Rydgård
61e20d72cf Vulkan: On Android, only try to load libvulkan.so, not libvulkan.so.1. Plus more paranoia. 2019-08-15 09:50:42 +02:00
Henrik Rydgård
84dece9d96 VulkanMayBeAvailable: Add more logging, disable blacklist check for testing (see #12093) 2019-08-15 09:35:13 +02:00
Henrik Rydgård
5d08f9fcba Vulkan loader: Fix the SHIELD Tablet blacklist string. 2019-08-15 09:23:47 +02:00
Unknown W. Brackets
9f694afcc3
Merge pull request #12237 from hrydgard/vulkan-device-name-blacklist
Vulkan: Simple blacklist of device names that are not allowed to check for Vulkan
2019-08-13 19:03:20 -07:00
Henrik Rydgård
44cb991d8c Cleanup 2019-08-13 10:17:24 +02:00
Henrik Rydgård
8788c1e678 Vulkan: Simple blacklist of device names that are not allowed to check for Vulkan. Will help #12093. 2019-08-13 09:37:55 +02:00
Henrik Rydgård
f4d348ca0c Micro-optimize the Vulkan loader: Load more device-specific function pointers to avoid a bounce in the device loader, reorder things a little. 2019-08-12 23:24:40 +02:00
Henrik Rydgård
cf06b4a947 Vulkan: Image views: The driver is probably smart enough to recognize a no-swizzle, but let's use the proper method. 2019-08-12 23:09:47 +02:00
Henrik Rydgård
7de49c66a1 Warning fix 2019-06-25 21:35:54 +02:00
Henrik Rydgård
2a664add31 Vulkan: An additional check during init. May help #12131 2019-06-24 18:31:56 +02:00
Henrik Rydgård
0f9dbaa2bc Don't ask for TRANSFER_DST for swapchain surface. No reason to. 2019-06-21 14:09:45 +02:00
Henrik Rydgård
e943724905 Vulkan: Apply the desired pretransform when drawing to the backbuffer.
This should save a lot of memory bandwidth on mobile devices that can't
rotate images natively in the display engine. Fixes #12099.
2019-06-21 09:38:51 +02:00
Henrik Rydgård
9def42d800 Vulkan: Log supported pretransforms. 2019-06-20 23:58:18 +02:00
Henrik Rydgård
b0048525a1
Merge pull request #11884 from hrydgard/vulkan-buffer-usage
Vulkan: Tighten up push buffer usage flags a little bit.
2019-03-18 11:17:49 +01:00
Henrik Rydgård
d6d6dbb772 Finish up the fix attempt for #11882 2019-03-14 15:15:13 +01:00
Henrik Rydgård
06b04f65a0 Vulkan: Narrow down buffer usage flags a little bit. 2019-03-14 12:41:39 +01:00
Henrik Rydgård
036aeda512 Correctly handle memory types in VulkanPushBuffer. Should help #11882. 2019-03-14 11:43:44 +01:00
Henrik Rydgård
c1427f5981 VulkanImage: Fix issue where we'd try to free dedicated allocations from the allocator_ instead of Vulkan directly.
Snuck in some minor cleanups.
2019-02-24 22:23:26 +01: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
e30daa8027 Remove unused API, assorted cleanup.
No longer enable the geometry shader feature, no plans to use it.
2019-02-05 21:31:43 +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
32f37723f9 Properly use VK_KHR_dedicated_allocation to make some drivers extra happy 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
fdd0d7acb4 More Vulkan validation fixes
NVIDIA no longer uses nVidia capitalization.
2019-02-05 18:07:11 +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
992cea1082 Load a function from VK_EXT_external_memory_host 2019-01-31 13:53:27 +01:00
Henrik Rydgård
b82462bf30 Reorder stuff to make the compiler happy.
I should get rid of those gotos.
2019-01-30 20:18:56 +01:00
Henrik Rydgård
e91ce854bf Minor cleanup 2019-01-30 19:53:44 +01:00
Henrik Rydgård
852f522ebc Improve the check for Vulkan to check for surface extensions first.
Might fix the crashing issues we've seen on AMD?
2019-01-30 19:45:04 +01:00
Henrik Rydgård
ca6298e24d Fix silly mistake editing the vulkan image code
Thanks unknown.
2019-01-27 19:28:23 +01:00
Henrik Rydgård
68f391707f Remove some unnecessary vkDestroyImage calls. 2019-01-26 12:09:45 +01:00
Henrik Rydgård
7ccf23542d Fix SDL build 2019-01-26 12:03:20 +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 Rydgard
c38c5469c4 Fixes for issues found by Vulkan validation layers, including a common non-harmful perf warning (doesn't fix all cases, but does fix the most common one). 2019-01-25 20:18:56 +01:00
Henrik Rydgård
46585a5da9 Additional logging 2019-01-23 18:34:25 +01:00
Henrik Rydgard
c8e5dd325a VK device allocator: Support separate memory type per slab. 2019-01-23 10:36:08 +01:00
Henrik Rydgård
637b6ce79a Remove unused and unfinished SPIRV disassembler 2018-12-18 10:37:49 +01:00
Henrik Rydgård
b282d83258 Revert 6fd1c0e3d and eba6c00 which experimentally disabled dual src on Adreno.
I don't think we have any indications that it doesn't work.
2018-12-10 23:48:28 +01:00
Henrik Rydgård
dc49e839dd VK: Workaround for validation bug (will be fixed in the next Vulkan SDK) 2018-11-21 22:29:21 +01:00