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