platform/upstream/VK-GL-CTS.git
2 years agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
Matthew Netsch [Thu, 28 Jul 2022 20:28:03 +0000 (20:28 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3

Change-Id: Ide2d2e48acbd9485050376f1d3a7b9f85733533e

2 years agoAvoid using empty descriptor set layouts with libraries
Ricardo Garcia [Wed, 20 Jul 2022 09:57:38 +0000 (11:57 +0200)]
Avoid using empty descriptor set layouts with libraries

When creating pipeline libraries, the different pipeline layouts need to
be combined on a union of pipeline layouts, and sets not used for a
particular library can be VK_NULL_HANDLE when those pipeline layouts are
created with VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT.

Some of the pipeline library tests are using empty descriptor sets
instead of null handles for this case, breaking some drivers.

Affected tests:
dEQP-VK.pipeline.pipeline_library.graphics_library.*

VK-GL-CTS issue: 3584
Components: Vulkan

Change-Id: I6ee66f5d350bf586ac680f222ac5e426cb36a2e5

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Matthew Netsch [Thu, 28 Jul 2022 19:55:59 +0000 (19:55 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: I55ea5df83f5be721690df56e52a32c9281761077

2 years agoAdd missing required extension in pageable allocation tests
ziga-lunarg [Mon, 20 Jun 2022 16:21:43 +0000 (18:21 +0200)]
Add missing required extension in pageable allocation tests

Extension VK_EXT_pageable_device_local_memory requires
VK_EXT_memory_priority

Components: Vulkan

VK-GL-CTS issue: 3783

Affects:
dEQP-VK.memory.pageable_allocation.*

Change-Id: Ib29a5d908549d64342dc186c19ce533dec953d3f

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Thu, 28 Jul 2022 19:31:30 +0000 (19:31 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I501ed2d53ae848c8c6fcf0f674cdb4d28202a04d

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Thu, 28 Jul 2022 18:59:20 +0000 (18:59 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: I9d6e9415440bdafefb45374e021e47041dd4e237

2 years agoRe-enable fence, event, barrier, and binary semaphore tests when timeline semaphores...
Aidan Fabius [Mon, 25 Jul 2022 15:34:52 +0000 (11:34 -0400)]
Re-enable fence, event, barrier, and binary semaphore tests when timeline semaphores aren't supported

Components: Vulkan

VK-GL-CTS issue: 3847

Affects:
dEQP-VKSC.synchronization.op.*
dEQP-VKSC.synchronization2.op.*
dEQP-VK.synchronization.op.*
dEQP-VK.synchronization2.op.*

Change-Id: I95a0073b291f9288dcd2efae4a3302b3c98558a3

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Thu, 28 Jul 2022 18:29:57 +0000 (18:29 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I1353fd5c9aef95c5f0b776ffbd3bf5a1c252c0f1

2 years 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

2 years 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

2 years 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

2 years agoUpdate known conformance version for 1.3.3.1
Matthew Netsch [Fri, 22 Jul 2022 18:21:20 +0000 (11:21 -0700)]
Update known conformance version for 1.3.3.1

Components: Vulkan, Framework

Affects:
dEQP-VK.api.driver_properties.conformance_version

Change-Id: I568ff655a7f279b5bad52dd2af13ddb9d5d55b12

2 years agoVKSC issues in api modules
Marcin Zając [Fri, 27 May 2022 13:54:27 +0000 (15:54 +0200)]
VKSC issues in api modules

VKSC related issues discovered transfer operations

Components: Vulkan

VK-GL-CTS issue: 3699

Affects:
dEQP-VKSC.api.copy_and_blit.*
dEQP-VK.api.copy_and_blit.*

Change-Id: I40bb0e9cf7b5a3fde30b32cd2ef7b79dabd66aae

2 years agoFix expected validation for image compression control tests.
Vidar Lilleboe [Tue, 5 Jul 2022 12:30:36 +0000 (14:30 +0200)]
Fix expected validation for image compression control tests.

Disabled bit is not required when quering supported modes.

Affects:
dEQP-VK.api.image_compression_control.*

Components: Vulkan
VK-GL-CTS issue: 3799

Change-Id: I33d118614083fc58ea453565f9f25d10875cdf8d

2 years agoFix Linux build due to VK_EXT_metal_objects types
Ricardo Garcia [Tue, 12 Jul 2022 12:05:34 +0000 (14:05 +0200)]
Fix Linux build due to VK_EXT_metal_objects types

This commit adds new platform-specific types to the framework-generation
script so CTS code compiles again on Linux and other platforms.

No tests are affected by these changes.

Components: Vulkan
VK-GL-CTS issue: 3813

Change-Id: Id27dec6a07d78802b2a84ae741b208b27510da53

2 years agoCheck depth stencil format support in FSR tests
Peter Quayle [Wed, 29 Jun 2022 17:12:47 +0000 (18:12 +0100)]
Check depth stencil format support in FSR tests

Some FSR tests assume that VK_FORMAT_D32_SFLOAT_S8_UINT is supported
for depth stencil attachment use but the spec only guarantees that
one of VK_FORMAT_D32_SFLOAT_S8_UINT and  VK_FORMAT_D24_UNORM_S8_UINT
are supported. This change adds a check  to see if
VK_FORMAT_D32_SFLOAT_S8_UINT is supported and falls back to
VK_FORMAT_D24_UNORM_S8_UINT if it isn't.

Affects:

dEQP-VK.fragment_shading_rate.*.fragdepth.*

Components: Vulkan
Change-Id: Ie0b8992a2d94dcef7509618b64125a7c408461d6

2 years agoValid usage fixes for VulkanSC
Jeff Bolz [Tue, 12 Jul 2022 02:59:16 +0000 (21:59 -0500)]
Valid usage fixes for VulkanSC

For SC, have Deleter<VkDescriptorPool> call vkResetDescriptorPool to free
descriptor sets. Many tests rely on the pool freeing the sets.

Use Move<VkCommandBuffer> with Deleter<VkCommandBuffer> in more places to
avoid leaking command buffers. Add a helper function to allocate an array
of Move<VkCommandBuffer> using Deleter.

vktApiDescriptorSetTests.cpp: Use the same set layout for the pipeline layout
as for the set. Fixes VUID-vkCmdBindDescriptorSets-pDescriptorSets-00358.

vktBindingShaderAccessTests.cpp: Write one command buffer at a time, to
accommodate a VulkanSC limit.

Affects: all

Components: Vulkan

VK-GL-CTS Issue: 3746
VulkanSC Issues 160, 161

Change-Id: I57286f513e8d07369f5f0cf8e5941364ba08dd90

2 years agoReenable memory_model tests for VulkanSC
Jeff Bolz [Tue, 19 Jul 2022 03:27:32 +0000 (22:27 -0500)]
Reenable memory_model tests for VulkanSC

When SC was merged to main these were inadvertently ifdefed out,
but only the Amber tests need to be disabled.

Affects: dEQP-VKSC.memory_model.*

Components: VulkanSC

VK-GL-CTS Issue: 3839

Change-Id: I95c248c8dc92f923a2c6f1239ec85a1ae45799c0

2 years agoSet proper size in VkBufferCopy
Sławomir Cygan [Wed, 20 Jul 2022 12:21:44 +0000 (14:21 +0200)]
Set proper size in VkBufferCopy

Use size instead of VkBuffer as size in VkBufferCopy structure

Components: Vulkan

VK-GL-CTS Issue: 3841

Affects: dEQP-VK.ray_tracing_pipeline.acceleration_structures.copy_within_pipeline.gpu*

Change-Id: Ic5159bb637d4047b84c75338db2e7e360f99b563

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.2 to vk-gl-cts/vulkan-cts-1.3.3
Matthew Netsch [Thu, 21 Jul 2022 18:30:59 +0000 (11:30 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.2 to vk-gl-cts/vulkan-cts-1.3.3

Change-Id: I5c0bfb8a853ed3d97f2e10d90c1dcef6ab8580e2

2 years agoFix the gl_TessLevelInner values in depth_bias_patch_list_tri_point.amber
Piers Daniell [Wed, 13 Jul 2022 23:39:25 +0000 (17:39 -0600)]
Fix the gl_TessLevelInner values in depth_bias_patch_list_tri_point.amber

This problem was unique to this amber file. The others in this folder
were already correct.

Affects:

dEQP-VK.draw.renderpass.depth_bias.depth_bias_patch_list_tri_point

Components: Vulkan

VK-GL-CTS issue: 3829

Change-Id: I6744a40f1bd7c927ea533dd9260ea1d56fb7c79a

2 years agographics_pipeline_library missing on extension list
Marcin Kańtoch [Thu, 14 Jul 2022 12:34:49 +0000 (14:34 +0200)]
graphics_pipeline_library missing on extension list

Test cases dEQP-VK.pipeline.fast_linked_library.* don't add
VK_EXT_graphics_pipeline_library into extension list
although it is using fast-link.

Component: Vulkan

VK-GL-CTS Issue: 3811

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

Change-Id: I6a12ee415b5be52671b0ce24b2f67f19e0c8b802

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Matthew Netsch [Thu, 21 Jul 2022 17:40:00 +0000 (17:40 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: I65295c4d9556742620ca49023dbf6389b957569d

2 years agoFix vkwsi Display control tests
Sai Kiran Korwar [Wed, 6 Jul 2022 10:43:34 +0000 (16:13 +0530)]
Fix vkwsi Display control tests

Tests that attempt to interact with display via the display
control extension must not be run when other windowing systems
have display access.

Return NotSupported if Display is unavailable because the
windowing system has access.

Affects:
  dEQP-VK.wsi.display_control.display_power_control
  dEQP-VK.wsi.display_control.register_display_event

Components: Vulkan
VK-GL-CTS issue: 3804

Change-Id: I59b78cf1dc8089d1741e1b23bc7391d30c85bebd

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Thu, 21 Jul 2022 17:15:10 +0000 (17:15 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I654e931f5f841201dc2f4d0d80c6edb7357ac90f

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Thu, 21 Jul 2022 16:44:06 +0000 (16:44 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: I70f2eff0aee69bc3ed882d1ad4f6fc9ffb4b10b6

2 years agoLimits buffer size to vulkan limit
Matthew Netsch [Tue, 5 Jul 2022 20:21:31 +0000 (13:21 -0700)]
Limits buffer size to vulkan limit

Test was allocating buffer size larger than
sparseAddressSpace

Components: Vulkan
VK-GL-CTS Issue: 3803

Affects:
dEQP-VK.api.buffer.basic

Change-Id: Ia5a421c11804b60f05557d75e2140f1b2afb4c66

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

Change-Id: Ie7d7c989b3c81202f9e9dd2454b6087aa7cc49e1

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years agoAdd image format in 2d_view_of_3d compute tests
Graeme Leese [Thu, 23 Jun 2022 11:56:24 +0000 (12:56 +0100)]
Add image format in 2d_view_of_3d compute tests

The fragment version of these tests was already giving the format in the
shader, so adding it for the compute variant means that the test can run
on cores that don't support StorageImageWriteWithoutFormat.

Components: Vulkan
Affects: dEQP-VK.pipeline.*.image_2d_view_3d_image.compute.*

Change-Id: I34f4deace5ba4fbcb6e669a98dc3314ddd6b7ef5

2 years agoRefix extension data for EXT_texel_buffer_alignment
Piotr Byszewski [Mon, 25 Apr 2022 12:14:16 +0000 (14:14 +0200)]
Refix extension data for EXT_texel_buffer_alignment

The original fix was broken by the SC merge, so this reapplies change
0e4b820 to up-to-date branches (that is, those following the merge).

VK-GL-CTS issue: 3564
Components: Framework, Vulkan
Affects: dEQP-VK.*

Change-Id: If1873b8292f1e79ef557876ebb7d8d9cf9d7de83

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
Matthew Netsch [Fri, 15 Jul 2022 16:21:00 +0000 (16:21 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3

Change-Id: Ib544f0b79e3a27eb6892932f6d8cff817d6dcb08

2 years agoFix unused result in OpPtrEqual OpPtrNotEqual tests
Joe Withers [Thu, 7 Jul 2022 13:41:17 +0000 (14:41 +0100)]
Fix unused result in OpPtrEqual OpPtrNotEqual tests

These tests were storing the result of a prior comparison, instead of
the result of the final "Pointers to individual columns of row-major
matrices" test.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.simple_variable_pointers_ptr_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.simple_variable_pointers_ptr_not_equal

Change-Id: I0320d887b1f9701037e7df6a605e51236892bbd8

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Matthew Netsch [Fri, 15 Jul 2022 15:46:36 +0000 (15:46 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: I4746c7728a783911f57a4a0307355384e5782e1f

2 years agoModify Store Op setting
wu jingxiang [Wed, 29 Jun 2022 10:06:00 +0000 (10:06 +0000)]
Modify Store Op setting

Set up VK_ATTACHMENT_LOAD_OP_DONT_CARE on VkAttachmentStoreOp. If m_numRenderPass equal 1.
Set up VK_ATTACHMENT_LOAD_OP_STORE on VkAttachmentStoreOp. If m_numRenderPass is greater than 1.

Affects:
dEQP-VK.renderpass2.depth_stencil_resolve.*

Components: Vulkan

Change-Id: I226336ee9eeac5a9db14817cc8d1bec2f881ebbb

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Fri, 15 Jul 2022 15:22:13 +0000 (15:22 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I860e6b43aca52008fecc755bd0a377dca99e8927

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Fri, 15 Jul 2022 14:54:36 +0000 (14:54 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: Ia0fe8e8eb8f699fdcb15c85d129f5f237a60b02a

2 years agoFix incorrect staging buffer size calculation
Fredrik Bergstrand [Thu, 7 Jul 2022 07:08:37 +0000 (09:08 +0200)]
Fix incorrect staging buffer size calculation

The dEQP-VK.api.image_clearing.* tests use a staging buffer to
pre-clear the images to a known value before each test. The size
of this buffer was previously determined by taking the size from the
VkMemoryRequirements obtained for the image. This fails if the size
required to store the image is less than the size required to store
the raw texel data in the buffer, which is later to be copied into
the image. This commit changes that and instead computes the size
of the staging buffer based on image extent, format and number of
layers.

Affects:
dEQP-VK.api.image_clearing.*

Components: Vulkan

VK-GL-CTS issue: 3809

Change-Id: I2b74697d54e11ddd7598299d57d02205bd2571d5

2 years agoAdd missing calls to vkResetCommandBuffer
Matthew Netsch [Thu, 9 Jun 2022 18:56:58 +0000 (14:56 -0400)]
Add missing calls to vkResetCommandBuffer

Affects:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.header_bottom_address.*

Components: Vulkan
VK-GL-CTS Issue: 3802

Change-Id: Ieaf337e028db0bb64c3c954210a75bdda7e2e7b8

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 15 Jul 2022 14:26:51 +0000 (14:26 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I3f5a753e75050a8c66e4737bbd3eff861138ea60

2 years 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

2 years 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

2 years 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

2 years agoFix checkSupport for pipeline bind point tests
Thomas Aven [Mon, 13 Jun 2022 07:30:40 +0000 (09:30 +0200)]
Fix checkSupport for pipeline bind point tests

Ray tracing tests are unconditionally skipped if VK_KHR_push_descriptor
or VK_KHR_descriptor_update_template is not supported by the
implementation, as the support check logic is mistakenly checking only
the graphics and compute pipeline usages. Fix the support checks by
first checking which pipelines are used in the test.

Affects:
dEQP-VK.pipeline.monolithic.bind_point.*

Components: Vulkan

VK-GL-CTS issue: 3820

Change-Id: Ic6f0b78ca2d4d5415db03ca1186100494201548f

2 years agoAdd missing 'FREE_DESCRIPTOR_SET' flag to a descriptor set pool
Sławomir Cygan [Fri, 17 Jun 2022 13:52:26 +0000 (15:52 +0200)]
Add missing 'FREE_DESCRIPTOR_SET' flag to a descriptor set pool

The test seems to test vkFreeDescriptors, however the pool is missing
a flag that is required for that function to be used.

Spec says: VUID-vkFreeDescriptorSets-descriptorPool-00312
descriptorPool must have been created with the VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT flag

Components: Vulkan

VK-GL-CTS Issue: 3779

Affects: dEQP-VK.api.descriptor_pool.zero_pool_size_count

Change-Id: I04c1e67fcbdffa4b0eb1bf7ffbb0231fbe0bc45d

2 years agoFix GCC 11 misleading indentation warning
Mika Väinölä [Tue, 8 Mar 2022 07:57:11 +0000 (09:57 +0200)]
Fix GCC 11 misleading indentation warning

Make it clearer that the assignment is not guarded by the if.

Components: Vulkan

VK-GL-CTS issue: 3555

Change-Id: If03e31c20877d99d8e10620bbda31942023ca13a

2 years agoFix aliasing issues for physical device features
John Anthony [Fri, 24 Jun 2022 17:03:08 +0000 (19:03 +0200)]
Fix aliasing issues for physical device features

Make sure we only pass in one instance of the following feature
structs (including aliases) when getting supported features from a
physical device:

- VkPhysicalDeviceDescriptorIndexingFeatures
- VkPhysicalDeviceBufferDeviceAddressFeatures

Affects:
dEQP-VK.info.device_mandatory_features

Components: Vulkan

VK-GL-CTS issue: 3792

Change-Id: I290a46f0c5d220f616237063253bfb7be6d1f026

2 years agoAlways include the required closest hit shader when tracing rays
Piers Daniell [Thu, 23 Jun 2022 22:23:01 +0000 (16:23 -0600)]
Always include the required closest hit shader when tracing rays

The tests added in https://gerrit.khronos.org/c/vk-gl-cts/+/7865
neglected to set the SBT entry for a closest hit shader even
though the ray generation shader was calling traceRayEXT().
This can cause the implementation to dereference NULL data
and crash when it attempts to execute a hit shader.

This CL modifies the ray tracing pipeline and SBR to always have a
closest hit shader defined.

Affects:

dEQP-VK.ray_tracing_pipeline.pipeline_no_null_shaders_flag.*

Components: Vulkan

VK-GL-CTS issue: 3790

Change-Id: Ied3265639b6b5ab45998ac02d361106e14fa3808

2 years agoFix regresion in FSR tests
Piotr Byszewski [Mon, 13 Jun 2022 10:55:21 +0000 (12:55 +0200)]
Fix regresion in FSR tests

FSR tests were recently repeated few times - for pipeline libraries
and for secondary command buffers in dynamic rendering cases. As a
result there were cases where delayed group creation with
createChildren had another nested call to createChildren. This CL
modifies code to use only tow delayed group creation calls - for
renderpass2 and dynamic_rendering sub-groups.

Components: Vulkan

VK-GL-CTS issue: 3760

Affects:
dEQP-VK.fragment_shading_rate.*

Change-Id: If8da1532c0c924ef812ab055de4c71c5b9ba86b4

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
Matthew Netsch [Thu, 7 Jul 2022 20:21:58 +0000 (20:21 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3

Change-Id: Ic26b0069d50734146363779c7d7f0362f5d33496

2 years agoAllow sample counting after multisample coverage
Sławomir Cygan [Fri, 17 Jun 2022 13:41:40 +0000 (15:41 +0200)]
Allow sample counting after multisample coverage

Vulkan specification was modified to allow counting samples
after mutlisample coverage and fragment shading.

The test uses a fragment shader that kills all pixels with
"gl_SampleMask[0] = 0x0" and than verifies the occlusion query results.

This change allows for 0 samples to be counted by a query in case
of `early_fragment_tests` mode being used. The QualityWarning is emitted
in this case.

Components: Vulkan

Vulkan Issue: 3085
VK-GL-CTS Issue: 3778

Affects: dEQP-VK.fragment_operations.early_fragment.sample_*

Change-Id: I86cf17b2d8849a9d543e8447569ac808928c30e6

2 years agoEarly fragment depth test rounding issue bug fix
Juha Heiskanen [Mon, 6 Jun 2022 11:56:43 +0000 (14:56 +0300)]
Early fragment depth test rounding issue bug fix

Small correction to vertex coordinates to avoid unexpected depth value
roundings.

Components: Vulkan

VK-GL-CTS Issue: 3732

Affects:
dEQP-VK.fragment_operations.early_fragment.early_fragment_tests_depth
dEQP-VK.fragment_operations.early_fragment.no_early_fragment_tests_depth

Change-Id: Ifa8f92a2c2e18acb4122a10498c9c21e7990e9f6

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Matthew Netsch [Thu, 7 Jul 2022 19:49:10 +0000 (19:49 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: I300e223f9f8743cc0579547d535f8af333caeada

2 years agoFix synchronization in compressed texture sampling tests
Ricardo Garcia [Thu, 16 Jun 2022 18:23:42 +0000 (20:23 +0200)]
Fix synchronization in compressed texture sampling tests

Tests sampling compressed textures contained multiple synchronization
errors, most of them related to:

* Render pass load operations not properly synchronized with previous
  writes.
* Barriers that did not properly synchronize all layers of a cube map.
* Improper initial layout transitions.

Affected tests:
dEQP-VK.image.sample_texture.*
dEQP-VKSC.image.sample_texture.*

VK-GL-CTS issue: 3763
Components: Vulkan

Change-Id: I2f2572a7f6a05c55c904014fafc3a655dbb03ee3

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Thu, 7 Jul 2022 19:24:45 +0000 (19:24 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I0f96a1f42fc6069ae185225b3794e37eea200a74

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Thu, 7 Jul 2022 18:56:48 +0000 (18:56 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: Ia16eafb924ac851fcda00d605e608af190b56997

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Thu, 7 Jul 2022 18:29:26 +0000 (18:29 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I1c3fa921a070b79cbcd31c213cfbb651c4d07530

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 7 Jul 2022 18:01:59 +0000 (18:01 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Id3635ffcac963dbd16ed489269205e90f92aa6a0

2 years agoChange direction of IgnoreIntersection/TerminateRay tests
Max Andersson [Thu, 9 Jun 2022 12:40:46 +0000 (14:40 +0200)]
Change direction of IgnoreIntersection/TerminateRay tests

Changes the ray direction of the IgnoreIntersection and
TerminateRay tests such that it shoots the ray into the
center of the triangle, rather than exactly at one of
its edges.

Impacts tests:
dEQP-VK.ray_tracing_pipeline.misc.Op*

Components: Vulkan
VK-GL-CTS issue: 3771

Change-Id: Ic36cc125238323eb367412f220afe8907f700c8d

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 7 Jul 2022 17:36:30 +0000 (17:36 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I7ab0e9094c250af82f5aa28183fe5759e96f3e5f

2 years agoFix image feature checking in YCbCr filtering tests
Joe Withers [Fri, 1 Jul 2022 15:28:05 +0000 (16:28 +0100)]
Fix image feature checking in YCbCr filtering tests

The tests were using linear chroma filtering without checking for
support.

Components: Vulkan

Affects:
dEQP-VK.ycbcr.filtering.*

Change-Id: I2619667b8ebf78f3c2c1880501925a1348305b64

2 years agoSet pipeline layout for fragment_shading_rate tests
Piers Daniell [Mon, 13 Jun 2022 17:53:30 +0000 (11:53 -0600)]
Set pipeline layout for fragment_shading_rate tests

The Vulkan spec requires there be a valid pipeline layout, even
when pipeline libraries are being used.

Components: Vulkan

Affects:

dEQP-VK.fragment_shading_rate.*.pipeline_library.*

VK-GL-CTS issue: 3764

Change-Id: I83486240c2e5e15f13a5d9610ee66d2e37ef06b9

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
Matthew Netsch [Thu, 16 Jun 2022 18:39:31 +0000 (18:39 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3

Change-Id: I8bda2888165efe5813666980c95ab76b2481d7f1

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Matthew Netsch [Thu, 16 Jun 2022 18:07:42 +0000 (18:07 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: Ie9da086ce3cfaa7b9aa768fdf700905f0512f446

2 years agoSynchronize clears and reads in transient attachment tests
Ricardo Garcia [Thu, 9 Jun 2022 08:55:46 +0000 (10:55 +0200)]
Synchronize clears and reads in transient attachment tests

These tests use a render pass with no draw operations to clear a color
or depth/stencil attachment and use it as an input attachment in a
second render pass, but they were missing a barrier to synchronize both
operations.

Affected tests:
dEQP-VK.fragment_operations.transient_attachment_bit*

Components: Vulkan
VK-GL-CTS issue: 3717

Change-Id: Ifcd1817fa631973e4f74866546dfad4e021a16bc

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Thu, 16 Jun 2022 17:43:14 +0000 (17:43 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I5830bb9dc3d462de2df81a0af118a40953315102

2 years agofix dEQP-VK.subgroups.size_control.compute.required_subgroup_size_*_require_full_subg...
Mike Blumenkrantz [Tue, 26 Apr 2022 18:30:12 +0000 (14:30 -0400)]
fix dEQP-VK.subgroups.size_control.compute.required_subgroup_size_*_require_full_subgroups_spirv16

the spirv16 cases weren't fixed in an earlier change which addressed the same problem

Affects:
dEQP-VK.subgroups.size_control.compute.required_subgroup_size_max_require_full_subgroups_spirv16
dEQP-VK.subgroups.size_control.compute.required_subgroup_size_min_require_full_subgroups_spirv16

Change-Id: Ic70024e080cff8c824ffa126774f27f2d378c52d

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Thu, 16 Jun 2022 17:15:31 +0000 (17:15 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: I4ce72e2de0508fd24ef31b5cf2ae190ad73ad2bc

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Thu, 16 Jun 2022 16:48:03 +0000 (16:48 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Ieac8dac110e196cd1d83bff11be45fdec6a72f2b

2 years agoAdd missing barrier in ray tracing tests
Thomas Aven [Mon, 30 May 2022 09:38:02 +0000 (11:38 +0200)]
Add missing barrier in ray tracing tests

When running the CPU build acceleration structure tests, no acceleration
structure commands are recorded, resulting in a missing execution
barrier. Add the missing barrier between vkCmdClearColorImage and
vkCmdTraceRaysKHR. This barrier is the same barrier used in the
equivalent ray query tests.

Affects:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.*

Components: Vulkan

VK-GL-CTS issue: 3750

Change-Id: Ib9fc047e6e3a45165e5028846f8f10e96aca53c1

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 16 Jun 2022 16:20:42 +0000 (16:20 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: If7368ce72c121d0642e902c08c0f79d6c99ad73c

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 16 Jun 2022 15:55:55 +0000 (15:55 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I238c6805dbba58a1dddb7639663cd9c9b83b7f64

2 years agoMerge "Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3" into vulkan...
Matthew Netsch [Fri, 10 Jun 2022 14:51:04 +0000 (14:51 +0000)]
Merge "Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3" into vulkan-cts-1.3.3

2 years agoFix Android build
Peter Kohaut [Thu, 9 Jun 2022 09:03:07 +0000 (11:03 +0200)]
Fix Android build

Fixes copy & paste error.
Disables Sys V shared memory for Android as it is unsupported.

Components: Vulkan

Affects:
*

VK-GL-CTS issue: 3756

Change-Id: I45a24916e57a8c77a1fb0e88e89927ca34069b52
(cherry picked from commit c51f848880bf03bd8c303a34aee7d92185185a61)

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
Matthew Netsch [Thu, 9 Jun 2022 19:25:38 +0000 (12:25 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3

Change-Id: Icf1eec1fba1f1272f424878113e510fa6fb8a92a

2 years agoForbid implicit cast from Move<T> to bool
Ricardo Garcia [Wed, 1 Jun 2022 15:31:23 +0000 (17:31 +0200)]
Forbid implicit cast from Move<T> to bool

Take the following code:

  Move<VkPipelineLayout> smartLayout = ...;
  VkPipelineLayout rawLayout = smartLayout;

That builds and applies the following implicit conversions:

  Move<T> -> bool -> VkPipelineLayout

Which doesn't make any sense (the raw handle ends up having value "1")
and it's arguably an easy typo to make, when the second line should
actually have been one of:

  VkPipelineLayout rawLayout = *smartLayout;
  VkPipelineLayout rawLayout = smartLayout.get();

This commit disallows the implicit conversions from Move<T> to bool and
makes the typo fail compilatoin on purpose.

It also fixes one instance of such typo in the affected test, which was
causing issues when implementing graphics pipeline libraries in RADV.

Note the test also touches vktRenderPassTests.cpp, but the change should
not affect any test result there.

Affected tests:
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.timing.compare_link_times

VK-GL-CTS issue: 3735
Components: Vulkan

Change-Id: Id968a1e74f6246e592257f7b3675c80e3363feaf

2 years agoFix extension checks in DRM format modifier tests
Ricardo Garcia [Wed, 25 May 2022 10:36:00 +0000 (12:36 +0200)]
Fix extension checks in DRM format modifier tests

Some of the checks for supported extensions made the tests error out
instead of marking them as not supported.

Affected tests:
dEQP-VK.drm_format_modifiers.*

Components: Vulkan
VK-GL-CTS issue: 3720

Change-Id: I47c1f051128e425d5faae3bed5c2830218df4881

2 years agoFix device and memory allocation mix-up
Ricardo Garcia [Wed, 1 Jun 2022 14:19:25 +0000 (16:19 +0200)]
Fix device and memory allocation mix-up

compute_transfer dynamic state tests were allocating memory on one
device and binding it to a buffer created on a separate device. This
commit fixes the issue and make sure the right devices and allocators
are always used.

Affected tests:
dEQP-VK.dynamic_state.monolithic.compute_transfer.*

VK-GL-CTS issue: 3727
Components: Vulkan

Change-Id: I8f8aeffd0d4946465af1a600d5f7331e4040638a

2 years agoUpdate known conformance version for 1.3.3.0
Matthew Netsch [Thu, 9 Jun 2022 03:55:12 +0000 (20:55 -0700)]
Update known conformance version for 1.3.3.0

Components: Vulkan, Framework

Affects:
dEQP-VK.api.driver_properties.conformance_version

Change-Id: Id2a541585bb9bff2c6b929d7b045c2c08fc58db6

2 years agoSplit pipeline.txt mustpass into multiple files
Piotr Byszewski [Wed, 11 May 2022 14:44:02 +0000 (16:44 +0200)]
Split pipeline.txt mustpass into multiple files

Scripts that generate mustpass files were changed to allow
specification of test groups that should be spitted to separate
.txt files. With this change python dictionaries are heavily
used (not just lists) and because of that order of groups in
all .txt files has changed. (Dictionaries are sorted)
This change uses new functionality for pipeline group that now
will be splited to 3 files (each representing subgroup).

Components: Framework

VK-GL-CTS issue: 3641

Affects:
*

Change-Id: I8e339fa71cb2348a5074f53697f9d283c9ba9c35

2 years agoAdd R8_UNORM to the external AHB memory tests
Trevor David Black [Mon, 16 May 2022 03:43:09 +0000 (03:43 +0000)]
Add R8_UNORM to the external AHB memory tests

New Tests:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.r8_unorm

Components: Vulkan
Change-Id: I40a76b4b6112ae6d0b053cf3427e313a6894a873

2 years agoMore EXT_color_write_enable tests.
michal_jakubek [Wed, 20 Apr 2022 08:42:30 +0000 (10:42 +0200)]
More EXT_color_write_enable tests.

New tests:
dEQP-VK.pipeline.*.color_write_enable_maxa.*

Components: Vulkan

VK-GL-CTS issue: 3569

Change-Id: I9db26fe0cbee3134b174efcebf8a795b7b676a28

2 years agoMerge vk-gl-cts/dev/VK_EXT_image_compression_control into vk-gl-cts/main
Matthew Netsch [Thu, 2 Jun 2022 14:08:13 +0000 (07:08 -0700)]
Merge vk-gl-cts/dev/VK_EXT_image_compression_control into vk-gl-cts/main

Change-Id: I893a082eb8816ed9ef7f20f0246781e19d999029

2 years agoMerge vk-gl-cts/main into vk-gl-cts/dev/VK_EXT_image_compression_control
Matthew Netsch [Tue, 31 May 2022 21:21:26 +0000 (14:21 -0700)]
Merge vk-gl-cts/main into vk-gl-cts/dev/VK_EXT_image_compression_control

Change-Id: I67f8b39b34d0de496292c3f0db2d182d63a31140

2 years agoMerge vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric into vk-gl-cts/main
Matthew Netsch [Thu, 2 Jun 2022 14:13:18 +0000 (07:13 -0700)]
Merge vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric into vk-gl-cts/main

Change-Id: Iee05a3a148b62122de199cad70cda8f9f3f2170c

2 years agoMerge vk-gl-cts/main into vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric
Matthew Netsch [Wed, 1 Jun 2022 19:55:08 +0000 (12:55 -0700)]
Merge vk-gl-cts/main into vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric

Change-Id: Ib4407c269be86851031a8a6ce1abc93d4e553996

2 years agoMerge vk-gl-cts/dev/VK_KHR_ray_tracing_maintenance1 into vk-gl-cts/main
Matthew Netsch [Thu, 2 Jun 2022 14:07:03 +0000 (07:07 -0700)]
Merge vk-gl-cts/dev/VK_KHR_ray_tracing_maintenance1 into vk-gl-cts/main

Change-Id: I1b78dec2819e963937d831f1b8c3e11e2428184a

2 years agoMerge vk-gl-cts/main into vk-gl-cts/VK_KHR_ray_tracing_maintenance1
Matthew Netsch [Wed, 1 Jun 2022 17:59:31 +0000 (10:59 -0700)]
Merge vk-gl-cts/main into vk-gl-cts/VK_KHR_ray_tracing_maintenance1

Change-Id: I2502165363120c2aa71e0356f607fe895bdc8eb2

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main
Matthew Netsch [Mon, 6 Jun 2022 19:58:19 +0000 (12:58 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main

Change-Id: I0038924e2f520376d3dbe078d5ad0a2e60585f2b

2 years agoFix modifier tests - Add Invalidate memory before host read.
Matthew Netsch [Mon, 6 Jun 2022 15:54:27 +0000 (08:54 -0700)]
Fix modifier tests - Add Invalidate memory before host read.

Test cases for extension VK_EXT_image_drm_format_modifier were failing randomly due to image mismatch.
This was due to after performing copyImagetoBuffer buffers are not invalidated before reading from host.
Added the invalidate operation for buffer before reading.

Components: Vulkan
VK-GL-CTS Issue: 3744

Affects:
dEQP-VK.drm_format_modifiers.*

Change-Id: I57b27bf9c0beea0ed822b36ea379b024f9d1690a

2 years agoDeclare atomic_payload array coherent
Jesse Archer [Fri, 20 May 2022 21:15:10 +0000 (14:15 -0700)]
Declare atomic_payload array coherent

Data in the release_acquire_atomic_payload uses atomic functions
on an array, so this array needs to be declared coherent.

Affected tests:
dEQP-VK.memory_model.message_passing.permuted_index.release_acquire_atomic_payload

Components: Vulkan

VK-GL-CTS issue: 3706

Change-Id: I6f285e3000368d083369bda5b3782a3b44c9b64d

2 years agoFix spec info in pipeline max varyings tests
Tomasz Owczarek [Tue, 10 May 2022 14:46:28 +0000 (15:46 +0100)]
Fix spec info in pipeline max varyings tests

Add missing VkSpecializationInfo to fragment shader stage.

Components: Vulkan

VK-GL-CTS issue: 3677

Affects:
dEQP-VK.pipeline.*.max_varyings*

Change-Id: Icf702ca953ad996e9081aa9197fbdcedd21dd191

2 years agoAdd threshold to rasterization order depth checks
Ricardo Garcia [Mon, 23 May 2022 14:43:16 +0000 (16:43 +0200)]
Add threshold to rasterization order depth checks

These tests compared floating point depth values expecting exact
matches, which was causing trouble for some implementations. This commit
adds an error threshold to the check.

Affected tests:
dEQP-VK.rasterization.rasterization_order_attachment_access.depth.*

Components: Vulkan
VK-GL-CTS issue: 3711

Change-Id: If6798dfd473f57341775e83d68188e39bdf27caa

2 years agoFix test using LAYOUT_CREATE_INDEPENDENT_SETS_BIT
Piotr Byszewski [Sat, 21 May 2022 21:49:08 +0000 (23:49 +0200)]
Fix test using LAYOUT_CREATE_INDEPENDENT_SETS_BIT

Original test plan for testing VK_EXT_graphics_pipeline_library had
one test that actually doesn't require pipeline library extension.
This test wrongfully created pipeline layout using
VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT flag
violating VUID-VkPipelineLayoutCreateInfo-flags-parameter.

Components: Vulkan

VK-GL-CTS issue: 3704

Affects:
dEQP-VK.pipeline.pipeline_library.graphics_library.*

Change-Id: I6842fcfd7dd686af32f989cd1b0fcd2730305d9e

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Matthew Netsch [Fri, 3 Jun 2022 21:43:02 +0000 (14:43 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: I4ff955997673df5a3ad35e6de3f5be8f0679dd2f

2 years agoFix regression from CL-9387 to handle empty cache properly
Piers Daniell [Fri, 3 Jun 2022 18:21:00 +0000 (12:21 -0600)]
Fix regression from CL-9387 to handle empty cache properly

The new program cache code from CL-9387 didn't handle the case where
cacheSearch() is called with an empty cache. It would look at the
first node key regardless, which is uninitialized data, and
attempt to follow the left/right node pointers, which were
also uninitialized. This could result in crash or worse.

This CL simply checks if the cache is empty, and if so doesn't
attempt to read the invalid first node.

Affects:
* (all tests with shaders)

VK-GL-CTS issue: 3565

Components: Vulkan, Framework
Change-Id: Ia813d8caf3170b0c1995bdc43a5f345b578ab615