Commit Graph
231 Commits
Author SHA1 Message Date
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
Henrik Rydgård 505464eaa5 Vulkan validation: Fix issue where we forgot to transition image mip levels past 0 away from TRANSFER_DST_OPTIMAL during creation. 2018-10-10 22:56:26 +02:00
Henrik Rydgård 6fd1c0e3d9 Instead of the last commit, don't enable the dual src extension at all on Adreno.
This reverts commit eba6c00a8a.
2018-10-07 12:19:11 +02:00
weihuoya 9324d7c386 glslang options for vulkan 2018-08-30 22:51:55 +08:00
Henrik Rydgård e648b7d091 Vulkan validation: Ignore the depthreplacing error for now 2018-07-16 20:00:44 +02:00
Unknown W. Brackets e4127890ec Vulkan: Fix some missing switch warnings.
Might as well prefer a virtual GPU over a CPU maybe...
2018-06-17 11:30:22 -07: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
Unknown W. Brackets f65481668c Vulkan: Fix a log formatting issue. 2018-04-14 10:47:06 -07:00
Unknown W. Brackets 7811c03c3b Vulkan: Report old allocations when enabled. 2018-04-06 21:43:18 -07:00
Unknown W. Brackets 3445a82567 Vulkan: Allow reusing memory more aggressively.
This causes allocated slabs to get reused more, which means more smaller
slabs are kept around.  However, it also reduces fragmentation.
2018-04-06 21:42:32 -07:00
Unknown W. Brackets 1c253ee271 Vulkan: Add code to track allocator usage info.
This way we can potentially debug leaks, if any.
2018-04-06 21:42:32 -07:00
aliaspider ed12b95091 Windows/Vulkan: use the width and height arguments in ReinitSurface when
provided.
2018-03-24 11:09:55 +01:00
Henrik Rydgård da8d5fa280 Merge pull request #10767 from aliaspider/temp
fix cmake build for mingw and msvc.
2018-03-24 09:24:53 +01: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
aliaspider 54d9406713 fix mingw and msvc cmake builds. 2018-03-23 03:18:13 +01:00
aliaspider 8fcf93e462 vulkan: perform delete callbacks first since they can also queue
deletes.
2018-03-22 22:23:28 +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 216bab8a4a Vulkan: Fix a barrier to be more permissive, there's no outstanding writes from the GPU to wait for. 2018-03-18 09:57:17 +01:00
Henrik Rydgård 473c87273f Maybe slightly safer vulkan detection code. Might help #10732 2018-03-17 19:22:59 +01:00
Henrik Rydgård 08c3e13517 Do more detailed checks for Vulkan availability. Should hopefully solve #10729. 2018-03-17 11:36:16 +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 cd75c46d47 Sort Vulkan function pointers by use. Might save us a cacheline or two during command submission.. 2018-03-12 20:05:50 +01:00