#Understanding Vulkan Validation layer and their severity

1 messages · Page 1 of 1 (latest)

sweet blade
#

Hi, On Oculus Quest, I was wondering how relevant are Vulkan validation layer. Should chase every one of them down? What are their impact on performance? I found them very hard to understand.

here a few examples:
Validation Error: [ VUID-vkCreateDevice-ppEnabledExtensionNames-01387 ] Object 0: handle = Instance 30, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x12537a2c | Missing extension required by the device extension VK_ANDROID_external_memory_android_hardware_buffer: VK_EXT_queue_family_foreign. The Vulkan spec states: All required device extensions for each extension in the VkDeviceCreateInfo::ppEnabledExtensionNames list must also be present in that list (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCreateDevice-ppEnabledExtensionNames-01387)

Validation Performance Warning: [ UNASSIGNED-CoreValidation-Shader-OutputNotConsumed ] Object 0: handle = Legacy Shaders/Particles/Additive, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x609a13b | vertex shader writes to output location 2.0 which is not consumed by fragment shader. Enable VK_KHR_maintenance4 device extension to allow relaxed interface matching between input and output vectors.

Validation Error: [ VUID-VkFramebufferCreateInfo-flags-04113 ] Object 0: handle = Device 32, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = morphJointSkinnerOutput(morphCombined(S0_L3_M1_V1_optimized_geom..., type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xd78d2a74 | vkCreateFramebuffer(): VkFramebufferCreateInfo attachment #0 has an image view type of VK_IMAGE_VIEW_TYPE_3D The Vulkan spec states: If flags does not include VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of pAttachments must have been created with VkImageViewCreateInfo::viewType not equal to VK_IMAGE_VIEW_TYPE_3D (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkFramebufferCreateInfo-flags-04113)

sinful gate
#

Hello ian! This isn't an area the profiling or optimization teams know about but I've asked some of our Vulkan developers to take a look at your post.

sinful gate
#

Okay, so I've heard back from our Vulkan devs and (paraphrasing slightly) they said:

Generally speaking, unless you have strong reason to believe those messages are due to an actual bug in the validation layer (or the specification), all Vulkan apps should execute cleanly with respect to the validation layers. Looking at just the last one, there’s a very good chance that the actual result is wrong regardless of performance considerations.

If you're using a plugin (a native Vulkan plugin), it might be down to you to debug. If you can generate validation errors with a solely Unity generated command stream, please file a bug and we'll take a look!

Does that help answer your question @sweet blade?

sweet blade
#

Yeah I’ll summit request for each of them