ziga-lunarg [Fri, 4 Nov 2022 22:56:17 +0000 (23:56 +0100)]
Re-add texture filtering tests with rgba10x6 format
These tests were removed when only the check for
formatRgba10x6WithoutYCbCrSampler feature was missing
Components: Vulkan
VK-GL-CTS issue: 3646
New tests:
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest_mipmap_nearest
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear_mipmap_nearest
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest_mipmap_linear
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear_mipmap_linear
Change-Id: Ida3cb9f1abd95f57908b9540c65605cbb1b40fa3
Matthew Netsch [Thu, 1 Dec 2022 16:37:27 +0000 (16:37 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I36f8b8142517f82d581ee2bc365a97ff37a63dc8
Hyunjun Ko [Wed, 23 Nov 2022 08:46:24 +0000 (17:46 +0900)]
Fix invalid usage of descriptorCount for inline uniform
blocks.
Affects:
dEQP-VK.binding_model.descriptorset_random.*.iublimit*
VK-GL-CTS Issue: 4115
Components: Vulkan
Change-Id: I649d86b859ca642b47c1fda4aa915e1d6616c898
Gary Sweet [Thu, 24 Nov 2022 09:16:09 +0000 (09:16 +0000)]
Fix for 16 to 8-bit storage spirv_assembly tests
The output buffer was being made smaller than it was required to
hold all the results. Robust buffer accesss prevented the writes
from trampling memory after the buffer, but could mean that the
data in the valid part of the buffer was incorrectly written instead.
This change makes the output buffer large enough to prevent the
out-of-bounds writes.
Components: Vulkan
VK-GL-CTS issue: 4126
Affected tests:
dEQP-VK.spirv_assembly.instruction.graphics.8bit_storage.storagebuffer_int_16_to_8.*
Change-Id: I59145be8012f7a31037ee3fee4d7ac96a198bc00
ziga-lunarg [Fri, 4 Nov 2022 20:22:22 +0000 (21:22 +0100)]
Add missing check for rgba10x6 features
Feature formatRgba10x6WithoutYCbCrSampler must be supported if image is
created with format VK_FORMAT_R10x6G10X6B10X6A10X6_UNORM_4PACK16 and
level count is greater than 1
Components: Vulkan
VK-GL-CTS issue: 3992
Affected tests:
dEQP-VK.pipeline.image_view.view_type.*.format.*
Change-Id: I63f7d2083ea85d9f6232540d72178bd8172b13d5
Matthew Netsch [Thu, 17 Nov 2022 17:12:03 +0000 (17:12 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I571894bfd5fc1ab88a09272d7452522bce76165d
Christopher Hambacher [Fri, 11 Nov 2022 20:17:58 +0000 (14:17 -0600)]
Fix failed memory map check for reconvergence tests
Tests are checking for ResourceError, when a failed memory map will return TestError.
Components: Vulkan
VK-GL-CTS issue: 4100
Affected tests:
dEQP-VK.reconvergence.*
Change-Id: I61fcc9f29fe19ff592b74986ac39a7e3958f06e8
Ricardo Garcia [Tue, 15 Nov 2022 15:07:16 +0000 (16:07 +0100)]
Limit number of concurrent query pools
The max concurrency tests use a heuristic to try to estimate a safe
number of objects of different types that the implementation would be
able to create, with an upper limit of 16384 objects.
However, in some implementations the creation of these objects have
external limitations that make the safe value hard to guess by only
looking at system and device memory usage. For example, the kernel
driver may impose further limits on the total number of certain objects.
This is reflected in the current tests with some lower hardcoded limits
for some types of objects, like instances, devices, synchronization
primitives and pipeline caches.
This commit halves the limit of concurrent query pools being tested to a
value that doesn't trigger any issue in the Mesa RPi drivers.
Affects:
dEQP-VK.api.object_management.max_concurrent.query_pool
VK-GL-CTS issue: 4106
Components: Vulkan
Change-Id: If88c6aa1ecd3d9c18892b38cb55907a82eee6cf8
Ricardo Garcia [Fri, 21 Oct 2022 14:19:52 +0000 (16:19 +0200)]
Add missing checks for geometry shader support
Affects:
dEQP-VK.multiview.*geometry*
dEQP-VK.subgroups.*geometry*
dEQP-VK.fragment_shading_rate.*.gs*
VK-GL-CTS issue: 4064
Components: Vulkan
Change-Id: I64a3b6d7adc8da7671817710c4a4882db2c27035
ziga-lunarg [Sat, 15 Oct 2022 00:03:25 +0000 (02:03 +0200)]
Add missing read without format bit check in robustness tests
If buffer view is being read as storage texel buffer with image format
of OpTypeImage being Unknown then the view's buffer features must
contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
Components: Vulkan
VK-GL-CTS issue: 4047
Affected tests:
dEQP-VK.robustness.robustness2.bind.*
Change-Id: I46e5482fbfea3a945b133dbca0e020159049516f
ziga-lunarg [Fri, 14 Oct 2022 23:24:43 +0000 (01:24 +0200)]
Fix stencilAttachmentFormat in inverted depth ranges tests
If format is not VK_FORMAT_UNDEFINED in
VKPipelineRenderingCreateInfo::stencilAttachmentFormat then it must be a
format that includes a stencil aspect
Components: Vulkan
VK-GL-CTS issue: 4046
Affected tests:
dEQP-VK.draw.dynamic_rendering.inverted_depth_ranges.*
Change-Id: Ia0dcb1989b8ace78632d26dd0a1e3c1101f5f547
Matthew Netsch [Thu, 10 Nov 2022 18:12:22 +0000 (18:12 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I46781852d8da0c1c3d65c9435cf93cd05ce1781b
ziga-lunarg [Sun, 16 Oct 2022 22:42:52 +0000 (00:42 +0200)]
Fix viewport width in FSR with multiviewport tests
Tests with extent 1x1 create viewport with width equal to 0.0f
Components: Vulkan
VK-GL-CTS issue: 4057
Affected tests:
dEQP-VK.fragment_shading_rate.*
Change-Id: I99a050348de83d1790320bd5d6d711722dd1fbaf
ziga-lunarg [Sat, 15 Oct 2022 19:51:22 +0000 (21:51 +0200)]
Fix image barrier oldLayout in timeline semaphore tests
Image layout in image barrier must be updated after first transition
Components: Vulkan
VK-GL-CTS issue: 4049
Affected tests:
dEQP-VK.synchronization.timeline_semaphore.one_to_n.*
Change-Id: I7fde2342007a3ec9c2562375fd634539e186acdc
ziga-lunarg [Sun, 16 Oct 2022 19:45:02 +0000 (21:45 +0200)]
Fix barrier in ray tracing pipeline build tests
If access mask is VK_ACCEDSS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR then
stage must be VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
Components: Vulkan
VK-GL-CTS issue: 4053
Affected tests:
dEQP-VK.ray_tracing_pipeline.build.*
Change-Id: I0a8080881f944319aae2417e5f9fe3297b933dd7
ziga-lunarg [Sun, 16 Oct 2022 01:50:25 +0000 (03:50 +0200)]
Fix pMutableDescriptorTypeLists in mutable descriptor tests
pMutableDescriptorTypeLists between srcBinding and dstBinding must match
exactly for copying descriptor sets
Components: Vulkan
VK-GL-CTS issue: 4051
Affected tests:
dEQP-VK.binding_model.mutable_descriptor.*
Change-Id: I64445e84ccd4872789a3db8b15e005d36c08d8a4
Hyunjun Ko [Fri, 21 Oct 2022 00:27:05 +0000 (09:27 +0900)]
Fix to reset dynamicDenstiyMap after dynamic subsampled tets done.
Affects:
dEQP-VK.*.fragment_density_map.*.static_nonsubsampled*
dEQP-VK.*.fragment_density_map.*.deferred_nonsubsampled*
VK-GL-CTS Issue: 4062
Components: Vulkan
Change-Id: Ib347bd6e4734b2928ccacfa17dd01dfc134301bb
ziga-lunarg [Fri, 14 Oct 2022 22:53:12 +0000 (00:53 +0200)]
Fix flush memory range in ssbo corner case tests
The size in VKMappedMemoryRange used in vkFlushMappedMemoryRanges must
either be a multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize or
offset + size must be equal to the size of memory
Components: Vulkan
VK-GL-CTS issue: 4044
Affected tests:
dEQP-VK.ssbo.corner_case.*
Change-Id: I9ea2ee1e055b55ec39988a6ec0539cd3219937f4
ziga-lunarg [Fri, 14 Oct 2022 23:11:59 +0000 (01:11 +0200)]
Fix flush memory range in robustness vertex access tests
The size in VkMappedMemoryRange used in vkFlushMappedMemoryRanges must
either be a multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize or
offset + size must be equal to the size of memory
Components: Vulkan
VK-GL-CTS issue: 4045
Affected tests:
dEQP-VK.robustness.vertex_access.r32_sint.draw.*
Change-Id: I3d0944b6c6808dc66de0c9dc25f6c4e99578a1cf
ziga-lunarg [Sat, 15 Oct 2022 22:05:50 +0000 (00:05 +0200)]
Add shader image atomic int64 extension if used when creating device
Add VK_EXT_shader_image_atomic_int64 extension and enabled the features
when creating the device in sparse resources tests if the extension
is used
Components: Vulkan
VK-GL-CTS issue: 4050
Affected tests:
dEQP-VK.sparse_resources.*
Change-Id: If3de1d1e30a57db076802e2933392081c7c3069c
ziga-lunarg [Fri, 14 Oct 2022 22:30:38 +0000 (00:30 +0200)]
Fix attachment description in explicit vertex parameter tests
If initialLayout is VK_IMAGE_LAYOUT_UNDEFINED then loadOp must not be
VK_ATTACHMENT_LOAD_OP_LOAD
Components: Vulkan
VK-GL-CTS issue: 4043
Affected tests:
dEQP-VK.draw.explicit_vertex_parameter.*
Change-Id: I94cd72967798d424081f13033d1afbb3e11d993b
Matthew Netsch [Thu, 27 Oct 2022 17:10:48 +0000 (17:10 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I398ca9776ea24153af3f5cc4bd4db4812333d76a
ziga-lunarg [Mon, 10 Oct 2022 22:39:37 +0000 (00:39 +0200)]
Fix loadOp in imageless framebuffer test
If initial layout in attachment descriptions is
VK_IMAGE_LAYOUT_UNDEFINED, then the load op must not be
VK_ATTACHMENT_LOAD_OP_LOAD
Components: Vulkan
VK-GL-CTS issue: 4030
Affected tests:
dEQP-VK.imageless_framebuffer.*
Change-Id: I5e7f3f5e440dd380a05cf82127af4bea2538fdd2
Tapani Pälli [Wed, 5 Oct 2022 16:59:48 +0000 (19:59 +0300)]
Choose optimal tiling with dmabuf in synchronization tests.
This is revert of commit
55027ea63. Problem is that while that change
caused coverage to raise on some drivers it decreased coverage on
others. Ideally this will be written in more dynamic way as a
follow-up work so that everyone could have coverage with these
tests.
Component: Vulkan
Affects: dEQP-VK.synchronization.cross_instance*
VK-GL-CTS issue: 2887
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I252c87ccd1870067417166bf1a4ba769a153105f
ziga-lunarg [Sun, 2 Oct 2022 19:45:08 +0000 (21:45 +0200)]
Fix cull distance tests without fragment shader read
These tests were supposed to test using gl_cullDistance but removing
those writes from shaders did not affect the tests passing
If fragment shader does not read cull distances the tests will now set a
cull plane and check the number of fragments culled
Components: Vulkan
VK-GL-CTS issue: 3502
Affected tests:
dEQP-VK.clipping.user_defined.clip_cull_distance.*
Change-Id: I5ea3d95cc14da934994db2b41aa22fa386570d70
Matthew Netsch [Fri, 14 Oct 2022 17:47:03 +0000 (17:47 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: Id224a630047cd512b36da121961684a9350ff731
Matthew Netsch [Fri, 14 Oct 2022 16:22:49 +0000 (16:22 +0000)]
Fixes zlib dependency
Components: Framework
Change-Id: I70c130a367afa7d3eb2cbd81dd1662331c6723b8
(cherry picked from commit
188db4918e48556a330814d9e09ec305e4497227)
Matthew Netsch [Thu, 13 Oct 2022 16:16:54 +0000 (16:16 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I867eda5f06e1a9df38b95d604b1d98ee5691e552
Alex Shi [Fri, 30 Sep 2022 04:29:53 +0000 (12:29 +0800)]
Fix winding issue in watertightness tests
The winding order of shared edge vertices wasn't consistent.
Add a check to ensure all triangles have same winding order.
Affects:
dEQP-VK.ray_tracing_pipeline.watertightness*
Components: Vulkan
VK-GL-CTS issue: 4009
Change-Id: I24607720fedcae2e903707dcd8f2d2d8b6ec12c0
ziga-lunarg [Sat, 8 Oct 2022 18:32:44 +0000 (20:32 +0200)]
Remove tests using invalid sType
This test creates a structure with sType VK_STRUCTURE_TYPE_MAX_ENUM and
passes it to other create info structs through pNext, but this sType is
not allowed in the pNext of those create info structs
Components: Vulkan
VK-GL-CTS issue: 4023
Removed tests:
dEQP-VK.api.smoke-triangle_ext_structs
Change-Id: Iccfbcebb2bf9b43e93871bfc74aecea921bc31b8
Russell Chou [Tue, 4 Oct 2022 21:07:52 +0000 (14:07 -0700)]
Fix synchronization.cross_instance TEMPORARY permanence
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT only supports TEMPORARY permanence, so check for that.
Affects:
dEQP-VK.synchronization.cross_instance.*_binary_semaphore_fence_fd
dEQP-VK.synchronization2.cross_instance.*_binary_semaphore_fence_fd
Components: Vulkan Framework
VK-GL-CTS issue: 4021
Change-Id: I6f663cbc35fcd7f81927878f31f78a6aaadf1a74
ziga-lunarg [Sun, 25 Sep 2022 15:39:29 +0000 (17:39 +0200)]
Fix subpass dependency in geometry layered tests
If both stages include a framebuffer-space stage in a self dependency,
then flags must include VK_DEPENDENCY_BY_REGION_BIT
Components: Vulkan
VK-GL-CTS issue: 3997
Affected tests:
dEQP-VK.geometry.layered.*
Change-Id: Id9941c16488a4c3bfbf569490d9e146437c4ae40
ziga-lunarg [Fri, 23 Sep 2022 23:31:28 +0000 (01:31 +0200)]
Fix color blend state in pipeline stencil tests
attachmentCount of pColorBlendState in pipeline create info must match
the colorAttachmentCount of the subpass used in creating the pipeline
Components: Vulkan
VK-GL-CTS issue: 3990
Affected tests:
dEQP-VK.pipeline.*stencil.*
Change-Id: Ic9bbcd9e14fc98e13e02698d7a138662a28782ae
ziga-lunarg [Mon, 19 Sep 2022 23:15:07 +0000 (01:15 +0200)]
Check if buffer size is multiple of nonCoherentAtomSize
When flushing memory range, if VK_WHOLE_SIZE is used, size must be a
multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize
Components: Vulkan
VK-GL-CTS issue: 3972
Affected tests:
dEQP-VK.memory.binding.*
Change-Id: If66e593f88af00450a55dfacc988df93ef6991eb
ziga-lunarg [Mon, 29 Aug 2022 00:16:31 +0000 (02:16 +0200)]
Add missing buffer features check in image store tests
Check if format supports storage write for VkBufferView where
OpTypeImage is Unknown
Components: Vulkan
VK-GL-CTS issue: 3765
Affected tests:
dEQP-VK.image.store.without_format.*
Change-Id: I74365f2f753fb61397d83403098a288cdcf53953
ziga-lunarg [Sat, 17 Sep 2022 19:46:02 +0000 (21:46 +0200)]
Fix resetting command buffer in ray tracing tests
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT must be set to reset
command buffer and add missing reset
Components: Vulkan
VK-GL-CTS issue: 3960
Affected tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.*
Change-Id: Icc5029fc796bff7cf095cbb78832483463cdaaaa
ziga-lunarg [Mon, 19 Sep 2022 18:46:43 +0000 (20:46 +0200)]
Fix ds attachment formats in dynamic rendering with inheritance
In VkCommandBufferInheritanceRenderingInfoKHR the depthAttachmentFormat
must have a depth aspect or be VK_FORMAT_UNDEFINED, and the
stencilAttachmentFormat must have a stencil aspect or be
VK_FORMAT_UNDEFINED
Components: Vulkan
VK-GL-CTS issue: 3970
Affected tests:
dEQP-VK.dynamic_rendering.*
Change-Id: I6d3248643a7a2b1f5761833828889e3484a25a57
ziga-lunarg [Fri, 16 Sep 2022 21:07:44 +0000 (23:07 +0200)]
Fix VkPipelineRenderingCreateInfoKHR formats in dynamic rendering tests
depthAttachmentFormat must include a depth aspect and stencilAttachment
format must include a stencil aspect
Components: Vulkan
VK-GL-CTS issue: 3952
Affected tests:
dEQP-VK.dynamic_rendering.*
Change-Id: Ifbbadb4f2917fb36fef669f1fc0a0eae6d0c7802
ziga-lunarg [Sat, 17 Sep 2022 15:31:33 +0000 (17:31 +0200)]
Enable used features in present_id_wait tests
Featuers presentId and presentWait are used, but not enabled
Components: Vulkan
VK-GL-CTS issue: 3957
Affected tests:
dEQP-VK.wsi.win32.present_id_wait.*
Change-Id: Ia6e899d65c05a81876c5d46b8426425c10b657f1
ziga-lunarg [Sat, 17 Sep 2022 22:07:41 +0000 (00:07 +0200)]
Add image format support check in sparse render target tests
Check if format is supported for the test
Components: Vulkan
VK-GL-CTS issue: 3961
Affected tests:
dEQP-VK.*.suballocation.sparserendertarget.*
Change-Id: I9878d04465839ce73f9f6661e263a114c01037fb
ziga-lunarg [Fri, 23 Sep 2022 15:27:22 +0000 (17:27 +0200)]
Fix rendering flags in secondary command buffers tests
VkCommandBufferInheritanceRenderingInfo::flags must match
VkRenderingInfo::flags excluding
VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT
Components: Vulkan
VK-GL-CTS issue: 3987
Affected tests:
dEQP-VK.multiview.dynamic_rendering.secondary_cmd_buffer.*
Change-Id: I205594a88fbe7baf60146121e05b75201be9b46b
Matthew Netsch [Thu, 6 Oct 2022 19:54:16 +0000 (12:54 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I56e0faf8f022888c1d28b368d7852a83575ae57d
ziga-lunarg [Sat, 17 Sep 2022 22:29:20 +0000 (00:29 +0200)]
Check if stage is supported with subgroup size
When using required subgroup size, shader stage used must be a bit in
VkPhysicalDeviceSubgroupSizeControlProperties requiredSubgroupSizeStages
Components: Vulkan
VK-GL-CTS issue: 3962
Affected tests:
dEQP-VK.reconvergence.*
Change-Id: Ie2109b6974c4da57f19e8d321e27ccbad1298c71
Matthew Netsch [Thu, 6 Oct 2022 16:26:49 +0000 (09:26 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: Iea1e614855e2a12ab124da1dd1f24f2aaa938406
ziga-lunarg [Mon, 19 Sep 2022 21:23:16 +0000 (23:23 +0200)]
Fix dedicated allocations in split frame rendering tests
The image bound to dedicated memory must match the image from
VkMemoryDedicatedAllocateInfo
Components: Vulkan
VK-GL-CTS issue: 3971
Affected tests:
dEQP-VK.device_group.sfr_*
Change-Id: I23684ae6777d575da5eb244dfd856946ba67aa4a
ziga-lunarg [Wed, 21 Sep 2022 21:00:04 +0000 (23:00 +0200)]
Fix external memory opaque fd tests for MacOS
Components: Vulkan
VK-GL-CTS issue: 3981
Affected tests:
dEQP-VK.api.external.memory.*
Change-Id: I21a169aab047e58bc716d2aa69426b23af9295f2
ziga-lunarg [Fri, 16 Sep 2022 00:42:41 +0000 (02:42 +0200)]
Fix attachment load op in framebuffer compatible render pass tests
If image layout is VK_LAYOUT_UNDEFINED the loadOp of
VkAttachmentDescription must not be VK_ATTACHMENT_LOAD_OP_LOAD
Components: Vulkan
VK-GL-CTS issue:3948
Affected tests:
dEQP-VK.api.pipeline.renderpass.framebuffer_compatible_renderpass
Change-Id: I4b31df7fa9ca56d9c31af1326b8036f81e9d80fe
ziga-lunarg [Mon, 19 Sep 2022 17:01:59 +0000 (19:01 +0200)]
Fix errors in imageless framebuffer tests
Attachment must not be VK_ATTACHMENT_LOAD_OP_LOAD if initialLayout is
VK_IMAGE_LAYOUT_UNDEFINED
If framebuffer flags contain VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT then
image usage must include VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT
Components: Vulkan
VK-GL-CTS issue: 3969
Affected tests:
dEQP-VK.imageless_framebuffer.*
Change-Id: Ie588c547f8f55710eeffdccea94dd552dd8559a2
ziga-lunarg [Sat, 17 Sep 2022 19:25:08 +0000 (21:25 +0200)]
Use only required buffer usage bit in robustness tests
Using all bits requires additional checks for format support
Components: Vulkan
VK-GL-CTS issue: 3959
Affected tests:
dEQP-VK.robustness.*
Change-Id: I7a7c9e338b1e38a2d028f1fcffd6196bb75fa285
ziga-lunarg [Wed, 21 Sep 2022 16:45:54 +0000 (18:45 +0200)]
Fix srcStageMask in vkCmdWaitEvents in external fence tests
If event is set with vkSetEvent the srcStageMask must be
VK_PIPELINE_STAGE_HOST_BIT
Components: Vulkan
VK-GL-CTS issue: 3979
Affected tests:
dEQP-VK.api.external.fence.*
Change-Id: I9ca6fb5bdb597639cd5cb88afdbb03dde565acd8
ziga-lunarg [Wed, 21 Sep 2022 17:11:03 +0000 (19:11 +0200)]
Fix srcStageMask in vkCmdWaitEvents in secondary cmd buffers tests
If event is set with vkCmdSetEvent the srcStageMask must be
VK_PIPELINE_STAGE_HOST_BIT
Components: Vulkan
VK-GL-CTS issue: 3980
Affected tests:
dEQP-VK.api.command_buffers.secondary_execute_twice
Change-Id: Ib784e454ecf2bead488a267a069111da16ddfa8d
ziga-lunarg [Tue, 20 Sep 2022 19:49:29 +0000 (21:49 +0200)]
Fix memory allocation tests with device coherent memory
Extension VK_AMD_device_coherent_memory needs to be enabled in order ot
use VkPhysicalDeviceCoherentMemoryFeaturesAMD
Components: Vulkan
VK-GL-CTS issue: 3973
Affected tests:
dEQP-VK.memory.allocation.*
Change-Id: Ia866ab947bbd1af867f409053f830598965dea12
ziga-lunarg [Sat, 24 Sep 2022 00:25:44 +0000 (02:25 +0200)]
Fix color blend state in multisample tests
If the subpass the pipeline is created with has no color attachment the
attachmentCount of pColorBlendState must also be 0
Components: Vulkan
VK-GL-CTS issue: 3991
Affected tests:
dEQP-VK.pipeline.multisample.alpha_to_coverage_no_color_attachment.*
Change-Id: I37ca31e3114ca3e840759b118365f41b1a9565a1
ziga-lunarg [Wed, 21 Sep 2022 00:23:28 +0000 (02:23 +0200)]
Fix signal order tests timeline semaphore value
The new timeline semaphore value must be greater than the current value
of the semaphore
Components: Vulkan
VK-GL-CTS issue: 3978
Affected tests:
dEQP-VK.synchronization.signal_order.*
Change-Id: I7f1276dda7739f7817148550fd1b0782d9045849
Hyunjun Ko [Fri, 30 Sep 2022 01:02:25 +0000 (10:02 +0900)]
Add checking drawIndirectCount in conditional rendering tests.
Affects:
dEQP-VK.conditional_rendering.*_indirect_count
Components: Vulkan
VK-GL-CTS issue: 4012
Change-Id: Iad77cebba4a84833f7733a2f8041285623a000bc
ziga-lunarg [Sat, 17 Sep 2022 13:08:43 +0000 (15:08 +0200)]
Fix image barriers in image to image copy tests
The same image barriers are used twice if clearDestination is used,
the oldLayout of the second barrier does not match the current layout of
the image
Components: Vulkan
VK-GL-CTS issue: 3956
Affected tests:
dEQP-VK.api.copy_and_blit.*.image_to_image.*
Change-Id: I2623e70f3d4f0b97f9f941e4e6cb2760fd2c9d74
ziga-lunarg [Sat, 17 Sep 2022 22:40:54 +0000 (00:40 +0200)]
Fix srcStageMask in buffer_marker tests
If srcAccessMask in pipeline barrier is VK_ACCESS_TRANSFER_WRITE_BIT the
srcStageMask must be VK_PIPELINE_STAGE_TRANSFER_BIT
Components: Vulkan
VK-GL-CTS issue: 3963
Affected tests:
dEQP-VK.api.buffer_marker.compute.default_mem.*
Change-Id: I0a5957d714c4c5cb9f2855421cd78683b7b7b819
ziga-lunarg [Mon, 19 Sep 2022 00:00:02 +0000 (02:00 +0200)]
Enable features in synchrnozation tests custom device
The custom device used in synchrnonization utils does not enable any
features, but uses for example geometryShader
Components: Vulkan
VK-GL-CTS issue: 3964
Affected tests:
dEQP-VK.synchronization.*
Change-Id: Ia8f46b3e1ca519f0436f7545ef1b1a80652dbc88
ziga-lunarg [Tue, 27 Sep 2022 18:49:28 +0000 (20:49 +0200)]
Remove invalid unmatched flags test
The test is removed as it tries to perform a test case which is not
allowed by valid usage descriptions
This test was already removed from main, but not older release branches
Components: Vulkan
VK-GL-CTS issue: 3621
Removed tests:
dEQP-VK.api.device_init.create_device_queue2_unmatched_flags
Change-Id: I42c21222f7c3a066ca07b967bdde54dbb3007336
ziga-lunarg [Tue, 20 Sep 2022 23:07:56 +0000 (01:07 +0200)]
Fix barriers in synchronization2 tests
Stage VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR
is not supported with access mask VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT
or VK_ACCESS_2_INDEX_READ_BIT
Components: Vulkan
VK-GL-CTS issue: 3977
Affected tests:
dEQP-VK.synchronization2.*
Change-Id: I0c40b798e80fda98cdda49788210331a878f6bd5
ziga-lunarg [Fri, 23 Sep 2022 00:34:09 +0000 (02:34 +0200)]
Fix errors in buffer_marker tests
If srcAccessMask is VK_ACCESS_TRANSFER_WRITE_BIT the stage mask must be
VK_PIPELINE_STAGE_TRANSFER_BIT
If vkFreeDescriptors is called, the descriptor pool must have been
created with VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT
Components: Vulkan
VK-GL-CTS issue: 3984
Affected tests:
dEQP-VK.api.buffer_marker.*.default_mem.*
Change-Id: Iaec7d2a74f7d4084258206d4c96cc112c23e38f8
ziga-lunarg [Sat, 10 Sep 2022 19:39:25 +0000 (21:39 +0200)]
Fix pipeline barrier in multisample resolve tests
srcAccessMask and dstAccessMask must be supported by the pipeline stages
used in the barrier
Components: Vulkan
VK-GL-CTS issue: 3934
Affected tests:
dEQP-VK.dynamic_rendering.suballocation.multisample_resolve.*
Change-Id: Ic2d4976875c67ece548a92e236f778fe77740ef5
aitor_lunarg [Mon, 12 Sep 2022 14:17:31 +0000 (16:17 +0200)]
Fix basic dynamic rendering tests
Create pipeline with correct information for depth/stencil
and correctly inherit in secondary command buffers.
Affects:
dEQP-VK.dynamic_rendering.basic.*
Components: Vulkan
VK-GL-CTS issue: 3939
Change-Id: Ide926862c5272d7ef5cafcaf40b47e338b071edb
ziga-lunarg [Sat, 10 Sep 2022 20:26:20 +0000 (22:26 +0200)]
Fix multisample resolve tests with integer formats
If attachments use an integer format, resolveMode must be either
VK_RESOLVE_MODE_NONE or VK_RESOLVE_MODE_SAMPLED_ZERO_BIT
Components: Vulkan
VK-GL-CTS issue: 3935
Affected tests:
dEQP-VK.*.multisample_resolve.*
Change-Id: I3b410d06185a2572e4e199a23e0dffec9b457a22
ziga-lunarg [Tue, 27 Sep 2022 21:43:14 +0000 (23:43 +0200)]
Fix FSR tests with imageless framebuffers
If framebuffer is created with imageless bit then pViewFormats must
include the format used in VkAttachmentDescription
This was fixed once already, but was undone with a bad merge
Components: Vulkan
VK-GL-CTS issue: 3943
Affected tests:
dEQP-VK.fragment_shading_rate.*.basic.*
Change-Id: I40cf4c47d397a10c690708fa06a932ff13cd2db2
Matthew Netsch [Thu, 29 Sep 2022 17:20:29 +0000 (17:20 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: Ice60c62e6d9ad661427fc8fe22b55e7859552b15
Matthew Netsch [Thu, 29 Sep 2022 16:53:47 +0000 (16:53 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: Icb63b934b1b399deb129bce52cc5b91cce1def10
Graeme Leese [Mon, 12 Sep 2022 09:24:51 +0000 (10:24 +0100)]
Simplify feature checking in YCbCr tests
Components: Vulkan
VK-GL-CTS Issue: 3937
Affects: dEQP-VK.ycbcr.*
Change-Id: I55fe0172efe4e64127927a10c08cc08d741ed817
ziga-lunarg [Wed, 14 Sep 2022 00:48:53 +0000 (02:48 +0200)]
Fix FSI tests flusing non host visible memory
Test try to flush memory that does not have host visible bit
Components: Vulkan
VK-GL-CTS issue: 3944
Affected tests:
dEQP-VK.fragment_shader_interlock.*
Change-Id: If7e1294a3d01e6c1dbd1bf08d9902c476ed5a2bd
Graeme Leese [Wed, 14 Sep 2022 13:45:58 +0000 (14:45 +0100)]
Fix bad depth/stencil sync for depth_range_unrestricted
The synchronisation for the depth image was only for the late fragment
tests stage and only for writing. Since the depth test needs to read the
existing value the sync requires the READ bit and should apply at the
earliest stage that might perform the test (EARLY_FRAGMENT_TESTS, rather
than LATE_FRAGMENT_TESTS).
Component: Vulkan
Affects: dEQP-VK.pipeline.depth_range_unrestricted.*
Change-Id: I329e0f201735d0241c35f37a33379f361334f43e
Matthew Netsch [Thu, 15 Sep 2022 17:10:40 +0000 (17:10 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I596aa3ecd9c4fb713c76e19a9e7d753909f13f67
Iago Toral Quiroga [Wed, 31 Aug 2022 10:40:58 +0000 (12:40 +0200)]
lower local size for some amber KHR_workgroup_memory_explicit_layout tests
Some of these tests use a local size that exceeds the minimum requirement
in the spec and don't check whether the implementation supports it.
Rewrite the tests to use the minimum limit required by the spec for
maxComputeWorkGroupInvocations, which is 128, so that the test can
run on any implementation.
VK-GL-CTS issue: 3913
Components: Vulkan
Affects:
dEQP-VK.compute.workgroup_memory_explicit_layout.copy_memory.*
dEQP-VK.compute.workgroup_memory_explicit_layout.zero_ext.*
Change-Id: I4e8135d8d60e044f92ed5c53648fda24f067edc0
Matthew Netsch [Thu, 15 Sep 2022 16:43:57 +0000 (16:43 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: I69b15479584e309ff31e12b315aeb42b01410e61
ziga-lunarg [Fri, 2 Sep 2022 21:45:58 +0000 (23:45 +0200)]
Fix using device coherent memory without enabling the feature
Components: Vulkan
VK-GL-CTS issue: 3921
Affected tests:
dEQP-VK.memory.allocation.*
Change-Id: I4eb9e1ab6f22487573bfe14affa75396962145c8
Matthew Netsch [Thu, 8 Sep 2022 14:00:27 +0000 (07:00 -0700)]
Fix modifier tests - Add Invalidate memory before host read.
After performing copyImagetoBuffer buffers no invalidation was given
before reading from host. Add the invalidate operation for buffer
before reading.
Components: Vulkan
VK-GL-CTS Issue: 3929
Affected tests:
dEQP-VK.transform_feedback.simple.*
Change-Id: I57dd4d65e9894e85f7d0c5adc4682f45e046bc02
Peter Kasting [Thu, 8 Sep 2022 19:00:54 +0000 (19:00 +0000)]
Fix build in C++20 mode.
* Compound assignments to volatiles are deprecated. Use non-compound
forms.
* Math between disparate enums is deprecated. Use constexprs.
* The full definition of a type T must be visible for code that
instantiates std::vector<T>. Reorder code to guarantee this.
Components: Framework
Bug: chromium:1284275
Change-Id: I75a99b5c09cc911f2312aabe85f49aadff84dc51
Matthew Netsch [Thu, 8 Sep 2022 17:03:16 +0000 (17:03 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I58b46f7b755b5f731d3865d16b2e248eb0653501
Matthew Netsch [Thu, 8 Sep 2022 16:36:32 +0000 (16:36 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: Idcb4f9a2cb008e61fcfcd45aaed0e31be4cf8e1b
Hyunjun Ko [Fri, 2 Sep 2022 05:27:33 +0000 (14:27 +0900)]
Fix wrong calculation to check diff between floats.
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.*
Components: Vulkan
VK-GL-CTS issue: 3916
Change-Id: I05d2b7375c0bd34b6b7fffabbfe52969009ea218
Chad Versace [Thu, 25 Aug 2022 20:27:53 +0000 (13:27 -0700)]
VK_EXT_pipeline_creation_feedback: Invalid feedback is legal
The tests incorrectly required that
VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT be set in
VkPipelineCreationFeedbackCreateInfo::pPipelineCreationFeedback.
However, the tests already and correctly permit the bit to be unset in
VkPipelineCreationFeedbackCreateInfo::pPipelineStageCreationFeedbacks.
The Vulkan 1.3.225 spec says:
An implementation should write pipeline creation feedback to
pPipelineCreationFeedback and may write pipeline stage creation
feedback to pPipelineStageCreationFeedbacks. An implementation must
set or clear the VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT in
VkPipelineCreationFeedback::flags for pPipelineCreationFeedback and
every element of pPipelineStageCreationFeedbacks.
Components: Vulkan
VK-GL-CTS Issue: 3912
Affects:
dEQP-VK.pipeline.creation_feedback.*
Signed-off-by: Chad Versace <chadversary@google.com>
Change-Id: I4eb37b5888a4d780b4b0b12f9c65960aca9f7806
Andreas Flöjt [Tue, 14 Jun 2022 13:07:46 +0000 (15:07 +0200)]
Stay within the minimum required limit for maxUniformBufferRange
The biggest one was i64vec4 which consumed 128kB. Now it fits within the
16384 byte minimum supported buffer range.
Affects:
dEQP-VK.robustness.buffer_access.vertex.*
dEQP-VK.robustness.buffer_access.fragment.*
dEQP-VK.robustness.buffer_access.compute.*
Components: Vulkan
VK-GL-CTS issue: 3776
Change-Id: Ib71dce12a346bce79a9b719e227cd6ddfb0d64b6
Matthew Netsch [Fri, 2 Sep 2022 23:26:36 +0000 (23:26 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: If2412675c25225c696d61dec802d76ed8001180e
Sławomir Cygan [Mon, 22 Aug 2022 12:52:59 +0000 (14:52 +0200)]
Fix unsupported condition in memory requirements test
This fixes parantheses to not require VK_KHR_sampler_ycbcr_conversion
extension for non-YCbCr formats
VK-GL-CTS Issue: 3902
Affects: dEQP-VK.memory.requirements.*
Components: Vulkan
Change-Id: I17c58fb1f085e7d32dea9aceb2b9e421990499a5
Piotr Byszewski [Thu, 21 Jul 2022 10:23:03 +0000 (12:23 +0200)]
Fix device_memory_report test
allocation_failed test for VK_EXT_device_memory_report attempts to
allocate UINT64_MAX bytes of memory in order to deliberately trigger
an allocation failure. However, vkAllocateMemory also has VU in which
allocationSize must be less than or equal to
VkPhysicalDeviceMemoryProperties::memoryHeaps[memindex].size .
VK-GL-CTS issue: 3775
Components: Vulkan
Affects:
dEQP-VK.memory.device_memory_report.vk_device_memory.allocation_failed
Change-Id: I0b9db1beb1e7b01d369d5ee6bbfb93c2eb3e1c97
Marcin Kańtoch [Tue, 26 Jul 2022 15:25:41 +0000 (17:25 +0200)]
Fix undefined behaviour by allowing NaNs
One graphicsfuzz test contains computations with the float constant 0x1.8p+128.
This constant represents a NaN value. The computation with undef in the test
allows any optimization/triggers undefined behavior and the driver is free
to crash. Adding OpExecutionMode %4 SignedZeroInfNanPreserve 32 to the CTS fixes
this by allowing NaNs.
Affects:
dEQP-VK.graphicsfuzz.cov-instruction-simplify-atanh-log-undefined
Components: Vulkan
VK-GL-CTS issue: 3787
Change-Id: I2442bc4f50add8b8f779dbfae3c5fe2be8fd85f4
Matthew Netsch [Thu, 1 Sep 2022 23:48:42 +0000 (16:48 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: Id9e93b66b2242c3b789e5742b84432c1ba8b355e
Aitor Camacho [Tue, 30 Aug 2022 15:40:50 +0000 (17:40 +0200)]
Remove non-compliant event wait test
Removed tests:
dEQP-VK.api.command_buffers.record_simul_use_primary
dEQP-VK.api.command_buffers.record_simul_use_secondary
Components: Vulkan
VK-GL-CTS issue: 3432
Change-Id: I297b53dcee56bec69e3abd3693639f64e462a574
Ilkka Saarelainen [Thu, 2 Dec 2021 05:45:44 +0000 (07:45 +0200)]
Rework platform memory limits
Some OpenGL tests in openglcts and kc_cts used Vulkan platform class to
get the available system / device memory. The memory limits are not
Vulkan related.
This CL moves the getMemoryLimits function to the base class of all
platforms, so the functions can be accessed from openglcts without
referencing any Vulkan files.
Affects:
dEQP-VK.info.memory_limits
dEQP-VK.api.buffer.suballocation.*
dEQP-VK.api.buffer.dedicated_alloc.*
dEQP-VK.api.object_management.*
dEQP-VK.memory.allocation.*
dEQP-VK.memory.device_group_allocation.*
dEQP-VK.pipeline.render_to_image.*.small.*
dEQP-VK.pipeline.render_to_image.*.huge.*
KHR-GL4*.shader_image_load_store.advanced-*
Components:
Vulkan, OpenGL, Framework
VK-GL-CTS issue: 3360
Change-Id: I0743a83148c946d962fd793c8771f2c3c2e33ecc
Chad Versace [Thu, 25 Aug 2022 22:19:54 +0000 (15:19 -0700)]
VK_EXT_pipeline_creation_feedback: Add indentation
No change in behavior.
Add an indentation level to some code. This prepares for the next
commit, making its diff understandable.
Components: Vulkan
Change-Id: I31e5f706ca6f05b42682a862c740bc4953a91f9b
Matthew Netsch [Thu, 25 Aug 2022 17:04:58 +0000 (17:04 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I17c7fc7a6c0dde2555e90873105027b0f26e94ad
Matthew Netsch [Thu, 25 Aug 2022 16:37:33 +0000 (16:37 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: Ia1e9c64b9149680d40e6c2deff9e64725c227439
Hyunjun Ko [Mon, 22 Aug 2022 06:55:24 +0000 (15:55 +0900)]
Improve the error message when storing uncomressed images fails.
It's been ambiguous since the output doesn't have any information when
storing an uncompressed image fails.
Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.*
Components: Vulkan
VK-GL-CTS issue: 3897
Change-Id: I923efb15a9927c87c581dc3c96115b5d6c0b2580
Graeme Leese [Thu, 18 Aug 2022 14:33:53 +0000 (15:33 +0100)]
Fix loop continue construct for SPIR-V assembly
The multi-block continue construct tests were setting the continue
target to the loop header itself, which is not valid according to the
new structural dominance rules. Set it to the first block inside the
loop instead, which still gives a multi-block continue construct but
also follows the validation rules.
Components: Vulkan
VK-GL-CTS issue: 3896
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.loop.multi_block_continue_construct_*
Change-Id: I7480f6107696ec8587625bfa110aa7478308512f
Graeme Leese [Thu, 18 Aug 2022 11:36:28 +0000 (12:36 +0100)]
Fix SPIRV validation for decoration tests
The decoration matching tests were incorrectly using Flat and
NoPerspective decoration on vertex inputs. The validator has been
updated to catch these errors, so the tests now cause an InternalError.
Compoennts: Vulkan
VK-GL-CTS issue: 3895
Affects: dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.flat
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.no_perspective
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.flat
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.no_perspective
Change-Id: I818868ca87d15d068430e9721204be620b28e225
Arkadiusz Sarwa [Tue, 23 Aug 2022 15:08:55 +0000 (17:08 +0200)]
Fix barrier VK_AMD_buffer_marker
Affected tests:
dEQP-VK.api.buffer_marker.*
Components: Vulkan
VK-GL-CTS issue: 3854
Change-Id: Ia65c7ec44db3019125012b7d7e2d1b65e0f942f6
ziga-lunarg [Thu, 4 Aug 2022 01:20:33 +0000 (03:20 +0200)]
Use correct render target format in YCbCr view tests
For render target use the same format type as plane
compatibility format
Components: Vulkan
VK-GL-CTS issue: 3601
Affected tests:
dEQP-VK.ycbcr.plane_view.image_view.*
Change-Id: I7f03c90069b21a6ea84c6ee9d6d85c31cee3e3ad
Matthew Netsch [Thu, 18 Aug 2022 17:53:46 +0000 (17:53 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: Ie4a4557846994113b7ebf52e35851c0547faf815
Matthew Netsch [Thu, 18 Aug 2022 17:27:14 +0000 (17:27 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: Id059134a7e90b7b6c1c35ad9955ec1bc994db896
yaozhong.zhang [Thu, 4 Aug 2022 10:59:54 +0000 (18:59 +0800)]
Correct the image barrier in ray tracing test
When running the ray tracing pipeline CPU build tests, the image
barrier is not actually used, as no acceleration structure commands
are recorded. On the other hand, the image is used by trace ray
command, instead of building acceleration structure. So, change the
barrier for trace ray command.
Affects:
dEQP-VK.ray_tracing_pipeline.build.*
Components: Vulkan
VK-GL-CTS issue: 3874
Change-Id: Ie70fd57fe9f81952dff21f670a194244856c3d3b
Hyunjun Ko [Tue, 16 Aug 2022 09:34:12 +0000 (18:34 +0900)]
Fix undefined behaviour by bit-shifting with negative value.
When getTextureFormatMantissaBitDepth returns 0 for the non-existent channels,
it leads to 1u << (0u - 1u), that is undefined behaviour, especially
leads to unexpected results on arm64.
Affects:
dEQP-VK.image.store.*
dEQP-VK.image.load_store.*
dEQP-VK.image.format_reinterpret.*
Components: Vulkan
VK-GL-CTS issue: 3888
Change-Id: I669eebb1f78c78dc89fb456e71f2ca0af3b66836