platform/upstream/VK-GL-CTS.git
23 months agoFix stencilAttachmentFormat in inverted depth ranges tests
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

23 months agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

23 months agoFix viewport width in FSR with multiviewport tests
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

23 months agoFix image barrier oldLayout in timeline semaphore tests
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

23 months agoFix barrier in ray tracing pipeline build tests
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

23 months agoFix pMutableDescriptorTypeLists in mutable descriptor tests
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

23 months agoFix to reset dynamicDenstiyMap after dynamic subsampled tets done.
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

23 months agoFix flush memory range in ssbo corner case tests
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

23 months agoFix flush memory range in robustness vertex access tests
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

23 months agoAdd shader image atomic int64 extension if used when creating device
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

23 months agoFix attachment description in explicit vertex parameter tests
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

2 years agoFix loadOp in imageless framebuffer test
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

2 years agoChoose optimal tiling with dmabuf in synchronization tests.
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

2 years agoFix cull distance tests without fragment shader read
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

2 years agoFixes zlib dependency
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)

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

2 years agoFix winding issue in watertightness tests
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

2 years agoRemove tests using invalid sType
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

2 years agoFix synchronization.cross_instance TEMPORARY permanence
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

2 years agoFix subpass dependency in geometry layered tests
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

2 years agoFix color blend state in pipeline stencil tests
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

2 years agoCheck if buffer size is multiple of nonCoherentAtomSize
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

2 years agoAdd missing buffer features check in image store tests
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

2 years agoFix resetting command buffer in ray tracing tests
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

2 years agoFix ds attachment formats in dynamic rendering with inheritance
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

2 years agoFix VkPipelineRenderingCreateInfoKHR formats in dynamic rendering tests
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

2 years agoEnable used features in present_id_wait tests
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

2 years agoAdd image format support check in sparse render target tests
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

2 years agoFix rendering flags in secondary command buffers tests
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

2 years agoCheck if stage is supported with subgroup size
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
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

2 years agoFix dedicated allocations in split frame rendering tests
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

2 years agoFix external memory opaque fd tests for MacOS
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

2 years agoFix attachment load op in framebuffer compatible render pass tests
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

2 years agoFix errors in imageless framebuffer tests
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

2 years agoUse only required buffer usage bit in robustness tests
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

2 years agoFix srcStageMask in vkCmdWaitEvents in external fence tests
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

2 years agoFix srcStageMask in vkCmdWaitEvents in secondary cmd buffers tests
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

2 years agoFix memory allocation tests with device coherent memory
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

2 years agoFix color blend state in multisample tests
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

2 years agoFix signal order tests timeline semaphore value
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

2 years agoAdd checking drawIndirectCount in conditional rendering tests.
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

2 years agoFix image barriers in image to image copy tests
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

2 years agoFix srcStageMask in buffer_marker tests
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

2 years agoEnable features in synchrnozation tests custom device
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

2 years agoRemove invalid unmatched flags test
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

2 years agoFix barriers in synchronization2 tests
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

2 years agoFix errors in buffer_marker tests
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

2 years agoFix pipeline barrier in multisample resolve tests
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

2 years agoFix basic dynamic rendering tests
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

2 years agoFix multisample resolve tests with integer formats
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

2 years agoFix FSR tests with imageless framebuffers
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
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

2 years agoSimplify feature checking in YCbCr tests
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

2 years agoFix FSI tests flusing non host visible memory
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

2 years agoFix bad depth/stencil sync for depth_range_unrestricted
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

2 years agolower local size for some amber KHR_workgroup_memory_explicit_layout tests
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
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

2 years agoFix using device coherent memory without enabling the feature
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

2 years agoFix modifier tests - Add Invalidate memory before host read.
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

2 years agoFix build in C++20 mode.
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
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

2 years agoFix wrong calculation to check diff between floats.
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

2 years agoVK_EXT_pipeline_creation_feedback: Invalid feedback is legal
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

2 years agoStay within the minimum required limit for maxUniformBufferRange
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

2 years agoFix unsupported condition in memory requirements test
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

2 years agoFix device_memory_report test
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

2 years agoFix undefined behaviour by allowing NaNs
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
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

2 years agoRemove non-compliant event wait test
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

2 years agoRework platform memory limits
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

2 years agoVK_EXT_pipeline_creation_feedback: Add indentation
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
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

