From b3cbaf4ee710e320e720d7510aee855c6f3ece54 Mon Sep 17 00:00:00 2001 From: Valentine Burley Date: Fri, 18 Jul 2025 13:41:39 +0200 Subject: [PATCH] zink/ci: Enable more VVL on ANV Enable VVL on ADL, as well as GLES on TGL, and drop some old filters. Signed-off-by: Valentine Burley Part-of: --- .../drivers/zink/ci/deqp-zink-anv-adl.toml | 6 + .../drivers/zink/ci/deqp-zink-anv-tgl.toml | 6 + .../ci/zink-anv-adl-validation-settings.txt | 57 +++++++++ .../ci/zink-anv-tgl-validation-settings.txt | 108 ++---------------- 4 files changed, 76 insertions(+), 101 deletions(-) create mode 100644 src/gallium/drivers/zink/ci/zink-anv-adl-validation-settings.txt diff --git a/src/gallium/drivers/zink/ci/deqp-zink-anv-adl.toml b/src/gallium/drivers/zink/ci/deqp-zink-anv-adl.toml index 954788c441f..6ab16619976 100644 --- a/src/gallium/drivers/zink/ci/deqp-zink-anv-adl.toml +++ b/src/gallium/drivers/zink/ci/deqp-zink-anv-adl.toml @@ -12,6 +12,8 @@ timeout = 180.0 version_check = "GL ES 3.2.*git" renderer_check = "zink.*Intel.*" fraction = 2 +[deqp.env] + ZINK_DEBUG = "validation" [[deqp]] deqp = "/deqp-gles/modules/gles3/deqp-gles3" @@ -25,6 +27,8 @@ deqp_args = [ ] timeout = 180.0 fraction = 2 +[deqp.env] + ZINK_DEBUG = "validation" [[deqp]] deqp = "/deqp-gles/modules/gles31/deqp-gles31" @@ -38,6 +42,8 @@ deqp_args = [ ] timeout = 180.0 fraction = 2 +[deqp.env] + ZINK_DEBUG = "validation" [[deqp]] deqp = "/deqp-gl/external/openglcts/modules/glcts" diff --git a/src/gallium/drivers/zink/ci/deqp-zink-anv-tgl.toml b/src/gallium/drivers/zink/ci/deqp-zink-anv-tgl.toml index 0eaf65f4093..078b4bf4bda 100644 --- a/src/gallium/drivers/zink/ci/deqp-zink-anv-tgl.toml +++ b/src/gallium/drivers/zink/ci/deqp-zink-anv-tgl.toml @@ -12,6 +12,8 @@ timeout = 180.0 version_check = "GL ES 3.2.*git" renderer_check = "zink.*Intel.*" fraction = 4 +[deqp.env] + ZINK_DEBUG = "validation" [[deqp]] deqp = "/deqp-gles/modules/gles3/deqp-gles3" @@ -25,6 +27,8 @@ deqp_args = [ ] timeout = 180.0 fraction = 4 +[deqp.env] + ZINK_DEBUG = "validation" [[deqp]] deqp = "/deqp-gles/modules/gles31/deqp-gles31" @@ -38,6 +42,8 @@ deqp_args = [ ] timeout = 180.0 fraction = 4 +[deqp.env] + ZINK_DEBUG = "validation" [[deqp]] deqp = "/deqp-gl/external/openglcts/modules/glcts" diff --git a/src/gallium/drivers/zink/ci/zink-anv-adl-validation-settings.txt b/src/gallium/drivers/zink/ci/zink-anv-adl-validation-settings.txt new file mode 100644 index 00000000000..bb5f593a5c2 --- /dev/null +++ b/src/gallium/drivers/zink/ci/zink-anv-adl-validation-settings.txt @@ -0,0 +1,57 @@ +# 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-VkPhysicalDeviceProperties2-pNext-pNext,VUID-VkDeviceCreateInfo-pNext-pNext,VUID-RuntimeSpirv-Location-06272,VUID-vkCmdDrawMultiIndexedEXT-format-07753,VUID-RuntimeSpirv-OpEntryPoint-08743 +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 + +# VUID-VkPhysicalDeviceProperties2-pNext-pNext +# VUID-VkDeviceCreateInfo-pNext-pNext +# never error due to unrecognized extensions + + +# KHR-GL46.geometry_shader.limits.max_output_components +# +# [ VUID-RuntimeSpirv-Location-06272 ] Object 0: handle = 0x3a6cbb0000000025, +# type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0xa3614f8b | Invalid Pipeline +# CreateInfo State: Fragment shader exceeds +# VkPhysicalDeviceLimits::maxFragmentInputComponents of 116 components by 4 +# 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://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#VUID-RuntimeSpirv-Location-06272) + + +# KHR-GL46.sample_variables.mask.rgba8i.samples_8.mask_3 +# +# [ VUID-vkCmdDrawMultiIndexedEXT-format-07753 ] Object 0: handle = +# 0x535b660000000043, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = +# 0xd35852d3 | vkCmdDrawMultiIndexedEXT: Descriptor set VkDescriptorSet +# 0x535b660000000043[] in binding #128 index 0 requires SINT component type, but +# bound descriptor format is VK_FORMAT_R8G8B8A8_UNORM (VkImageView +# 0x9638f80000000036[]). 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://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#VUID-vkCmdDrawMultiIndexedEXT-format-07753) +# +# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4488 + + +# KHR-Single-GL46.enhanced_layouts.varying_locations +# +# VUID-RuntimeSpirv-OpEntryPoint-08743(ERROR / SPEC): msgNum: -1986897773 - +# Validation Error: [ VUID-RuntimeSpirv-OpEntryPoint-08743 ] +# vkCreateGraphicsPipelines(): pCreateInfos[0] VK_SHADER_STAGE_FRAGMENT_BIT declared input at +# Location 1 Comonent 2 but it is not an Output declared in VK_SHADER_STAGE_VERTEX_BIT +# The Vulkan spec states: Any user-defined variables shared between the OpEntryPoint of two shader stages, +# and declared with Input as its {StorageClass} for the subsequent shader stage, +# must have all Location slots and Component words declared in the preceding shader stage's +# OpEntryPoint with Output as the {StorageClass} +# (https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#VUID-RuntimeSpirv-OpEntryPoint-08743) +# +# VVL bug https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/5735 diff --git a/src/gallium/drivers/zink/ci/zink-anv-tgl-validation-settings.txt b/src/gallium/drivers/zink/ci/zink-anv-tgl-validation-settings.txt index 96a64c5d2ee..bb5f593a5c2 100644 --- a/src/gallium/drivers/zink/ci/zink-anv-tgl-validation-settings.txt +++ b/src/gallium/drivers/zink/ci/zink-anv-tgl-validation-settings.txt @@ -1,6 +1,6 @@ # 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-VkPhysicalDeviceProperties2-pNext-pNext,VUID-VkDeviceCreateInfo-pNext-pNext,UNASSIGNED-CoreValidation-Shader-InconsistentSpirv,VUID-vkDestroyDevice-device-00378,VUID-VkShaderModuleCreateInfo-pCode-01377,VUID-RuntimeSpirv-Location-06272,VUID-VkGraphicsPipelineCreateInfo-renderPass-06590,VUID-VkGraphicsPipelineCreateInfo-Geometry-07725,VUID-vkCmdDrawMultiIndexedEXT-format-07753,UNASSIGNED-CoreValidation-Shader-InterfaceTypeMismatch,VUID-RuntimeSpirv-OpEntryPoint-07754,VUID-VkShaderModuleCreateInfo-pCode-01379,VUID-RuntimeSpirv-OpEntryPoint-08743,VUID-VkGraphicsPipelineCreateInfo-topology-00737,VUID-VkGraphicsPipelineCreateInfo-pStages-00736,VUID-vkCmdCopyImage-srcImage-07743,VUID-vkCmdDrawMultiIndexedEXT-format-07753,VUID-vkCmdDrawMultiEXT-pDepthAttachment-06181,VUID-vkCmdDrawMultiEXT-pStencilAttachment-06182,VUID-vkCmdDrawMultiIndexedEXT-pDepthAttachment-06181,VUID-vkCmdDrawMultiIndexedEXT-pStencilAttachment-06182,VUID-vkDestroyDevice-device-05137,VUID-vkCmdDrawMultiEXT-Input-08734,VUID-RuntimeSpirv-OpVariable-08746 +khronos_validation.message_id_filter = VUID-VkPhysicalDeviceProperties2-pNext-pNext,VUID-VkDeviceCreateInfo-pNext-pNext,VUID-RuntimeSpirv-Location-06272,VUID-vkCmdDrawMultiIndexedEXT-format-07753,VUID-RuntimeSpirv-OpEntryPoint-08743 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 @@ -12,28 +12,9 @@ khronos_validation.log_filename = stdout # VUID-VkDeviceCreateInfo-pNext-pNext # never error due to unrecognized extensions -# KHR-Single-GL46.enhanced_layouts.xfb_struct_explicit_location: -# [ UNASSIGNED-CoreValidation-Shader-InconsistentSpirv ] Object 0: handle = -# 0x556fd2b6e190, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x6bbb14 | SPIR-V -# module not valid: The Component Type of Vector 1 must be the same as ResultType. - -# Intermittent, probably the end of a caselist so not tied to a specific known test: -# [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55c458362820, type = -# VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x2a7f70000000053, type = -# VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT; | MessageID = 0x71500fba | OBJ ERROR : For -# VkDevice 0x55c458362820[], VkDescriptorSetLayout 0x2a7f70000000053[] 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) - -# KHR-Single-GL46.enhanced_layouts.xfb_struct_explicit_location: -# [ VUID-VkShaderModuleCreateInfo-pCode-01377 ] Object 0: handle = -# 0x563a677573b0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x5821254b | SPIR-V -# module not valid: The Component Type of Vector 1 must be the same as ResultType. -# %142 = OpVectorShuffle %v2uint %141 %141 0 1 -# The Vulkan spec states: pCode must point to either valid SPIR-V code, formatted and packed as described by the Khronos SPIR-V Specification or valid GLSL code which must be written to the GL_KHR_vulkan_glsl extension specification (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkShaderModuleCreateInfo-pCode-01377) # KHR-GL46.geometry_shader.limits.max_output_components +# # [ VUID-RuntimeSpirv-Location-06272 ] Object 0: handle = 0x3a6cbb0000000025, # type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0xa3614f8b | Invalid Pipeline # CreateInfo State: Fragment shader exceeds @@ -44,28 +25,9 @@ khronos_validation.log_filename = stdout # Locations # (https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#VUID-RuntimeSpirv-Location-06272) -# KHR-GL46.gpu_shader_fp64.builtin.roundeven_dvec4: -# [ VUID-VkGraphicsPipelineCreateInfo-renderPass-06590 ] Object 0: handle = -# 0x5647ce5e6ac0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xd835f001 | -# vkCreateGraphicsPipelines(): pCreateInfos[0] does contains fragment shader state -# and no fragment output state, pDepthStencilState does not point to a valid -# VkPipelineDepthStencilStateCreateInfo struct. The Vulkan spec states: If -# renderPass is VK_NULL_HANDLE and the pipeline is being created with fragment -# shader state but not fragment output interface state, pDepthStencilState must be -# a valid pointer to a valid VkPipelineDepthStencilStateCreateInfo structure -# (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-renderPass-06590) -# KHR-GL46.shader_image_size.basic-nonMS-gs-float: -# [ VUID-VkGraphicsPipelineCreateInfo-Geometry-07725 ] Object 0: handle = -# 0xa4ad110000039145, 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.sample_variables.mask.rgba8i.samples_8.mask_3: +# KHR-GL46.sample_variables.mask.rgba8i.samples_8.mask_3 +# # [ VUID-vkCmdDrawMultiIndexedEXT-format-07753 ] Object 0: handle = # 0x535b660000000043, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = # 0xd35852d3 | vkCmdDrawMultiIndexedEXT: Descriptor set VkDescriptorSet @@ -76,37 +38,12 @@ khronos_validation.log_filename = stdout # 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://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#VUID-vkCmdDrawMultiIndexedEXT-format-07753) +# +# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4488 -# KHR-Single-GL46.enhanced_layouts.varying_locations: -# [ UNASSIGNED-CoreValidation-Shader-InterfaceTypeMismatch ] Object 0: handle = -# 0x5eb05e000000003b, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = -# 0xb6cf33fe | Type mismatch on location 0.0, between geometry shader and fragment -# shader: 'ptr to Output vec2 of uint64' vs 'ptr to Input struct of (vec4 of -# float32, vec4 of float32)' # KHR-Single-GL46.enhanced_layouts.varying_locations -# [ VUID-RuntimeSpirv-OpEntryPoint-07754 ] -# vkCreateGraphicsPipelines(): pCreateInfos[0] Type mismatch on Location 0 Component 0, between -# VK_SHADER_STAGE_GEOMETRY_BIT stage: -# pointer to Output -> -# vec2 of uint64 -# VK_SHADER_STAGE_FRAGMENT_BIT stage: -# pointer to Input -> -# struct of { -# vec4 of float32 -# vec4 of float32 -# } -# The Vulkan spec states: Any user-defined variables between the OpEntryPoint -# of two shader stages must have the same type and width for each Component -# (https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#VUID-RuntimeSpirv-OpEntryPoint-07754) - -# KHR-Single-GL46.enhanced_layouts.xfb_struct_explicit_location -# [ VUID-VkShaderModuleCreateInfo-pCode-01379 ] -# SPIR-V module not valid: The Component Type of Vector 1 must be the same as ResultType. -# %142 = OpVectorShuffle %v2uint %141 %141 0 1 - -# KHR-Single-GL46.enhanced_layouts.varying_locations -# +# # VUID-RuntimeSpirv-OpEntryPoint-08743(ERROR / SPEC): msgNum: -1986897773 - # Validation Error: [ VUID-RuntimeSpirv-OpEntryPoint-08743 ] # vkCreateGraphicsPipelines(): pCreateInfos[0] VK_SHADER_STAGE_FRAGMENT_BIT declared input at @@ -118,34 +55,3 @@ khronos_validation.log_filename = stdout # (https://registry.khronos.org/vulkan/specs/latest/html/vkspec.html#VUID-RuntimeSpirv-OpEntryPoint-08743) # # VVL bug https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/5735 - - -# VUID-VkGraphicsPipelineCreateInfo-pStages-00736 -# VUID-VkGraphicsPipelineCreateInfo-topology-00737 -# spec bug https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/5916 - - -# VUID-vkCmdCopyImage-srcImage-07743 -# spec bug - -# VUID-vkCmdDrawMultiIndexedEXT-format-07753 -# KHR-GL46.shader_ballot_tests.ShaderBallotFunctionBallot -# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4488 - - -# VUID-vkCmdDrawMultiEXT-pDepthAttachment-06181 -# VUID-vkCmdDrawMultiEXT-pStencilAttachment-06182 -# VUID-vkCmdDrawMultiIndexedEXT-pDepthAttachment-06181 -# VUID-vkCmdDrawMultiIndexedEXT-pStencilAttachment-06182 -# spec issue - - -# VUID-vkDestroyDevice-device-05137 -# some kind of bug - -# VUID-vkCmdDrawMultiEXT-Input-08734 -# not sure if cts bug... -# KHR-GL46.direct_state_access.vertex_arrays_attribute_format - -# VUID-RuntimeSpirv-OpVariable-08746 -# VVL issue https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/8014