platform/upstream/VK-GL-CTS.git
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

22 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

22 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

22 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

22 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

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

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

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

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

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

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

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

23 months 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 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 agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 2 Jun 2022 19:51:27 +0000 (12:51 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I8931b5406a04f317c172c1357c1ab3b2c7b12be3

2 years agoFix for the bounding box tests with GL 4.5
Tapani Pälli [Fri, 10 Sep 2021 12:06:10 +0000 (15:06 +0300)]
Fix for the bounding box tests with GL 4.5

Affects:
dEQP-GL*functional.primitive_bounding_box.*

Components: AOSP
VK-GL-CTS issue: 3104

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I38db9fc893a685893dbd6c2de8ab15ab3e0db11e
(cherry picked from commit 9e6d211ebf47f228f6648c7a30be8eb98cec41a9)

2 years agoFix missing self-subpass dependency
Mohd Faisal [Wed, 13 Oct 2021 14:09:01 +0000 (15:09 +0100)]
Fix missing self-subpass dependency

Self-subpass dependency required for read-after-write operation, in test
cases where the attachment is written using load-op-load at the start
of subpass and then the values are read inside the fragment shader.

Affects:

dEQP-
VK.renderpass.suballocation.subpass_dependencies.separate_channels.*
dEQP-
VK.renderpass2.suballocation.subpass_dependencies.separate_channels.*

Components: Vulkan

VK-GL-CTS issue: 3216

Change-Id: I6c72b81dccfb7526ec4607b255ff4872b13c4d22
(cherry picked from commit 305ee4bd7e5b372b2c910b615a146f2aa4416527)

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

Change-Id: Ic4e0dff0f0b61669584c3eff4602af9971552ab4

2 years agoFix int64 robustness bugs
Andreas Flöjt [Thu, 5 May 2022 12:18:06 +0000 (14:18 +0200)]
Fix int64 robustness bugs

First bug: VkImage and VkImageView that use different formats without
specifying the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag on the image.

Second bug: Using a shader with a multisampled storage image without
checking the shaderStorageImageMultisample feature.

Affects:
dEQP-VK.robustness.image_robustness.*.r64i.*

Components: Vulkan

VK-GL-CTS issue: 3680

Change-Id: I7b984c3c7b6b2ee551618b7a32d4a841e942cd95

2 years agoskip non-compresed 3D views of compressed images
Ilan Aelion [Mon, 4 Apr 2022 18:51:22 +0000 (11:51 -0700)]
skip non-compresed 3D views of compressed images

dEQP-VK.image.texel_view_compatible.graphic.*.3d_image.texture_read
tests violate VUID-VkImageViewCreateInfo-image-04739 - "If image was
created with the VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag
and format is a non-compressed format, viewType must not be
VK_IMAGE_VIEW_TYPE_3D"

Components: Vulkan
Affected Tests:
dEQP-VKSC.image.texel_view_compatible.graphic.*.3d_image.texture_read.*

Change-Id: I48512da1cdedbaecc73ac1ae1289cbbb4bc2f70c

2 years agoFix leak on SimpleAllocator
Juan A. Suarez Romero [Fri, 13 May 2022 09:50:30 +0000 (11:50 +0200)]
Fix leak on SimpleAllocator

SimpleAllocator object is leaked in some tests.

Affected tests:
dEQP-VK.compute.basic.concurrent_compute
dEQP-VK.draw.concurrent.compute_and_triangle_list

Components: Vulkan
VK-GL-CTS issue: 3634

Change-Id: Ief51211f94f2754b9133285ff7374971b7ea20e3

2 years agoFix entry points check for VK_KHR_draw_indirect_count
Ricardo Garcia [Thu, 12 May 2022 14:26:44 +0000 (16:26 +0200)]
Fix entry points check for VK_KHR_draw_indirect_count

VK_KHR_draw_indirect_count was promoted to core in Vulkan 1.2, but its
non-KHR entry points (vkCmdDrawIndirectCount and
vkCmdDrawIndexedIndirectCount) are not mandatory unless the device
supports the extension. In that case, the drawIndirectCount feature bit
will also be true. Any of the two checks is valid.

Affected tests:
dEQP-VK.api.version_check.entry_points

VK-GL-CTS issue: 3679
Components: Vulkan

Change-Id: I95666c1a22bed7da33f58a50307294c4048cd8ff

2 years agoInclude the proper formats in pViewFormats list
Ricardo Garcia [Fri, 20 May 2022 10:02:06 +0000 (12:02 +0200)]
Include the proper formats in pViewFormats list

Imageless framebuffer variants in fragment shading rate basic tests were
not including the render pass image view formats in the list of view
formats when creating the framebuffer, resulting in validation errors
with code VUID-VkFramebufferCreateInfo-flags-03205.

Affected tests:
dEQP-VK.fragment_shading_rate.basic.*

Components: Vulkan
VK-GL-CTS issue: 3705

Change-Id: I7389b8a0a2f24b3085f3963064508c8c388e43bc

2 years agoFix state binding in multiview tests
Ricardo Garcia [Mon, 23 May 2022 08:40:23 +0000 (10:40 +0200)]
Fix state binding in multiview tests

According to the spec, when multiview is enabled all non-render pass
state is undefined at the beginning of each subpass, but multiview tests
were binding vertex buffers, index buffers and descriptor sets before
beginning the render pass. This commit moves the binding commands to the
same point the pipeline is bound for each subpass.

In addition, it fixes some validation errors related to the following
VUIDs:

  - VUID-VkSubpassDependency-srcSubpass-02243
  - VUID-VkSubpassDependency2-srcSubpass-02245

Due to some subpass dependencies missing the VK_DEPENDENCY_BY_REGION_BIT
bit in their flags despite being mandated by the spec.

Affected tests:
dEQP-VK.multiview.*

Components: Vulkan
VK-GL-CTS issue: 3701

Change-Id: I4f91f3dad0305e93dce68bb43497215c628df543

2 years agoImprove comparison of VkPhysicalDeviceMemoryProperties
Chia-I Wu [Sat, 28 May 2022 00:47:42 +0000 (17:47 -0700)]
Improve comparison of VkPhysicalDeviceMemoryProperties

VkMemoryType should be fine, but VkMemoryHeap normally has a 4-byte
padding which can be garbage.  Compare individual members rather than
doing deMemCmp.

VK-GL-CTS Issue: 3590

Affects: dEQP-VK.api.info.get_physical_device_properties2.memory_properties

Components: Vulkan
Change-Id: I49e276ee15d10ca40f11c7a5fd3fb50b84ff1de3

2 years agoFix shader operator tests' precision expectation
Shahbaz Youssefi [Mon, 22 Nov 2021 20:30:26 +0000 (15:30 -0500)]
Fix shader operator tests' precision expectation

es3fShaderOperatorTests.cpp takes the reported precision for lowp and
mediump (through glGetShaderPrecisionFormat) and tests that that many
bits are actually supported by the type.

glGetShaderPrecisionFormat is a legacy function that's not very
meaningful on modern hardware (see Vulkan issue #2931), and there is no
equivalent for its functionality in Vulkan.

This relevant tests are changed such that the test now verifies that _at
least_ that many bits are used in lowp and mediump operations, rather
than _exactly_.  This aligns with the semantics of RelaxedPrecision in
SPIR-V.

Affected tests:
dEQP-GLES3.functional.shaders.operator.*

Components: OpenGL ES
VK-GL-CTS issue: 3344

Change-Id: I88a38d6ee067de8313f25327578c6666c257dc8b
(cherry picked from commit 23d62b971cec55ae49cddc9a9e37614bc9f80668)

2 years agoFix GL_MAX_FRAGMENT_INTERPOLATION_OFFSET limit check
Shahbaz Youssefi [Fri, 27 Aug 2021 03:11:56 +0000 (23:11 -0400)]
Fix GL_MAX_FRAGMENT_INTERPOLATION_OFFSET limit check

The spec is fixed to align with Vulkan, requiring the minimum value for
GL_MAX_FRAGMENT_INTERPOLATION_OFFSET to be 0.5-ULP, where

    ULP = 1/pow(2,GL_FRAGMENT_INTERPOLATION_OFFSET_BITS)

Affects:
dEQP-GL45.functional.state_query.multisample_interpolation.max_fragment_interpolation_offset.get_float
dEQP-GLES31.functional.state_query.multisample_interpolation.max_fragment_interpolation_offset.get_float
KHR-GL44.shader_multisample_interpolation.api.api
KHR-GL45.shader_multisample_interpolation.api.api
KHR-GL46.shader_multisample_interpolation.api.api
KHR-GLES31.core.shader_multisample_interpolation.api.api
KHR-GL45.limits.max_fragment_interpolation_offset
KHR-GL46.limits.max_fragment_interpolation_offset

Components: OpenGL
Khronos OpenGL issue: #149

Change-Id: I153a05ef6db8f50a6aa337188e5aeb8d504fbbdd
(cherry picked from commit 5d72b170aad664e4fcf770863d37bd041d45ff9b)

2 years agoFix warning in gcc-8
Graeme Leese [Fri, 23 Jul 2021 18:00:11 +0000 (19:00 +0100)]
Fix warning in gcc-8

The code for setting up the output buffer was duplicated into each of
the cases for different input types, and the compiler doesn't understand
that DE_ASSERT marks an unreachable path. Changing to using standard
assert fixes the warning:

vktShaderFConvertTests.cpp:541:19: error: ‘outputBufferSizeInfo::memorySizeBytes’
may be used uninitialized in this function [-Werror=maybe-uninitialized]
   541 |  BufferSizeInfo   outputBufferSizeInfo;
       |                   ^~~~~~~~~~~~~~~~~~~~

Component: Vulkan
Affects: dEQP-VK.glsl.builtin.precision_fconvert.*

Change-Id: Icf6302166d8bce7c3ae1447973c895c34465a726

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 12 May 2022 21:30:04 +0000 (21:30 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Id5e0c94c1ad19064f9bcf354b07ecb9a34f9bbb7

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 12 May 2022 21:05:06 +0000 (21:05 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I85db18b290ab8790b6b6ddd9417ed43c65d8e33f

2 years agoFix second barrier access mask for transfers
Connor Abbott [Thu, 5 May 2022 16:58:03 +0000 (18:58 +0200)]
Fix second barrier access mask for transfers

This was TRANSFER_WRITE instead of TRANSFER_READ due to a typo.

Components: Vulkan

Affects:
dEQP-VK.synchronization2.none_stage.*

VK-GL-CTS Issue: 3672

Change-Id: Id62e91886bc6b2137a8f8a862185956a17fb3fab

2 years agoFixes sparse flags
Matthew Netsch [Wed, 11 May 2022 15:27:38 +0000 (08:27 -0700)]
Fixes sparse flags

Spec requires that VK_IMAGE_CREATE_SPARSE_BINDING_BIT
is set if residency or alias bits are set

Components: Vulkan
VK-GL-CTS Issue: 3678

Affects:
dEQP-VK.api.info.image_format_properties.*

Change-Id: Ie8788567ae5189e6303fb7d3eb7e64b1bdd9dbcf

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 5 May 2022 16:48:43 +0000 (09:48 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Iaeb3f5ee3ef401ef4c0d4d7db27703e8f5b6012d

2 years agoDon't alias image views in separate_channels subpass dependency tests
Connor Abbott [Fri, 13 Aug 2021 15:37:54 +0000 (17:37 +0200)]
Don't alias image views in separate_channels subpass dependency tests

This is not allowed by the Vulkan spec:

> Multiple attachments that alias the same memory must not be used in a
> single subpass.

Instead we should have the input attachment and color attachment point
to the same attachment, which is allowed.

Components: Vulkan

Affects:
dEQP-VK.renderpass.suballocation.subpass_dependencies.separate_channels.*
dEQP-VK.renderpass2.suballocation.subpass_dependencies.separate_channels.*

VK-GL-CTS Issue: 3052

Change-Id: Iddb1111be5147f9816104fa879e023a9a3445555
(cherry picked from commit a3e659e828a535582207149cf58a8580d45a0342)

2 years agoFix DeqpTestRunnerTest
Paul Thomson [Wed, 13 Apr 2022 18:38:46 +0000 (19:38 +0100)]
Fix DeqpTestRunnerTest

Component: Android

Google bug: b/206657494
Google bug: b/201652781

Change-Id: I3438b200105bc04ee63b0454a7ce32e4acd4de4b

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 5 May 2022 15:50:24 +0000 (15:50 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I4dbdafea321464fe25499e0a7d415488729d77ce

2 years agoSynchronize input attachment reads in IO chains
Ricardo Garcia [Tue, 19 Apr 2022 09:26:29 +0000 (11:26 +0200)]
Synchronize input attachment reads in IO chains

Each subpass in the render pass IO chain tests attempts to read the
output of the previous subpass as an input attachment, but the subpass
dependencies are missing VK_ACCESS_INPUT_ATTACHMENT_READ_BIT from the
flags in dstAccessMask.

Affected tests:
dEQP-VK.renderpass*.attachment_allocation.*

Components: Vulkan
VK-GL-CTS issue: 3643

Change-Id: I63b49709ee8cb03e364050253dc2a8a48c5b58cd

2 years agoWait for idle queue after submitting an empty job
Ricardo Garcia [Tue, 19 Apr 2022 09:53:54 +0000 (11:53 +0200)]
Wait for idle queue after submitting an empty job

The test below imports an external signaled semaphore and submits to the
queue an empty job that waits on that signaled sempahore, but the test
returns without any further wait, which means the external sempahore may
be destroyed before the driver has had a chance to use it.

Affected tests:
dEQP-VK.api.external.semaphore.sync_fd.import_signaled_temporary

Components: Vulkan
VK-GL-CTS issue: 3636

Change-Id: I3e8daa9146f6fd542ad20539a7e9b6c9f0242978

2 years agoLimit dimensionality of arrays-of-arrays in random SSBO tests
Boris Zanin [Wed, 13 Apr 2022 11:57:22 +0000 (13:57 +0200)]
Limit dimensionality of arrays-of-arrays in random SSBO tests

One of these tests used a 5 dimensional array-of-arrays, resulting
in thousands of instructions that caused issues on devices with low
ram. This change limits the total dimensionality to prevent this.

Components: Vulkan

VK-GL-CTS issue: 1829

Solves:
dEQP-VK.ssbo.layout.random.scalar.75

Affects:
dEQP-VK.ssbo.*.random.*

Change-Id: Ibee39ccb0bd1543dafce7c498f56def1e05b4815

2 years agoFix 32-bit compilation warning
Piers Daniell [Wed, 20 Apr 2022 23:10:12 +0000 (17:10 -0600)]
Fix 32-bit compilation warning

There was a call to new[] in vktSpvAsmTrinaryMinMaxTests.cpp that used
a 64-bit values as an allocation size, which is not the type the
new operator expects when compiling for a 32-bit target.

Add a cast to fix the warning.

Affects:

dEQP-VK.spirv_assembly.instruction.amd_trinary_minmax.*

Components: Vulkan
Change-Id: I0941033614d67530f6cc157b5923e47bdca5c5a9

2 years agoFix extension promotions
Iván Briano [Mon, 11 Apr 2022 20:26:06 +0000 (13:26 -0700)]
Fix extension promotions

VK_EXT_shader_image_atomic_int64 was promoted instead of
VK_KHR_shader_atomic_int64.
VK_KHR_external_semaphore lost its promotion.
VK_KHR_vulkan_memory_model was promoted to the wrong core version.

VK-GL-CTS issue: 3631

Affects:
dEQP-VK.*

Change-Id: I78712093945796adf4076e75f6f3e5c07a4ec832

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 14 Apr 2022 16:23:18 +0000 (16:23 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Ie2a23e7c3811d6cebc0b7ace2351d5a4779bd7d0

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 14 Apr 2022 15:58:41 +0000 (15:58 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I6ab43b2abea09721ad28bdba33565c7c0f0be5fd

2 years agoFix warnings with clang and GCC
Ricardo Garcia [Mon, 4 Apr 2022 08:14:57 +0000 (10:14 +0200)]
Fix warnings with clang and GCC

Affected tests:
No test result should be affected by these changes.

Components: OpenGL, Vulkan
VK-GL-CTS issue: 3602

Change-Id: If2eb0736d296add732aaff53c80a705cc306d7a3

2 years agoRework extensions_data and mandatory_features
Piotr Byszewski [Mon, 25 Oct 2021 19:11:51 +0000 (21:11 +0200)]
Rework extensions_data and mandatory_features

Data from mandatory_features.txt was split to multiple json files
one per extension/vulkan_version. Those files now also include data
that was previously stored in extensions_data.txt .

VK-GL-CTS issue: 3197

Components: Framework, Vulkan

Affects:
dEQP-VK.*

Change-Id: I9756237829366ff4140dcf59dc7548a8f4328cb7

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 7 Apr 2022 18:47:24 +0000 (11:47 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I69f0b9b087df9c33b26ddd014fc1a291fc50dbdd

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

Change-Id: I4a1b44642747f72803ff97dafd55f4ba3fabad9e

2 years agoUse associated physical device from custom instance
Ari Suonpaa [Tue, 29 Mar 2022 08:56:44 +0000 (11:56 +0300)]
Use associated physical device from custom instance

Some of the API feature info tests created a custom instance,
but still used the default physical device. This is fixed by
choosing a physical device using the custom instance.

Comparison of VkPhysicalDeviceMemoryProperties was also
changed to only check the active memoryTypes and memoryHeaps
array elements instead of doing one large deMemCmp.

VK-GL-CTS Issue: 3590

Affects:

dEQP-VK.api.info.*

Components: Vulkan
Change-Id: I2378bcd1e97b7f85e533d34c5b5f6ac3e4fa9b93

2 years agoWait for deferred operations before obtaining RT pipeline handle
Ricardo Garcia [Tue, 29 Mar 2022 14:51:18 +0000 (16:51 +0200)]
Wait for deferred operations before obtaining RT pipeline handle

The ray tracing utils, when creating ray tracing pipelines and using
deferred operations, were using the VkPipeline pointer and handler
before the deferred operation had completed, which is against the spec.

Affected tests:
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.*
dEQP-VK.ray_tracing_pipeline.large_shader_set.cpu_ht*

Components: Vulkan
VK-GL-CTS issue: 3588

Change-Id: Ied8f443c01e99878180130963b8988852171b8a0

2 years agoFix subgroup size control failure logging
Mike Blumenkrantz [Thu, 31 Mar 2022 13:07:29 +0000 (15:07 +0200)]
Fix subgroup size control failure logging

One of the failure messages was missing the message terminator, which
prevented it from ever being logged.

Affects:
dEQP-VK.subgroups.size_control*

Components: Vulkan
VK-GL-CTS issue: 3596

Change-Id: If649a11e0f6cf0f5e69e438d46b385b26e57dfe4

2 years agoParse test case result version when converting to XML
Ricardo Garcia [Fri, 1 Apr 2022 10:01:40 +0000 (12:01 +0200)]
Parse test case result version when converting to XML

When parsing QPA files, extract the test case result version so it can
be later used to print the proper version when converting to XML files.

Components: Framework
VK-GL-CTS issue: 3573
VK-GL-CTS public issue: 287

Change-Id: I34d005621685b0ef31a7092ec7c40e6626bf20e3

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 7 Apr 2022 17:24:00 +0000 (17:24 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I25f8f2f56ab07a9c3f04e8cfa54f2efc11bfd80a

2 years agoAdd queue ownership release in modifier tests
Nanley Chery [Wed, 16 Mar 2022 20:08:04 +0000 (13:08 -0700)]
Add queue ownership release in modifier tests

Queue ownership transfers require a release operation and an acquire
operation. Before this patch, this test only performed the acquire
operation.

Components: Vulkan

VK-GL-CTS issue: 3575

Affects: dEQP-VK.drm_format_modifiers.export_import.*
Change-Id: I2998d7928d1042d6a159e1173257ee551c1120a5

2 years agoFix incorrect layout transition in modifier tests
Nanley Chery [Wed, 16 Mar 2022 20:40:46 +0000 (13:40 -0700)]
Fix incorrect layout transition in modifier tests

The queue family ownership acquire operation specifies a layout
transition from the pre-initialized layout. The image isn't in the
pre-initialized layout however, it's in the transfer dst optimal layout.
Align with the Vulkan spec, which says:

When performing a layout transition on an image subresource, the
old layout value must either equal the current layout of the
image subresource (at the time the transition executes), or else
be VK_IMAGE_LAYOUT_UNDEFINED (implying that the contents of the
image subresource need not be preserved).

Components: Vulkan

VK-GL-CTS issue: 3575

Affects: dEQP-VK.drm_format_modifiers.export_import.*
Change-Id: I76dbb54c699ed7d34e964de17f71ef01bc9e98a5

2 years agoFix lossy layout transitions in modifier tests
Nanley Chery [Wed, 16 Mar 2022 20:07:07 +0000 (13:07 -0700)]
Fix lossy layout transitions in modifier tests

The test performs several layout transitions that use
VK_IMAGE_LAYOUT_UNDEFINED for the initial layout. The spec says that
these transitions cause images to become undefined. The test expects
defined data from these images however. Replace these initial layouts
with layouts that don't cause data loss.

Components: Vulkan

VK-GL-CTS issue: 3575

Affects: dEQP-VK.drm_format_modifiers.export_import.*
Change-Id: I5e57dd197d461fba800d50239803d525c5334ac4

2 years agoFix memory leaks when creating test hierarchy
Ricardo Garcia [Mon, 28 Mar 2022 13:40:57 +0000 (15:40 +0200)]
Fix memory leaks when creating test hierarchy

The lack of a virtual destructor in one of the classes used as part of
some test parameters made createDescriptorValveMutableTests() leak
memory whenever it was called, in the moment the test hierarchy is being
destroyed. The leak will happen not only when running mutable descriptor
test, but when the binding_model test group needs to be generated for
any reason, including running tests in adjacent groups.

Hence, the change has no specific list of affected tests. At the same
time, no test result should be affected by the change.

Components: Vulkan
VK-GL-CTS issue: 3583

Change-Id: I7e847b5927359cef27f9992cd53991dd1a7cb781

2 years agoUse proper image tiling in synchronization test support checks
Ricardo Garcia [Thu, 17 Mar 2022 08:41:32 +0000 (09:41 +0100)]
Use proper image tiling in synchronization test support checks

Some test variants use LINEAR instead of OPTIMAL tiling and the proper
tiling mode features need to be checked.

Affected tests:
dEQP-VK.synchronization.*

Components: Vulkan
VK-GL-CTS issue: 3572

Change-Id: I16042ace7fb3a2f93b1503e539a5bbe59e03ae14

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 31 Mar 2022 19:30:35 +0000 (12:30 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I5e73a149353915a09697633abab737ee8a38fdca

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 31 Mar 2022 17:26:55 +0000 (17:26 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I4624140325b398fc901142f54425375b5ffa3d66

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 31 Mar 2022 17:02:52 +0000 (17:02 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ibcfcfa0cf5ad247b4c80017ad298d15a5139868f

2 years agomodifiers: Use dedicated memory consistently
James Jones [Fri, 27 Aug 2021 23:33:24 +0000 (16:33 -0700)]
modifiers: Use dedicated memory consistently

When a dedicated allocation device memory object
is exported, it must be imported as a dedicated
allocation created with a compatible resource as
well.  This change makes the DRM format modifier
tests self-consistent in that regard.

Components: Vulkan

Affected tests: dEQP-VK.drm_format_modifiers.export_import.*

VK-GL-CTS issue: 3544

Change-Id: I93a35180b9a5a1b98e0d4fa1f2934258134cef1b

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Mon, 28 Mar 2022 14:14:48 +0000 (14:14 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Ie50f49d88d9a088bd86f6a659349557d5ad50cea

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Mon, 28 Mar 2022 14:14:33 +0000 (14:14 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Iefb6b35452197d43db9dfc52b689476d2a81b8dd

2 years agoFix Zlib depedency
Peter Kohaut [Mon, 28 Mar 2022 11:53:49 +0000 (13:53 +0200)]
Fix Zlib depedency

Use newer version of Zlib as older is no longer available to download from the zlib.net page

Components: Framework

Affects:

None

VK-GL-CTS Issue: 3587

Change-Id: Ie166dc897b0d1318c1ae73434bfa19687b579691

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 24 Mar 2022 20:13:05 +0000 (20:13 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I81f233780e77ccfb79e9b1b9d982c9406a9ca268

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 24 Mar 2022 19:49:07 +0000 (19:49 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I8a313ea2aebdd5163a689b2cc31161e5963172a2

2 years agoCheck for visibility in external_memory_host test
Michael Chock [Wed, 2 Mar 2022 17:16:34 +0000 (09:16 -0800)]
Check for visibility in external_memory_host test

The external_memory_host synchronization test uses mapMemory when
validating the contents of the external memory, but does not ensure that
the memory is host-visible. When choosing a memory type for the
host-visible memory, additionally check the HOST_VISIBLE flag.

Affects:

dEQP-VK.memory.external_memory_host.synchronization.synchronization

Components: Vulkan

VK-GL-CTS issue: 3547

Change-Id: I0cff8f42debedd01db1760881a6f5f9481ea39bf

2 years agoFix dEQP-VK.subgroups.size_control.compute.required_subgroup_size_*_require_full_subg...
Jason Ekstrand [Wed, 16 Mar 2022 22:33:17 +0000 (17:33 -0500)]
Fix dEQP-VK.subgroups.size_control.compute.required_subgroup_size_*_require_full_subgroups

The tests were testing full subgroups with four workgroup sizes:

 - Nx1x1
 - 1xNx1
 - 1x1xN
 - getLocalSizes() which returns a maximally large workgroup size

However, the Vulkan spec says:

    "If a VkPipelineShaderStageRequiredSubgroupSizeCreateInfo structure
    is included in the pNext chain, and flags has the
    VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT flag set,
    the local workgroup size in the X dimension of the pipeline must be
    a multiple of
    VkPipelineShaderStageRequiredSubgroupSizeCreateInfo::requiredSubgroupSize

This means that the middle two subgroup sizes are invalid for use with
VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT.

Components: Vulkan

Affects:
 - dEQP-VK.subgroups.size_control.compute.required_subgroup_size_max_require_full_subgroups
 - dEQP-VK.subgroups.size_control.compute.required_subgroup_size_min_require_full_subgroups

Change-Id: I46f2547e1a50f78cbed6695f96448f463ca57230

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 10 Mar 2022 17:20:41 +0000 (17:20 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: If390df3efc02bff47f240c62e35d23e78c537b4c

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 10 Mar 2022 16:57:32 +0000 (16:57 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I31b3e7ec830aa10aa3c06ef61972a4e9c48dffc2

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 10 Mar 2022 16:34:26 +0000 (16:34 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I010f996f4b726f1f79e9bbe9b9f3e96131021f00

2 years agoDisable BC7 mode 8 pattern generation
Boris Zanin [Tue, 1 Mar 2022 15:16:12 +0000 (16:16 +0100)]
Disable BC7 mode 8 pattern generation

Due to BC7 is underspecified for mode 8 (LSB=0x00) tests
should avoid testing it. This commit avoids generation
mode 8 BC7 compressed blocks.

Affects tests:
 * dEQP-VK.*bc7*

Components: Framework, Vulkan

VK-GL-CTS issue: 3501

Change-Id: I222046f703fbead2bf5c64376defc6481989be24