|
|
|
@@ -0,0 +1,225 @@
|
|
|
|
|
# Please include a comment with the log message and a testcase triggering each
|
|
|
|
|
# VUID at the bottom of the file.
|
|
|
|
|
khronos_validation.message_id_filter = VUID-vkCmdDrawMultiEXT-commandBuffer-02701,VUID-vkCmdDrawMultiIndexedEXT-commandBuffer-02701,VUID-vkCmdDrawMultiEXT-colorAttachmentCount-06188,VUID-VkGraphicsPipelineCreateInfo-Geometry-07725,VUID-VkShaderModuleCreateInfo-pCode-01091,VUID-vkCmdCopyImage-srcImage-07743,VUID-vkCmdDrawMultiEXT-None-06479,VUID-vkCmdDrawMultiIndexedEXT-format-07753,VUID-vkCmdDrawMultiEXT-viewType-07752,VUID-vkCmdDispatch-viewType-07752,VUID-vkCmdDrawMultiEXT-magFilter-04553,VUID-vkCmdDrawMultiIndexedEXT-magFilter-04553,VUID-RuntimeSpirv-Location-06272,VUID-vkDestroyDevice-device-00378,UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout,VUID-VkDescriptorImageInfo-imageLayout-00344,VUID-vkCmdDrawMultiEXT-None-02699
|
|
|
|
|
khronos_validation.report_flags = error
|
|
|
|
|
khronos_validation.debug_action = VK_DBG_LAYER_ACTION_LOG_MSG,VK_DBG_LAYER_ACTION_BREAK
|
|
|
|
|
VK_LAYER_ENABLES=VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT
|
|
|
|
|
khronos_validation.printf_buffer_size = 40960
|
|
|
|
|
khronos_validation.printf_to_stdout = true
|
|
|
|
|
khronos_validation.log_filename = stdout
|
|
|
|
|
|
|
|
|
|
# dEQP-GLES2.functional.shaders.builtin_variable.pointcoord:
|
|
|
|
|
#
|
|
|
|
|
# leak on most rendering tests with glthread. Also leaks on
|
|
|
|
|
# some tests
|
|
|
|
|
# (KHR-GL45.shader_atomic_counter_ops_tests.ShaderAtomicCounterOpsAdditionSubstractionTestCase)
|
|
|
|
|
# without glthread. https://gitlab.freedesktop.org/mesa/mesa/-/issues/8104 and
|
|
|
|
|
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20867
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55b94c15adb0, type =
|
|
|
|
|
# VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x95a125000000001a, type =
|
|
|
|
|
# VK_OBJECT_TYPE_BUFFER; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice
|
|
|
|
|
# 0x55b94c15adb0[], VkBuffer 0x95a125000000001a[] has not been destroyed. The
|
|
|
|
|
# Vulkan spec states: All child objects created on device must have been destroyed
|
|
|
|
|
# prior to destroying device
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkDestroyDevice-device-00378)
|
|
|
|
|
|
|
|
|
|
# caselist of:
|
|
|
|
|
# dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.lines.unsigned_short.draw_elements_instanced
|
|
|
|
|
# dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangles.unsigned_byte.draw_range_elements
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-vkCmdDrawMultiIndexedEXT-commandBuffer-02701 ] Object 0: handle =
|
|
|
|
|
# 0x56094dcd5a20, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0xef7d036b |
|
|
|
|
|
# vkCmdDrawMultiIndexedEXT: VK_DYNAMIC_STATE_VIEWPORT state not set for this
|
|
|
|
|
# command buffer. The Vulkan spec states: If the VkPipeline object bound to the
|
|
|
|
|
# pipeline bind point used by this command requires any dynamic state, that state
|
|
|
|
|
# must have been set or inherited (if the VK_NV_inherited_viewport_scissor
|
|
|
|
|
# extension is enabled) for commandBuffer, and done so after any previously bound
|
|
|
|
|
# pipeline with the corresponding state not specified as dynamic
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawMultiIndexedEXT-commandBuffer-02701)
|
|
|
|
|
|
|
|
|
|
# caselist of :
|
|
|
|
|
# dEQP-GLES31.functional.shaders.helper_invocation.value.triangles
|
|
|
|
|
# dEQP-GLES31.functional.shaders.helper_invocation.value.wide_points_4_samples
|
|
|
|
|
#
|
|
|
|
|
# [VUID-vkCmdDrawMultiEXT-colorAttachmentCount-06188 ] Object 0: handle
|
|
|
|
|
# = 0x56444e83ff20, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID =
|
|
|
|
|
# 0x3d2cdcc3 | vkCmdDrawMultiEXT: Color attachment (0) sample count
|
|
|
|
|
# (VK_SAMPLE_COUNT_4_BIT) must match corresponding
|
|
|
|
|
# VkPipelineMultisampleStateCreateInfo sample count
|
|
|
|
|
# (VK_SAMPLE_COUNT_1_BIT) The Vulkan spec states: If the currently
|
|
|
|
|
# bound pipeline was created without a VkAttachmentSampleCountInfoAMD
|
|
|
|
|
# or VkAttachmentSampleCountInfoNV structure, and the current render
|
|
|
|
|
# pass instance was begun with vkCmdBeginRendering with a
|
|
|
|
|
# VkRenderingInfo::colorAttachmentCount parameter greater than 0, then
|
|
|
|
|
# each element of the VkRenderingInfo::pColorAttachments array with a
|
|
|
|
|
# imageView not equal to VK_NULL_HANDLE must have been created with a
|
|
|
|
|
# sample count equal to the value of
|
|
|
|
|
# VkPipelineMultisampleStateCreateInfo::rasterizationSamples used to
|
|
|
|
|
# create the currently bound graphics pipeline
|
|
|
|
|
# (https://github.com/KhronosGroup/Vulkan-Docs/search?q=)VUID-vkCmdDrawMultiEXT-colorAttachmentCount-06188)
|
|
|
|
|
#
|
|
|
|
|
# https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/5136
|
|
|
|
|
|
|
|
|
|
# dEQP-GLES31.functional.geometry_shading.emit.points_emit_0_end_1:
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-VkGraphicsPipelineCreateInfo-Geometry-07725 ] Object 0: handle =
|
|
|
|
|
# 0x2e2941000000001f, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID =
|
|
|
|
|
# 0x64e29d24 | vkCreateGraphicsPipelines():
|
|
|
|
|
# shaderTessellationAndGeometryPointSize is enabled, but PointSize is not
|
|
|
|
|
# written in the Geometry shader. The Vulkan spec states: If the pipeline
|
|
|
|
|
# is being created with a Geometry {ExecutionModel}, uses the
|
|
|
|
|
# OutputPoints {ExecutionMode}, and
|
|
|
|
|
# shaderTessellationAndGeometryPointSize is enabled, a PointSize
|
|
|
|
|
# decorated variable must be written to
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-Geometry-07725)
|
|
|
|
|
|
|
|
|
|
# KHR-GL46.compute_shader.resources-max:
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-VkShaderModuleCreateInfo-pCode-01091 ] Object 0: handle =
|
|
|
|
|
# 0x55b4bf3a48d0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xa7bb8db6
|
|
|
|
|
# | vkCreateShaderModule(): The SPIR-V Capability
|
|
|
|
|
# (StorageImageArrayDynamicIndexing) was declared, but none of the
|
|
|
|
|
# requirements were met to use it. The Vulkan spec states: If pCode
|
|
|
|
|
# declares any of the capabilities listed in the SPIR-V Environment
|
|
|
|
|
# appendix, one of the corresponding requirements must be satisfied
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkShaderModuleCreateInfo-pCode-01091)
|
|
|
|
|
#
|
|
|
|
|
# lvp doesn't support the feature and we don't lower it. Hopefully lvp gains it with
|
|
|
|
|
# https://gitlab.freedesktop.org/mesa/mesa/-/issues/6972
|
|
|
|
|
|
|
|
|
|
# KHR-GL46.copy_image.invalid_target:
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-vkCmdCopyImage-srcImage-07743 ] Object 0: handle =
|
|
|
|
|
# 0x557060e9ffd0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID =
|
|
|
|
|
# 0xa4e981d8 | vkCmdCopyImage: pRegion[0] srcImage (VK_IMAGE_TYPE_2D)
|
|
|
|
|
# must be equal to dstImage (VK_IMAGE_TYPE_1D) or else one must be 2D and
|
|
|
|
|
# the other 3D The Vulkan spec states: If srcImage and dstImage have a
|
|
|
|
|
# different VkImageType, one must be VK_IMAGE_TYPE_3D and the other must
|
|
|
|
|
# be VK_IMAGE_TYPE_2D
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdCopyImage-srcImage-07743)
|
|
|
|
|
#
|
|
|
|
|
# Recent VU regression:
|
|
|
|
|
# https://gitlab.khronos.org/vulkan/vulkan/-/issues/3357
|
|
|
|
|
|
|
|
|
|
# KHR-GL46.incomplete_texture_access.sampler:
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-vkCmdDrawMultiEXT-None-06479 ] Object 0: handle =
|
|
|
|
|
# 0x56c9bd0000000040, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1:
|
|
|
|
|
# handle = 0x2e2941000000001f, type = VK_OBJECT_TYPE_IMAGE_VIEW; |
|
|
|
|
|
# MessageID = 0xcb44bfdd | vkCmdDrawMultiEXT: Descriptor set
|
|
|
|
|
# VkDescriptorSet 0x56c9bd0000000040[] in binding #128 index 0,
|
|
|
|
|
# VkImageView 0x2e2941000000001f[], image view format
|
|
|
|
|
# VK_FORMAT_R8G8B8A8_UNORM feature flags
|
|
|
|
|
# (VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT|VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT|VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT|VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT|VK_FORMAT_FEATURE_2_BLIT_SRC_BIT|VK_FORMAT_FEATURE_2_BLIT_DST_BIT|VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT|VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT|VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT|VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT)
|
|
|
|
|
# doesn't contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
|
|
|
|
|
# The Vulkan spec states: If a VkImageView is sampled with depth
|
|
|
|
|
# comparison, the image view's format features must contain
|
|
|
|
|
# VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawMultiEXT-None-06479)
|
|
|
|
|
#
|
|
|
|
|
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20817
|
|
|
|
|
|
|
|
|
|
# KHR-GL46.shader_atomic_counter_ops_tests.ShaderAtomicCounterOpsAdditionSubstractionTestCase:
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-vkCmdDrawMultiIndexedEXT-format-07753 ] Object 0: handle =
|
|
|
|
|
# 0xa952a5000000016f, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID =
|
|
|
|
|
# 0xd35852d3 | vkCmdDrawMultiIndexedEXT: Descriptor set VkDescriptorSet
|
|
|
|
|
# 0xa952a5000000016f[] in binding #128 index 0 requires FLOAT component
|
|
|
|
|
# type, but bound descriptor format is VK_FORMAT_R32G32B32A32_UINT
|
|
|
|
|
# (VkImageView 0xbf15540000000166[]). The Vulkan spec states: If a
|
|
|
|
|
# VkImageView is accessed as a result of this command, then the image
|
|
|
|
|
# view's format must match the numeric format from the Sampled Type
|
|
|
|
|
# operand of the OpTypeImage as described in the SPIR-V Sampled Type
|
|
|
|
|
# column of the Interpretation of Numeric Format table
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawMultiIndexedEXT-format-07753)
|
|
|
|
|
#
|
|
|
|
|
# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4244
|
|
|
|
|
# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4250
|
|
|
|
|
|
|
|
|
|
# KHR-GL46.shader_image_load_store.basic-allTargets-atomic:
|
|
|
|
|
# [ VUID-vkCmdDrawMultiEXT-viewType-07752 ] Object 0: handle =
|
|
|
|
|
# 0x5581c500000000d5, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID =
|
|
|
|
|
# 0xacde5967 | vkCmdDrawMultiEXT: Descriptor set VkDescriptorSet
|
|
|
|
|
# 0x5581c500000000d5[] in binding #129 index 0 requires an image view of type
|
|
|
|
|
# VK_IMAGE_VIEW_TYPE_CUBE but got VkImageView 0x359e9300000000cb[] which is of
|
|
|
|
|
# type VK_IMAGE_VIEW_TYPE_CUBE_ARRAY. The Vulkan spec states: If a VkImageView is
|
|
|
|
|
# accessed as a result of this command, then the image view's viewType must match
|
|
|
|
|
# the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image
|
|
|
|
|
# View Validation
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawMultiEXT-viewType-07752)
|
|
|
|
|
|
|
|
|
|
# KHR-GL46.shader_image_size.advanced-nonMS-cs-int:
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-vkCmdDispatch-viewType-07752 ] Object 0: handle = 0xc8986900000032ed,
|
|
|
|
|
# type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0x6174abc7 | vkCmdDispatch:
|
|
|
|
|
# Descriptor set VkDescriptorSet 0xc8986900000032ed[] in binding #3 index 0
|
|
|
|
|
# requires an image view of type VK_IMAGE_VIEW_TYPE_CUBE but got VkImageView
|
|
|
|
|
# 0x3ce28700000032e2[] which is of type VK_IMAGE_VIEW_TYPE_2D. The Vulkan spec
|
|
|
|
|
# states: If a VkImageView is accessed as a result of this command, then the image
|
|
|
|
|
# view's viewType must match the Dim operand of the OpTypeImage as described in
|
|
|
|
|
# Instruction/Sampler/Image View Validation
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDispatch-viewType-07752)
|
|
|
|
|
#
|
|
|
|
|
# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4250
|
|
|
|
|
|
|
|
|
|
# KHR-GL46.texture_border_clamp.Texture2DDC16Linear:
|
|
|
|
|
#
|
|
|
|
|
# VUID-vkCmdDrawMultiEXT-magFilter-04553 ] Object 0: handle = 0xa43473000000002d,
|
|
|
|
|
# type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 1: handle = 0xb991fa0000000024,
|
|
|
|
|
# type = VK_OBJECT_TYPE_SAMPLER; Object 2: handle = 0xa7c5450000000023, type =
|
|
|
|
|
# VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0x6823381d | vkCmdDrawMultiEXT:
|
|
|
|
|
# Descriptor set VkDescriptorSet 0xa43473000000002d[] Sampler (VkSampler
|
|
|
|
|
# 0xb991fa0000000024[]) is set to use VK_FILTER_LINEAR with compareEnable is set
|
|
|
|
|
# to VK_FALSE, but image view's (VkImageView 0xa7c5450000000023[]) format
|
|
|
|
|
# (VK_FORMAT_D16_UNORM) does not contain
|
|
|
|
|
# VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in its format features. The
|
|
|
|
|
# Vulkan spec states: If a VkSampler created with magFilter or minFilter equal to
|
|
|
|
|
# VK_FILTER_LINEAR and compareEnable equal to VK_FALSE is used to sample a
|
|
|
|
|
# VkImageView as a result of this command, then the image view's format features
|
|
|
|
|
# must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawMultiEXT-magFilter-04553)
|
|
|
|
|
|
|
|
|
|
# KHR-GL46.texture_view.coherency
|
|
|
|
|
#
|
|
|
|
|
# [ UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout ] Object 0: handle =
|
|
|
|
|
# 0x55ba2375da70, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x4dae5635 |
|
|
|
|
|
# vkQueueSubmit(): pSubmits[0].pCommandBuffers[1] command buffer VkCommandBuffer
|
|
|
|
|
# 0x55ba2375da70[] expects VkImage 0x908683000000001d[] (subresource: aspectMask
|
|
|
|
|
# 0x1 array layer 0, mip level 1) to be in layout
|
|
|
|
|
# VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL--instead, current layout is
|
|
|
|
|
# VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT.
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-VkDescriptorImageInfo-imageLayout-00344 ] Object 0: handle =
|
|
|
|
|
# 0x55ba23788bf0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0xde55a405 |
|
|
|
|
|
# vkCmdDrawMultiEXT: Cannot use VkImage 0x53e60f000000006b[] (layer=0 mip=0) with
|
|
|
|
|
# specific layout VK_IMAGE_LAYOUT_GENERAL that doesn't match the previous known
|
|
|
|
|
# layout VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT. The Vulkan spec
|
|
|
|
|
# states: imageLayout must match the actual VkImageLayout of each subresource
|
|
|
|
|
# accessible from imageView at the time this descriptor is accessed as defined by
|
|
|
|
|
# the image layout matching rules
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkDescriptorImageInfo-imageLayout-00344)
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-vkCmdDrawMultiEXT-None-02699 ] Object 0: handle = 0xb82de40000000077,
|
|
|
|
|
# type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0x568f7614 |
|
|
|
|
|
# vkCmdDrawMultiEXT: Descriptor set VkDescriptorSet 0xb82de40000000077[] Image
|
|
|
|
|
# layout specified at vkCmdBindDescriptorSets time doesn't match actual image
|
|
|
|
|
# layout at time descriptor is used. See previous error callback for specific
|
|
|
|
|
# details. The Vulkan spec states: Descriptors in each bound descriptor set,
|
|
|
|
|
# specified via vkCmdBindDescriptorSets, must be valid as described by descriptor
|
|
|
|
|
# validity if they are statically used by the VkPipeline bound to the pipeline
|
|
|
|
|
# bind point used by this command
|
|
|
|
|
# (https://github.com/KhronosGroup/Vulkan-Docs/search?q=)VUID-vkCmdDrawMultiEXT-None-02699)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# KHR-Single-GL46.enhanced_layouts.varying_array_locations:
|
|
|
|
|
#
|
|
|
|
|
# [ VUID-RuntimeSpirv-Location-06272 ] Object 0: handle =
|
|
|
|
|
# 0x8f5f070000000095, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID =
|
|
|
|
|
# 0xa3614f8b | Invalid Pipeline CreateInfo State: Geometry shader exceeds
|
|
|
|
|
# VkPhysicalDeviceLimits::maxGeometryInputComponents of 64 components by
|
|
|
|
|
# 1 components The Vulkan spec states: The sum of Location and the number
|
|
|
|
|
# of locations the variable it decorates consumes must be less than or
|
|
|
|
|
# equal to the value for the matching {ExecutionModel} defined in Shader
|
|
|
|
|
# Input and Output Locations
|
|
|
|
|
# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-RuntimeSpirv-Location-06272)
|