Errors on Vulkan validation layer
Since I got vulkan working on my linux machine I have checked the validation layer and it shows some errors. I enable the validation layer with VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation (from media-libs/vulkan-layers-1.2.137).
This is what the layer reports. All errors of "Cannot call [vkDestroyImage|vkDestroyImageView] on VkImage that is currently in use by a command buffer." The errors repeat again and again while playing.
Spoiler
VUID-vkDestroyImageView-imageView-01026(ERROR / SPEC): msgNum: 1672225264 - Validation Error: [ VUID-vkDestroyImageView-imageView-01026 ] Object 0: handle = 0x7e838f00, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x63ac21f0 | Cannot call vkDestroyImageView on VkImageView 0x28fc00000028fc[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to imageView must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026) Objects: 1 [0] 0x7e838f00, type: 3, name: NULL VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x7e838f00, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0x28fa00000028fa[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000) Objects: 1 [0] 0x7e838f00, type: 3, name: NULL VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x7e838f00, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0x66dd00000066dd[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000) Objects: 1 [0] 0x7e838f00, type: 3, name: NULL VUID-vkFreeMemory-memory-00677(ERROR / SPEC): msgNum: 1214025378 - Validation Error: [ VUID-vkFreeMemory-memory-00677 ] Object 0: handle = 0x7e838f00, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x485c8ea2 | Cannot call vkFreeMemory on VkDeviceMemory 0x7f3d0000007f3d[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to memory (via images or buffers) must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkFreeMemory-memory-00677) Objects: 1 [0] 0x7e838f00, type: 3, name: NULL VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x7e838f00, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0x7f3c0000007f3c[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000) Objects: 1 [0] 0x7e838f00, type: 3, name: NULL VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x7e838f00, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0x7f410000007f41[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000) Objects: 1 [0] 0x7e838f00, type: 3, name: NULL VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x7e838f00, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0x261360000026136[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000) Objects: 1 [0] 0x7e838f00, type: 3, name: NULL Some info from Client.log
Spoiler
2020/06/19 11:22:28 12395357 8a [INFO Client 188] Enumerated adapter: Intel(R) HD Graphics 520
2020/06/19 11:22:28 12395364 24b [INFO Client 188] Enumerated device for adapter: Intel(R) HD Graphics 520. Selected feature level: 45312. Max feature level: 45312 2020/06/19 11:22:28 12395374 142 [INFO Client 188] Enumerated output for adapter Intel(R) HD Graphics 520 of \\.\DISPLAY1 2020/06/19 11:22:28 12395399 832 [INFO Client 188] [DEVICE] Type: Vulkan 2020/06/19 11:22:30 12396719 542 [CRIT Client 188] [VULKAN] Failed to match physical device, falling back to #0 2020/06/19 11:22:30 12396719 4a9 [INFO Client 188] [VULKAN] Memory type: heap index = 0, property = { DeviceLocal | HostVisible | HostCoherent | HostCached } 2020/06/19 11:22:30 12396719 4af [INFO Client 188] [VULKAN] Memory heap: size = 5524 MB, flags = { DeviceLocal } 2020/06/19 11:22:30 12396719 50d [INFO Client 188] [VULKAN] Present mode: Fifo 2020/06/19 11:22:30 12396719 28a [INFO Client 188] [VULKAN] Restore pipeline cache 2020/06/19 11:22:30 12396728 44 [INFO Client 188] [VULKAN] Failed to open file C:/users/cristobal/My Documents/My Games/Path of Exile/PipelineCache.bin 2020/06/19 11:22:30 12397259 8a [INFO Client 188] Enumerated adapter: Intel(R) HD Graphics 520 2020/06/19 11:22:30 12397279 24b [INFO Client 188] Enumerated device for adapter: Intel(R) HD Graphics 520. Selected feature level: 45312. Max feature level: 45312 2020/06/19 11:22:30 12397289 142 [INFO Client 188] Enumerated output for adapter Intel(R) HD Graphics 520 of \\.\DISPLAY1 2020/06/19 11:22:30 12397371 50d [INFO Client 188] [VULKAN] Present mode: Fifo And the Client.Worker1.txt shows an error with some crashes. I do not know if they are related.
Spoiler
2020/06/19 11:13:23 11849963 18f [INFO Client 188] Changing to device "Out: default"
2020/06/19 11:13:23 11850217 855 [DEBUG Client 188] [SHADER] Load shader cache: ShaderCacheVulkan 2020/06/19 11:13:40 11866775 8a [INFO Client 188] Tile hash: 31284760 2020/06/19 11:13:40 11866775 8b [INFO Client 188] Doodad hash: 4277354144 2020/06/19 11:13:57 11884163 8a [INFO Client 188] Tile hash: 871194566 2020/06/19 11:13:57 11884163 8b [INFO Client 188] Doodad hash: 0 2020/06/19 11:15:56 12003173 8a [INFO Client 188] Tile hash: 4130709564 2020/06/19 11:15:56 12003173 8b [INFO Client 188] Doodad hash: 1486419681 2020/06/19 11:22:14 12380629 31c6 [CRIT Client 188] [VULKAN] vk::FragmentedPoolError::FragmentedPoolError: vk::Device::allocateDescriptorSetsUnique Last bumped on Aug 9, 2020, 10:27:33 PM
This thread has been automatically archived. Replies are disabled.
|
![]() |
Had similar error, downloading Vulkan SDK fixed that
|
![]() |
Mine is crashing with a different line, also tried installing vulkan-sdk through winetricks but didn't worked.
line at the end of Client.txt: " |
![]() |
" Do you mean the errors in the validation layer or the shown by the client? Anyway, I already have the SDK installed. " The DeviceLostError is very different from FragmentedPoolError, although they could have the same trigger. The information provided by the vulkan validation layer is not provided by the client so I thought it to be merit of reporting. Especially since I have not seen other such report. I think it wold be interesting if more people could activate this layer. |
![]() |
" Also reported the vk::FragmentedPoolError::FragmentedPoolError: vk::Device::allocateDescriptorSetsUnique a while ago over the proton issue on github: https://github.com/ValveSoftware/Proton/issues/58#issuecomment-643718764 But it's now gone (I don't know if was because of vulkan-sdk, or the environment variables used):
Spoiler
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/intel_icd.x86_64.json:/usr/share/vulkan/icd.d/intel_icd.i686.json \
DXVK_USE_PIPECOMPILER=1 \ STAGING_SHARED_MEMORY=1 \ WINEDLLOVERRIDES="dxgi=n" \ |
![]() |
" Well, in archlinux (I am on gentoo) you should be able to try the vulkan validation layer: *Install vulkan-validation-layers 1.2.141.0-1 (see https://www.archlinux.org/packages/extra/x86_64/vulkan-validation-layers/ ) *Add VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation and potentially &>mylogfile to your execution command.
Spoiler
VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation \
VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/intel_icd.x86_64.json:/usr/share/vulkan/icd.d/intel_icd.i686.json \ DXVK_USE_PIPECOMPILER=1 \ STAGING_SHARED_MEMORY=1 \ WINEDLLOVERRIDES="dxgi=n" \ &>mylogfile \ Also, do you have other ICDs on /usr/share/vulkan/icd.d/? Because I think intel_icd.x86_64.json is the default one. |
![]() |
" vlayerslog:
Spoiler
VUID-vkDestroyImageView-imageView-01026(ERROR / SPEC): msgNum: 1672225264 - Validation Error: [ VUID-vkDestroyImageView-imageView-01026 ] Object 0: handle = 0x7ef00960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x63ac21f0 | Cannot call vkDestroyImageView on VkImageView 0x7ad00000007ad[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to imageView must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026)
Objects: 1 [0] 0x7ef00960, type: 3, name: NULL VUID-vkFreeMemory-memory-00677(ERROR / SPEC): msgNum: 1214025378 - Validation Error: [ VUID-vkFreeMemory-memory-00677 ] Object 0: handle = 0x7ef00960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x485c8ea2 | Cannot call vkFreeMemory on VkDeviceMemory 0x7ac00000007ac[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to memory (via images or buffers) must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkFreeMemory-memory-00677) Objects: 1 [0] 0x7ef00960, type: 3, name: NULL VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x7ef00960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0x7ab00000007ab[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000) Objects: 1 [0] 0x7ef00960, type: 3, name: NULL VUID-vkDestroyImageView-imageView-01026(ERROR / SPEC): msgNum: 1672225264 - Validation Error: [ VUID-vkDestroyImageView-imageView-01026 ] Object 0: handle = 0x7ef00960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x63ac21f0 | Cannot call vkDestroyImageView on VkImageView 0x2ef40000002ef4[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to imageView must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026) Objects: 1 [0] 0x7ef00960, type: 3, name: NULL VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x7ef00960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0x2ef30000002ef3[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000) Objects: 1 [0] 0x7ef00960, type: 3, name: NULL VUID-vkDestroyImageView-imageView-01026(ERROR / SPEC): msgNum: 1672225264 - Validation Error: [ VUID-vkDestroyImageView-imageView-01026 ] Object 0: handle = 0x7ef00960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x63ac21f0 | Cannot call vkDestroyImageView on VkImageView 0x86830000008683[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to imageView must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026) Objects: 1 [0] 0x7ef00960, type: 3, name: NULL VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x7ef00960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0x86820000008682[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000) Objects: 1 [0] 0x7ef00960, type: 3, name: NULL VUID-vkDestroyImageView-imageView-01026(ERROR / SPEC): msgNum: 1672225264 - Validation Error: [ VUID-vkDestroyImageView-imageView-01026 ] Object 0: handle = 0x7ef00960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x63ac21f0 | Cannot call vkDestroyImageView on VkImageView 0x2f630000002f63[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to imageView must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026) Objects: 1 [0] 0x7ef00960, type: 3, name: NULL VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x7ef00960, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0x2f610000002f61[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000) Objects: 1 [0] 0x7ef00960, type: 3, name: NULL INTEL-MESA: error: ../mesa/src/intel/vulkan/anv_batch_chain.c:1820: execbuf2 failed: Invalid argument (VK_ERROR_DEVICE_LOST) " And yep, most of the envars that I have set on my system and scripts I don't really need to set them xd. |
![]() |
And probably it's not related at all, as this line differ my log a bit from yours:
INTEL-MESA: error: ../mesa/src/intel/vulkan/anv_batch_chain.c:1820: execbuf2 failed: Invalid argument (VK_ERROR_DEVICE_LOST) |
![]() |
" That error is different but the previous ones are the same kind of errors. They are potential usage after free, which can break systems in different ways. Adding the variable WINEDEBUG=+vulkan gives more info, with several GB of data. With that I see things such as
Spoiler
00c0:trace:vulkan:wine_vkGetQueryPoolResults 0x2a49260, 0x280000000028, 0, 2, 0x10, 0x91f670, 0x8, 0x1
00c0:trace:vulkan:wine_vkGetQueryPoolResults 0x2a49260, 0x290000000029, 0, 2, 0x10, 0x91f670, 0x8, 0x1 00c0:trace:vulkan:wine_vkGetQueryPoolResults 0x2a49260, 0x2a000000002a, 0, 2, 0x10, 0x91f670, 0x8, 0x1 00c0:trace:vulkan:wine_vkGetQueryPoolResults 0x2a49260, 0x2b000000002b, 0, 2, 0x10, 0x91f670, 0x8, 0x1 00c0:trace:vulkan:wine_vkDestroyBuffer 0x2a49260, 0x2ce90000002ce9, (nil) 00c0:trace:vulkan:wine_vkDestroyBuffer 0x2a49260, 0x2ce70000002ce7, (nil) 00c0:warn:vulkan:wine_vkDestroyImageView 0x2a49260, 0x2ce60000002ce6, (nil) 00c0:warn:vulkan:wine_vkDestroyImageView 0x2a49260, 0x2ce50000002ce5, (nil) VUID-vkDestroyImageView-imageView-01026(ERROR / SPEC): msgNum: 1672225264 - Validation Error: [ VUID-vkDestroyImageView-imageView-01026 ] Object 0: handle = 0x7d44e490, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x63ac21f0 | Cannot call vkDestroyImageView on VkImageView 0x2ce50000002ce5[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to imageView must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026) Objects: 1 [0] 0x7d44e490, type: 3, name: NULL 00c0:warn:vulkan:wine_vkDestroyImageView 0x2a49260, 0x2ce40000002ce4, (nil) 00c0:warn:vulkan:wine_vkDestroyImage 0x2a49260, 0x2ce30000002ce3, (nil) VUID-vkDestroyImage-image-01000(ERROR / SPEC): msgNum: -221078694 - Validation Error: [ VUID-vkDestroyImage-image-01000 ] Object 0: handle = 0x7d44e490, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xf2d29b5a | Cannot call vkDestroyImage on VkImage 0x2ce30000002ce3[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyImage-image-01000) Objects: 1 [0] 0x7d44e490, type: 3, name: NULL 00c0:trace:vulkan:wine_vkWaitForFences 0x2a49260, 1, 0x91f710, 1, 0xffffffffffffffff 00c8:trace:vulkan:wine_vkBeginCommandBuffer 0x2c02e70, 0x3a3fae0 00c8:trace:vulkan:wine_vkCmdResetQueryPool 0x2c02e70, 0x8e000000008e, 0, 2 In most cases of the destroyimages the validation layer does not report errors. But it is enough to have a bunch of these errors to cause problems, and they are surely related to multithreading synchronization, as the thread that destroys the things is different than the one which sends the commands to the GPU. In fact we see vkWaitForFences, but zero semaphores. And the semaphores are the ones to use to wait for the GPU if I have read well some docs. Looking for references to semaphores I see the following:
Spoiler
00c0:trace:vulkan:X11DRV_vkGetDeviceProcAddr 0x7d44e490, "vkUnmapMemory"
00c0:trace:vulkan:X11DRV_vkGetDeviceProcAddr 0x7d44e490, "vkUpdateDescriptorSetWithTemplate" 00c0:trace:vulkan:wine_vkCreateDevice Not found 'vkUpdateDescriptorSetWithTemplate'. 00c0:trace:vulkan:X11DRV_vkGetDeviceProcAddr 0x7d44e490, "vkUpdateDescriptorSetWithTemplateKHR" 00c0:trace:vulkan:wine_vkCreateDevice Not found 'vkUpdateDescriptorSetWithTemplateKHR'. 00c0:trace:vulkan:X11DRV_vkGetDeviceProcAddr 0x7d44e490, "vkUpdateDescriptorSets" 00c0:trace:vulkan:X11DRV_vkGetDeviceProcAddr 0x7d44e490, "vkWaitForFences" 00c0:trace:vulkan:X11DRV_vkGetDeviceProcAddr 0x7d44e490, "vkWaitSemaphores" 00c0:trace:vulkan:wine_vkCreateDevice Not found 'vkWaitSemaphores'. 00c0:trace:vulkan:X11DRV_vkGetDeviceProcAddr 0x7d44e490, "vkWaitSemaphoresKHR" 00c0:trace:vulkan:wine_vkCreateDevice Not found 'vkWaitSemaphoresKHR'. 00c0:trace:vulkan:wine_vkCreateDevice Max queue families: 1. 00c0:trace:vulkan:wine_vkCreateDevice Queue family index 0, queue count 1. 00c0:trace:vulkan:wine_vkCreateDevice Created device 0x2a49260 (native device 0x7d44e490). 00c0:trace:vulkan:wine_vkGetDeviceProcAddr 0x2a49260, "vkDestroyDevice" 00c0:trace:vulkan:wine_vk_get_device_proc_addr Found name="vkDestroyDevice" in device table 00c0:trace:vulkan:wine_vkGetDeviceProcAddr 0x2a49260, "vkGetDeviceQueue I am not sure yet about what to make from this. It could be wine not correctly reporting the semaphore functionality. |
![]() |
An update on this. If we add a wait in the destroying calls for the GPU the validation layer no longer reports errors. Specifically, I have added the calls to wine_vkDeviceWaitIdle in the functions wine_vkDestroyImage and wine_vkDestroyImageView before their normal dispatch.
Spoiler
VkResult WINAPI wine_vkDeviceWaitIdle(VkDevice device);
void WINAPI wine_vkDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks *pAllocator) { TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(image), pAllocator); wine_vkDeviceWaitIdle(device);//added line device->funcs.p_vkDestroyImage(device->device, image, NULL); } void WINAPI wine_vkDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks *pAllocator) { TRACE("%p, 0x%s, %p\n", device, wine_dbgstr_longlong(imageView), pAllocator); wine_vkDeviceWaitIdle(device);//added line device->funcs.p_vkDestroyImageView(device->device, imageView, NULL); } There should be no need to wait for the whole GPU to be idle, just for the appropriate semaphore. I have also noticed that the Client.log now shows supported extensions. I think it contains all extensions related to semaphores.
Spoiler
2020/06/29 16:09:13 23878774 929 [INFO Client 83] [DEVICE] Type: Vulkan
2020/06/29 16:09:14 23880050 1be [INFO Client 83] [VULKAN] Supported instance extension: VK_KHR_device_group_creation 2020/06/29 16:09:14 23880050 1be [INFO Client 83] [VULKAN] Supported instance extension: VK_KHR_external_fence_capabilities 2020/06/29 16:09:14 23880050 1be [INFO Client 83] [VULKAN] Supported instance extension: VK_KHR_external_memory_capabilities 2020/06/29 16:09:14 23880050 1be [INFO Client 83] [VULKAN] Supported instance extension: VK_KHR_external_semaphore_capabilities 2020/06/29 16:09:14 23880050 1be [INFO Client 83] [VULKAN] Supported instance extension: VK_KHR_get_physical_device_properties2 2020/06/29 16:09:14 23880050 1be [INFO Client 83] [VULKAN] Supported instance extension: VK_KHR_get_surface_capabilities2 2020/06/29 16:09:14 23880050 1be [INFO Client 83] [VULKAN] Supported instance extension: VK_KHR_surface 2020/06/29 16:09:14 23880050 1be [INFO Client 83] [VULKAN] Supported instance extension: VK_KHR_win32_surface 2020/06/29 16:09:14 23880050 1be [INFO Client 83] [VULKAN] Supported instance extension: VK_EXT_debug_report 2020/06/29 16:09:14 23880050 1be [INFO Client 83] [VULKAN] Supported instance extension: VK_EXT_debug_utils 2020/06/29 16:09:14 23880130 599 [WARN Client 83] [VULKAN] Found physical device at #0 (Intel(R) HD Graphics 520) 2020/06/29 16:09:14 23880131 4f3 [INFO Client 83] [VULKAN] Memory type: heap index = 0, property = { DeviceLocal | HostVisible | HostCoherent | HostCached } 2020/06/29 16:09:14 23880131 4f9 [INFO Client 83] [VULKAN] Memory heap: size = 5524.9 MB, flags = { DeviceLocal } 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_8bit_storage 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_16bit_storage 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_bind_memory2 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_buffer_device_address 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_create_renderpass2 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_dedicated_allocation 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_depth_stencil_resolve 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_descriptor_update_template 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_device_group 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_draw_indirect_count 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_driver_properties 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_external_fence 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_external_memory 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_external_semaphore 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_get_memory_requirements2 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_image_format_list 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_imageless_framebuffer 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_incremental_present 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_maintenance1 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_maintenance2 2020/06/29 16:09:14 23880131 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_maintenance3 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_multiview 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_pipeline_executable_properties 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_push_descriptor 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_relaxed_block_layout 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_sampler_mirror_clamp_to_edge 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_sampler_ycbcr_conversion 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_separate_depth_stencil_layouts 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_shader_atomic_int64 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_shader_clock 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_shader_draw_parameters 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_shader_float16_int8 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_shader_float_controls 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_shader_non_semantic_info 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_shader_subgroup_extended_types 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_spirv_1_4 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_storage_buffer_storage_class 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_swapchain 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_swapchain_mutable_format 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_timeline_semaphore 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_uniform_buffer_standard_layout 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_variable_pointers 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_KHR_vulkan_memory_model 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_buffer_device_address 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_conditional_rendering 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_depth_clip_enable 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_descriptor_indexing 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_external_memory_host 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_fragment_shader_interlock 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_global_priority 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_host_query_reset 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_index_type_uint8 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_inline_uniform_block 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_line_rasterization 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_memory_budget 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_pci_bus_info 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_post_depth_coverage 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_sampler_filter_minmax 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_scalar_block_layout 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_separate_stencil_usage 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_shader_demote_to_helper_invocation 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_shader_stencil_export 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_shader_subgroup_ballot 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_shader_subgroup_vote 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_shader_viewport_index_layer 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_subgroup_size_control 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_texel_buffer_alignment 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_transform_feedback 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_vertex_attribute_divisor 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_EXT_ycbcr_image_arrays 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_GOOGLE_decorate_string 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_GOOGLE_hlsl_functionality1 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_GOOGLE_user_type 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_INTEL_shader_integer_functions2 2020/06/29 16:09:14 23880132 232 [INFO Client 83] [VULKAN] Supported device extension: VK_NV_compute_shader_derivatives 2020/06/29 16:09:14 23880138 557 [INFO Client 83] [VULKAN] Present mode = Fifo 2020/06/29 16:09:14 23880139 2bd [INFO Client 83] [VULKAN] Restore pipeline cache 2020/06/29 16:09:14 23880140 44 [INFO Client 83] [VULKAN] Failed to open file Later I will try it a bit more to see if the memory-fragmentation crashes still happen with my dirty patch after a while. |
![]() |