zink: vulkan validation errors with tessellation and ESO
For example in this test KHR-GL46.tessellation_shader.winding.triangles_ccw, the following vulkan validation errors are reported:
VUID-vkCmdDrawMultiEXT-None-08664(ERROR / SPEC): msgNum: 808493620 - Validation Error: [ VUID-vkCmdDrawMultiEXT-None-08664 ] Object 0: handle = 0x5cc6845857a0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x3030a234 | vkCmdDrawMultiEXT(): VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state not set for this command buffer. The Vulkan spec states: If the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawMultiEXT-None-08664)
Objects: 1
[0] 0x5cc6845857a0, type: 6, name: NULL
VUID-vkCmdDrawMultiEXT-None-09237(ERROR / SPEC): msgNum: -1753394309 - Validation Error: [ VUID-vkCmdDrawMultiEXT-None-09237 ] Object 0: handle = 0x5cc6845857a0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x977d537b | vkCmdDrawMultiEXT(): VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT state not set for this command buffer. The Vulkan spec states: If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage, then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDrawMultiEXT-None-09237)
This test is currently failing with RADV/Polaris10, probably because domain origin isn't set?