platform/upstream/VK-GL-CTS.git
16 months agoRemove invalid separate_layouts tests on older branches
ziga-lunarg [Fri, 16 Dec 2022 16:31:54 +0000 (17:31 +0100)]
Remove invalid separate_layouts tests on older branches

These tests were fixed, but only on 1.3.2 newer, they should be removed
on older branches

Components: Vulkan

VK-GL-CTS issue: 3527

Removed tests:
dEQP-VK.renderpass2.depth_stencil_resolve.*separate_layouts.*

Change-Id: I467ea14cc5c2eb26723cc9e2453ea5a11a1556b9

17 months agoFix 2d image views in fragment shading rate tests
ziga-lunarg [Sat, 19 Nov 2022 22:46:51 +0000 (23:46 +0100)]
Fix 2d image views in fragment shading rate tests

If viewType is VK_IMAGE_VIEW_TYPE_2D then subresourceRange.layerCount
must be 1

Components: Vulkan

VK-GL-CTS issue: 4124

Affected tests:
dEQP-VK.fragment_shading_rate.*

Change-Id: I32db55ce0785a2d91c391625bfed312d5e7371f0

17 months agoFix errors in sparse resources tests
ziga-lunarg [Sat, 19 Nov 2022 13:02:59 +0000 (14:02 +0100)]
Fix errors in sparse resources tests

VK_EXT_shader_image_atomic_int64 extension must be enabled on the device
if used
Feature structs from non-enabled extensions must not be passed to
VkDeviceCreateInfo pNext
Checks if image formats are supported are missing

Components: Vulkan

VK-GL-CTS issue: 4122

Affected tests:
dEQP-VK.sparse_resources.shader_intrinsics.*

Change-Id: I4fcac8eae1d53826d5ef5f8a7dcc04bfe95f7360

17 months agoFix subpass dependency dstStageMask in shader_fragment_mask tests
ziga-lunarg [Fri, 18 Nov 2022 18:49:35 +0000 (19:49 +0100)]
Fix subpass dependency dstStageMask in shader_fragment_mask tests

Stage VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUT_BIT must be included if
access mask is VK_ACCESS_COLOR_ATTACHMENT_READ_BIT

Components: Vulkan

VK-GL-CTS issue: 4120

Affected tests:
dEQP-VK.pipeline.*.shader_fragment_mask.*

Change-Id: Iea2a62ff5781c50ad39d707a8eb0f1f4ce344f48

17 months agoSet correct pipeline barrier between clear image and trace ray
Yun Shu [Mon, 5 Dec 2022 08:20:43 +0000 (16:20 +0800)]
Set correct pipeline barrier between clear image and trace ray

The image is cleared with fixed value, then used as write destination
in ray tracing shaders. The pipeline barrier set for the image is
incorrect between clear command and trace ray command.

Affects:

dEQP-VK.ray_tracing_pipeline.large_shader_set.*

Components: Vulkan

VK-GL-CTS issue: 4137

Change-Id: I41dd55d51ea995c4c878e053f6d617b2e38ba5b1

17 months agoAdd check for the return value of vkGetPhysicalDeviceImageFormatProperties2
Amber [Mon, 21 Nov 2022 10:54:07 +0000 (11:54 +0100)]
Add check for the return value of vkGetPhysicalDeviceImageFormatProperties2

Also do not attempt to create images for depth/stencil usage using color formats.

Components: Vulkan

VK-GL-CTS issue: 4125

Affected tests:
dEQP-VK.api.external.memory.dma_buf.suballocated.image.info

Change-Id: If1f41b967d03f1b862c85277d6fe30b20ab1a110

18 months agoWrite gl_PointSize in depth tests
ziga-lunarg [Sun, 4 Dec 2022 20:48:26 +0000 (21:48 +0100)]
Write gl_PointSize in depth tests

Some depth tests use VK_PRIMITIVE_TOPOLOGY_POINT_LIST but the shaders
don't write the point size

Components: Vulkan

VK-GL-CTS issue: 4153

Affected tests:
dEQP-VK.pipeline.*.depth.*

Change-Id: Idaa9ea65f7c43ca02d7780d1825d4558b712a133