2 years agoImprove the error message when storing uncomressed images fails.
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

2 years agoFix loop continue construct for SPIR-V assembly
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

2 years agoFix SPIRV validation for decoration tests
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

2 years agoFix barrier VK_AMD_buffer_marker
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

2 years agoUse correct render target format in YCbCr view tests
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
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

2 years agoCorrect the image barrier in ray tracing test
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

2 years agoFix undefined behaviour by bit-shifting with negative value.
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

2 years agoDisable interval watchdog for sets32 in vktBindingDescriptorSetRandomTests
Yiwei Zhang [Thu, 4 Aug 2022 18:38:51 +0000 (18:38 +0000)]
Disable interval watchdog for sets32 in vktBindingDescriptorSetRandomTests

There're certain sets32 tests doing super long shader compilations.To be
noted that the re-enablement is placed after fence waiting to favor
virtualization drivers that making asynchronous pipeline creation calls
to the host. The long blocking shader compilation will show up upon
guest waiting for the fence to signal.

Affects: dEQP-VK.binding_model.descriptorset_random.sets32.*

Components: Vulkan

VK-GL-CTS issue: 3878

Change-Id: Id25378e9546950bed463f1f278c6859306e0e0d8

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Thu, 11 Aug 2022 16:45:57 +0000 (16:45 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I1c0a72196ea1fe9774e494d1b4dd204931e433a9

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 11 Aug 2022 16:19:15 +0000 (16:19 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I77d7ce7559662f59a9a0eee5d2734171421c9e1e

2 years agoFix physical_device_groups custom instance usage
Ricardo Garcia [Thu, 4 Aug 2022 15:43:33 +0000 (17:43 +0200)]
Fix physical_device_groups custom instance usage

The test is using a custom instance but misusing the default instance in
some API calls and expecting some consistency in the results.

In addition, the custom instance was not correctly collecting validation
error messages and some VkPhysicalDeviceGroupProperties structures were
not setting the sType as expected.

Affects:
dEQP-VK.info.physical_device_groups

Components: Vulkan
VK-GL-CTS issue: 3876

Change-Id: I3900723034bddb2dee0aaaab549cc6d362b1339e

2 years agoFix memory barrier for alias sparse memory
Pan Gao [Wed, 3 Aug 2022 12:48:18 +0000 (20:48 +0800)]
Fix memory barrier for alias sparse memory

Memory read/write order through different views that are aliased
need to be handled in application. Otherwise, implementation may
give undefined results.

Affects:
dEQP-VK.sparse_resources.image_sparse_memory_aliasing.*

Components: Vulkan

VK-GL-CTS issue: 3709

Change-Id: I8739aeeaf05103942158451196480734f62ab835

2 years agoRevert "Fix undefined behaviour by allowing NaNs"
Matthew Netsch [Wed, 10 Aug 2022 15:58:15 +0000 (15:58 +0000)]
Revert "Fix undefined behaviour by allowing NaNs"

This reverts commit 8b95b2a1da75ca3dc3a2cfac98ce10d9a699687e.

Reason for revert: Amber verify failures on main

Components: Vulkan
VK-GL-CTS Issue: 3787

Affects:
dEQP-VK.graphicsfuzz.cov-instruction-simplify-atanh-log-undefined

Change-Id: Ifdf1a47a32091182fa51353748ffcf4eeab92d51

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Thu, 4 Aug 2022 16:21:38 +0000 (16:21 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I4d02b59e782c15f9add2d29da2eaa960847e1d93

2 years agoFix undefined behaviour by allowing NaNs
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: Id7140deddec240fdc5d9b1712c974199fa06b250

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 4 Aug 2022 15:54:42 +0000 (15:54 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I2adb1c6a23f05f9b1bc09a86852a39d3aa12ceaf

2 years agoFix Api version check with loaders
Matthew Netsch [Fri, 29 Jul 2022 17:43:14 +0000 (10:43 -0700)]
Fix Api version check with loaders

Loaders return instance version that they support,
which may be greater than version ICDs support.

Change version check to use device version instead
of instance version for the purposes of verifying if
this version of CTS is legal to be used with the ICD.

Components: Vulkan
VK-GL-CTS Issue: 3863

Affects:
* dEQP-VK.api.version_check.version

Change-Id: I57e9a4aeee0ebda3fee1396c780d03941959ba6f