KhronosGroup/Vulkan-LoaderAndValidationLayers

False positive warnings and validation crash

Plagman opened this issue · 2 comments

If you download this trace:

https://www.dropbox.com/s/ycsy007lli0im5e/witcher3.7z?dl=0

Run it with apitrace.exe with DXVK binaries (d3d11.dll and dxgi.gll) dropped into the same directory; observe these sort of errors:

VkPhysicalDeviceFeatures::shaderStorageImageWriteWithoutFormat but is not enabled on the device

I'm told this particular trace also causes a crash when validation is enabled.

I was finally able to reproduce this issue with the following setup:

Resulting in the following unique validation errors:

Validation(ERROR): msg_code: -1:  [ UNASSIGNED-CoreValidation-Shader-FeatureNotEnabled ] Object: VK_NULL_HANDLE (Type = 0) | Shader requires extension VK_KHR_shader_draw_parameters but is not enabled on the device
Validation(ERROR): msg_code: -1:  [ UNASSIGNED-CoreValidation-Shader-FeatureNotEnabled ] Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::sampleRateShading but is not enabled on the device
Validation(ERROR): msg_code: -1:  [ UNASSIGNED-CoreValidation-Shader-FeatureNotEnabled ] Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::shaderClipDistance but is not enabled on the device
Validation(ERROR): msg_code: -1:  [ UNASSIGNED-CoreValidation-Shader-FeatureNotEnabled ] Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::shaderCullDistance but is not enabled on the device
Validation(ERROR): msg_code: -1:  [ UNASSIGNED-CoreValidation-Shader-FeatureNotEnabled ] Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::shaderStorageImageReadWithoutFormat but is not enabled on the device
Validation(ERROR): msg_code: -1:  [ UNASSIGNED-CoreValidation-Shader-FeatureNotEnabled ] Object: VK_NULL_HANDLE (Type = 0) | Shader requires VkPhysicalDeviceFeatures::shaderStorageImageWriteWithoutFormat but is not enabled on the device
Validation(ERROR): msg_code: 333448904:  [ VUID-VkSubpassDependency-srcAccessMask-00868 ] Object: VK_NULL_HANDLE (Type = 0) | CreateRenderPass: pDependencies[1].srcAccessMask (0x7E0) is not supported by srcStageMask (0x700). The spec valid usage text states 'Any access flag included in srcAccessMask must be supported by one of the pipeline stages in srcStageMask, as specified in the table of supported access types.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDependency-srcAccessMask-00868)
Validation(ERROR): msg_code: 333448906:  [ VUID-VkSubpassDependency-dstAccessMask-00869 ] Object: VK_NULL_HANDLE (Type = 0) | CreateRenderPass: pDependencies[0].dstAccessMask (0x7E0) is not supported by dstStageMask (0x700). The spec valid usage text states 'Any access flag included in dstAccessMask must be supported by one of the pipeline stages in dstStageMask, as specified in the table of supported access types.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkSubpassDependency-dstAccessMask-00869)
Validation(ERROR): msg_code: 532679382:  [ VUID-vkCreateDevice-ppEnabledExtensionNames-01387 ] Object: 0x7c89f0c0 (Type = 1) | Missing required extensions for device extension VK_EXT_vertex_attribute_divisor, VK_KHR_get_physical_device_properties2. The spec valid usage text states 'All required extensions for each extension in the VkDeviceCreateInfo::ppEnabledExtensionNames list must also be present in that list.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateDevice-ppEnabledExtensionNames-01387)
Validation(ERROR): msg_code: 532679382:  [ VUID-vkCreateDevice-ppEnabledExtensionNames-01387 ] Object: 0x7cf8b040 (Type = 1) | Missing required extensions for device extension VK_EXT_vertex_attribute_divisor, VK_KHR_get_physical_device_properties2. The spec valid usage text states 'All required extensions for each extension in the VkDeviceCreateInfo::ppEnabledExtensionNames list must also be present in that list.' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-vkCreateDevice-ppEnabledExtensionNames-01387)

I'll start digging around with debugger to see why the shader validation code is printing those errors. One final note: I was not able to reproduce the crash. The attached trace exits cleanly with validation enabled.

@mikes-lunarg : Could you please move this issue to Vulkan-ValidationLayers?