18 months agoAdd check if format is supported in external memory host tests
ziga-lunarg [Mon, 5 Dec 2022 15:34:50 +0000 (16:34 +0100)]
Add check if format is supported in external memory host tests

Format properties for format used for color attachment must contain
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT

Components: Vulkan

VK-GL-CTS issue: 4156

Affected tests:
dEQP-VK.memory.external_memory_host.bind_image_memory_and_render.*

Change-Id: Ib0346cbc849b94a5af67e5645cc057ca392f9b2f

18 months agoFix invalid framebuffer in compressed texture 3D tests
ziga-lunarg [Fri, 18 Nov 2022 18:11:56 +0000 (19:11 +0100)]
Fix invalid framebuffer in compressed texture 3D tests

Framebuffer attachments must be created with viewType not equal to
VK_IMAGE_VIEW_TYPE_3D

Components: Vulkan

VK-GL-CTS issue: 4118

Affected tests:
dEQP-VK.texture.compressed_3D.*

Change-Id: I9ae036d02daa3579567bf514c70bf623a0bc9aa9

18 months agoFix flushing memory range in memory model shared tests
ziga-lunarg [Sat, 19 Nov 2022 19:06:44 +0000 (20:06 +0100)]
Fix flushing memory range in memory model shared tests

Each size of pMemRanges in vkFlushMappedMemoryRanges must be either a
multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize or equal to the
size of memory

Components: Vulkan

VK-GL-CTS issue: 4123

Affected tests:
dEQP-VK.memory_model.shared.*

Change-Id: I0f3ea96736aa73eb92c7809c04297923d84e348c

18 months agoFix invalid usage of descriptorCount for inline uniform
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

18 months agoFix for 16 to 8-bit storage spirv_assembly tests
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

18 months agoFix failed memory map check for reconvergence tests
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

18 months agoLimit number of concurrent query pools
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

18 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

18 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

18 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

18 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

18 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

18 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

18 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

18 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

18 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

19 months 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

19 months 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

19 months 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

19 months 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)

19 months 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

19 months 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

19 months 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

19 months 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

19 months 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

19 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

20 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

21 months 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

22 months 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

22 months 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

22 months 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

22 months agoFix partial heap usage in protected_memory android swapchain tests
Chris Hambacher [Thu, 21 Jul 2022 18:28:01 +0000 (13:28 -0500)]
Fix partial heap usage in protected_memory android swapchain tests

On devices with small amounts of protected memory, limitting usage to
25% of the total protected memory causes tests to be skipped. Tweak
to allow for full usage of the protected heap.

Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.min_image_count
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.image_format
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.image_extent

Components: Vulkan

VK-GL-CTS Issue: 3296

Change-Id: I43c1cfc8d0e44d401952317158829f1a2da241a1

22 months agoHandle latest Wayland version
Piotr Byszewski [Tue, 19 Jul 2022 10:48:15 +0000 (12:48 +0200)]
Handle latest Wayland version

CTS used a deprecated protocol wl_shell, which has been replaced
in Ubuntu 22.04 by xdg-shell. This change replaces all wl_shell
calls with corresponding xdg-shell calls.
Note that xdg-shell is a protocol and in wayland-protocols repository
we have only xml that defines this protocol. wayland-scanner tool is
used to generate the .h and .c files in build directory.

VK-GL-CTS issue: 3774

Components: Vulkan

Affects:
*
dEQP-VK.image.swapchain_mutable.wayland*
dEQP-VK.wsi.wayland.swapchain.*
dEQP-VK.wsi.wayland.incremental_present.*

Change-Id: I44879d9eb072dbfa5e172eaac81968e65e8a276c

22 months agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 28 Jul 2022 18:02:44 +0000 (18:02 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I467ac13c25862ebfd2f1844e9e6574796cdc3f66

22 months agoFix barrier VK_AMD_buffer_marker tests
Arkadiusz Sarwa [Tue, 26 Jul 2022 14:48:51 +0000 (16:48 +0200)]
Fix barrier VK_AMD_buffer_marker tests

Affected tests:
dEQP-VK.api.buffer_marker.*

Components: Vulkan
VK-GL-CTS issue: 3854

Change-Id: I92571c00f1392652684ece1d4bbfb8122367e3ce

22 months agoFix for different values of subTexelPrecisionBits.
michal_jakubek [Wed, 6 Jul 2022 04:17:26 +0000 (06:17 +0200)]
Fix for different values of subTexelPrecisionBits.

Affects: dEQP-VK.texture.conversion.snorm_clamp_linear.*

Components: Vulkan

VK-GL-CTS issue: 3724

Change-Id: I5ec839ea8169aa5749f6ff9e7b80298a475d6207

22 months agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 21 Jul 2022 15:45:40 +0000 (15:45 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I25a2d0cdd0a876568dede576e384d9ff8d1b93ea

22 months agoBackport CMake library change from master
Graeme Leese [Mon, 6 Jun 2022 14:00:35 +0000 (15:00 +0100)]
Backport CMake library change from master

Following the VKSC update the syntax used for CMake link libraries
includes a visibility specifier. Because CMake requires that all uses of
this command on a single target are consistent (either all with or all
without the specifier), having this mismatch between main and the
release branches creates an integration problem, so this backports that
part of the change. The qualifier added here is both the value used in
later changes and the default if nothing is specified, so the effect of
this change should be minimal.

Components: All (CMake build only)

Change-Id: I1c7e850d52de3cc0493a47bf36ad35bd55b05184

22 months agoFix imprecise occlusion query inheritance tests
Jeff Bolz [Fri, 15 Jul 2022 15:47:38 +0000 (10:47 -0500)]
Fix imprecise occlusion query inheritance tests

Out of the four combinations of {precise query, imprecise query} X
{precise inheritance info, imprecise inheritance info}, three
combinations are valid under VUID-vkCmdExecuteCommands-commandBuffer-00103.
The two test cases that were supposed to use imprecise queries were
using precise.

Affects: dEQP-VK.api.command_buffers.record_query_imprecise*

Components: Vulkan
Change-Id: Idc8ceb2cf2d978c24c60c36ffa3406d9d16b55e6

22 months agoFix invalid usage in descriptor_indexing.input_attachment tests
Jeff Bolz [Tue, 19 Jul 2022 13:59:55 +0000 (08:59 -0500)]
Fix invalid usage in descriptor_indexing.input_attachment tests

Input attachments are only supported in the fragment stage. Tweak the
descriptorbinding's stageFlags to follow this rule.

Affects: dEQP-VK.descriptor_indexing.*

Components: Vulkan, VulkanSC

VK-GL-CTS Issue: 3840

Change-Id: Id6a2fac8563bfb8a83b71cc9dd0428fe9e3c46a6

22 months agoFix missing support check in rtp test
Yifan Dai [Mon, 20 Jun 2022 11:29:19 +0000 (19:29 +0800)]
Fix missing support check in rtp test

The binding descriptor AS tests for rtp stage missed support check
when maxRayRecursionDepth equals 1

Affects:
dEQP-VK.binding_model.descriptor_update.acceleration_structure.
ray_tracing*

Components: vulkan

VK-GL-CTS issue: 3700

Change-Id: I8f2886aa60de2855799b43c27a853e903955f422

22 months agoFix image feature checking in YCbCr view tests
Graeme Leese [Fri, 24 Jun 2022 14:02:19 +0000 (15:02 +0100)]
Fix image feature checking in YCbCr view tests

The tests were using midpoint chroma sampling without checking for
support.

Components: Vulkan
VK-GL-CTS issue: 3601
Affects: dEQP-VK.ycbcr.plane_view.*

Change-Id: Iffd248b40c8d3c71cb2be28ad4fe7457bad25fa9

22 months agoFix control flow in SPIR-V test cases
Alan Baker [Mon, 13 Jun 2022 13:06:25 +0000 (09:06 -0400)]
Fix control flow in SPIR-V test cases

Adapts three graphicsfuzz test cases to reflect changes in the SPIR-V
specification that tighten the rules for structured control flow.

Component: Vulkan

VK-GL-CTS Issue: 3612, 3613, 3615

Affected tests:
dEQP-VK.graphicsfuzz.control-flow-switch
dEQP-VK.graphicsfuzz.cov-dead-branch-func-return-arg
dEQP-VK.graphicsfuzz.nested-for-loops-with-return

Change-Id: I3b581dcdc685717421c7c7a7299bf378b3cc3b01