platform/upstream/VK-GL-CTS.git
2 years agoAdds reset watchdog timer to timeline sempahore tests
Matthew Netsch [Wed, 10 Aug 2022 16:29:24 +0000 (09:29 -0700)]
Adds reset watchdog timer to timeline sempahore tests

Tests go through many iterations which exceeds test
max time when matchdog timer is enabled

Components: Vulkan
VK-GL-CTS Issue: 3884

Affects:
dEQP-VK.synchronization*.basic.timeline_semaphore.chain

Change-Id: Id257b7162d49cfaf5b78c198cdc932f74c0d4a2b

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Thu, 25 Aug 2022 17:58:42 +0000 (17:58 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I1be609e78cf12d03a7db1430364c332ec1ac37ae

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

Change-Id: If088fd987f51bff07712612cfc9672f1cddd1df6

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Thu, 25 Aug 2022 17:04:58 +0000 (17:04 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I17c7fc7a6c0dde2555e90873105027b0f26e94ad

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

Change-Id: Ia1e9c64b9149680d40e6c2deff9e64725c227439

2 years agoImprove the error message when storing uncomressed images fails.
Hyunjun Ko [Mon, 22 Aug 2022 06:55:24 +0000 (15:55 +0900)]
Improve the error message when storing uncomressed images fails.

It's been ambiguous since the output doesn't have any information when
storing an uncompressed image fails.

Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.*

Components: Vulkan

VK-GL-CTS issue: 3897

Change-Id: I923efb15a9927c87c581dc3c96115b5d6c0b2580

2 years agoFix loop continue construct for SPIR-V assembly
Graeme Leese [Thu, 18 Aug 2022 14:33:53 +0000 (15:33 +0100)]
Fix loop continue construct for SPIR-V assembly

The multi-block continue construct tests were setting the continue
target to the loop header itself, which is not valid according to the
new structural dominance rules. Set it to the first block inside the
loop instead, which still gives a multi-block continue construct but
also follows the validation rules.

Components: Vulkan
VK-GL-CTS issue: 3896
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.loop.multi_block_continue_construct_*

Change-Id: I7480f6107696ec8587625bfa110aa7478308512f

2 years agoFix SPIRV validation for decoration tests
Graeme Leese [Thu, 18 Aug 2022 11:36:28 +0000 (12:36 +0100)]
Fix SPIRV validation for decoration tests

The decoration matching tests were incorrectly using Flat and
NoPerspective decoration on vertex inputs. The validator has been
updated to catch these errors, so the tests now cause an InternalError.

Compoennts: Vulkan
VK-GL-CTS issue: 3895
Affects: dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.flat
         dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.no_perspective
         dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.flat
         dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.no_perspective

Change-Id: I818868ca87d15d068430e9721204be620b28e225

2 years agoFix barrier VK_AMD_buffer_marker
Arkadiusz Sarwa [Tue, 23 Aug 2022 15:08:55 +0000 (17:08 +0200)]
Fix barrier VK_AMD_buffer_marker

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

Components: Vulkan
VK-GL-CTS issue: 3854

Change-Id: Ia65c7ec44db3019125012b7d7e2d1b65e0f942f6

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Thu, 18 Aug 2022 18:49:41 +0000 (18:49 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I5f375b6bff37ba08cc50312cfa343687d0c47100

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

Change-Id: Ie7efa23462961766664d6368f320b20e2c78ae2b

2 years agoUse correct render target format in YCbCr view tests
ziga-lunarg [Thu, 4 Aug 2022 01:20:33 +0000 (03:20 +0200)]
Use correct render target format in YCbCr view tests

For render target use the same format type as plane
compatibility format

Components: Vulkan

VK-GL-CTS issue: 3601

Affected tests:
dEQP-VK.ycbcr.plane_view.image_view.*

Change-Id: I7f03c90069b21a6ea84c6ee9d6d85c31cee3e3ad

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Thu, 18 Aug 2022 17:53:46 +0000 (17:53 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Ie4a4557846994113b7ebf52e35851c0547faf815

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

Change-Id: Id059134a7e90b7b6c1c35ad9955ec1bc994db896

2 years agoCorrect the image barrier in ray tracing test
yaozhong.zhang [Thu, 4 Aug 2022 10:59:54 +0000 (18:59 +0800)]
Correct the image barrier in ray tracing test

When running the ray tracing pipeline CPU build tests, the image
barrier is not actually used, as no acceleration structure commands
are recorded. On the other hand, the image is used by trace ray
command, instead of building acceleration structure. So, change the
barrier for trace ray command.

Affects:
dEQP-VK.ray_tracing_pipeline.build.*

Components: Vulkan

VK-GL-CTS issue: 3874

Change-Id: Ie70fd57fe9f81952dff21f670a194244856c3d3b

2 years agoFix undefined behaviour by bit-shifting with negative value.
Hyunjun Ko [Tue, 16 Aug 2022 09:34:12 +0000 (18:34 +0900)]
Fix undefined behaviour by bit-shifting with negative value.

When getTextureFormatMantissaBitDepth returns 0 for the non-existent channels,
it leads to 1u << (0u - 1u), that is undefined behaviour, especially
leads to unexpected results on arm64.

Affects:
dEQP-VK.image.store.*
dEQP-VK.image.load_store.*
dEQP-VK.image.format_reinterpret.*

Components: Vulkan

VK-GL-CTS issue: 3888

Change-Id: I669eebb1f78c78dc89fb456e71f2ca0af3b66836

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

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

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

Components: Vulkan

VK-GL-CTS issue: 3878

Change-Id: Id25378e9546950bed463f1f278c6859306e0e0d8

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Thu, 11 Aug 2022 17:42:52 +0000 (17:42 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I5471c3248524c729578e31e79b8b6d82716d9855

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Thu, 11 Aug 2022 17:14:28 +0000 (17:14 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: Iadc5e30854c3e3cb44290af6464c9511bf1f147e

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

Change-Id: I1c0a72196ea1fe9774e494d1b4dd204931e433a9

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

Change-Id: I77d7ce7559662f59a9a0eee5d2734171421c9e1e

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

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

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

Affects:
dEQP-VK.info.physical_device_groups

Components: Vulkan
VK-GL-CTS issue: 3876

Change-Id: I3900723034bddb2dee0aaaab549cc6d362b1339e

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

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

Affects:
dEQP-VK.sparse_resources.image_sparse_memory_aliasing.*

Components: Vulkan

VK-GL-CTS issue: 3709

Change-Id: I8739aeeaf05103942158451196480734f62ab835

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

This reverts commit 8b95b2a1da75ca3dc3a2cfac98ce10d9a699687e.

Reason for revert: Amber verify failures on main

Components: Vulkan
VK-GL-CTS Issue: 3787

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

Change-Id: Ifdf1a47a32091182fa51353748ffcf4eeab92d51

2 years agoFix dEQP-VK.api.buffer_memory_requirements tests
Matthew Netsch [Fri, 29 Jul 2022 19:25:22 +0000 (12:25 -0700)]
Fix dEQP-VK.api.buffer_memory_requirements tests

Tests attempt to allocate large amounts of virtual
memory (256GB), which can cause the test time to
exceed the max watchdog execution time (30s).

Reset the watchdog timer to prevent it from failing
when the test is still making progress.

Components: Vulkan
VK-GL-CTS Issue: 3864

Affects:
dEQP-VK.api.buffer_memory_requirements.*

Change-Id: Ic41a6b5a8b368fd5839279bc6052c278c6f32677

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

Change-Id: I239d4b02c3c3de37b3034387774ae38802cf6873

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

Change-Id: I87f90200bc8aa2c12c9627c0ae112b6b06b7b7fd

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

Change-Id: I4d02b59e782c15f9add2d29da2eaa960847e1d93

2 years agoFix undefined behaviour by allowing NaNs
Marcin Kańtoch [Tue, 26 Jul 2022 15:25:41 +0000 (17:25 +0200)]
Fix undefined behaviour by allowing NaNs

One graphicsfuzz test contains computations with the float constant 0x1.8p+128.
This constant represents a NaN value. The computation with undef in the test
allows any optimization/triggers undefined behavior and the driver is free
to crash. Adding OpExecutionMode %4 SignedZeroInfNanPreserve 32 to the CTS fixes
this by allowing NaNs.

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

Components: Vulkan

VK-GL-CTS issue: 3787

Change-Id: Id7140deddec240fdc5d9b1712c974199fa06b250

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

Change-Id: I2adb1c6a23f05f9b1bc09a86852a39d3aa12ceaf

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

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

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

Components: Vulkan
VK-GL-CTS Issue: 3863

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

Change-Id: I57e9a4aeee0ebda3fee1396c780d03941959ba6f

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

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 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 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 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 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 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 agoFix aliasing issue for globalPriorityQuery feature
John Anthony [Thu, 12 May 2022 14:39:22 +0000 (16:39 +0200)]
Fix aliasing issue for globalPriorityQuery feature

Affects:
dEQP-VK.info.device_mandatory_features

Components: Vulkan

VK-GL-CTS issue: 3675

Change-Id: Id7e18078bcd9650667834915ed4bbe3453ede91c

2 years agoSeparate create with unsupported feature tests
Jari Komppa [Fri, 8 Apr 2022 11:51:17 +0000 (14:51 +0300)]
Separate create with unsupported feature tests

This change separates the create device with unsupported features tests
into separate tests so they can be ignored on case by case basis.

The change also changes the hierarchy of device_init.*, moving the
existing tests to new .basic leaves.

Affects:
dEQP-VK.api.device_init.*

New tests:
dEQP-VK.api.device_init.create_device_unsupported_features.*

Subsystem: Vulkan
VK-GL-CTS issue: 3585

Change-Id: I05b79cbc7b74eeaeeea256c7bf5fa0bd53e3d43d

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Fri, 3 Jun 2022 20:23:08 +0000 (13:23 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: If2b3f337e48dea10ccfb3fd457f17badde5c4f43

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Fri, 3 Jun 2022 19:47:51 +0000 (19:47 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: I2b98a1c69c321ed574eae1878442a1b1cb5012d3

2 years agoFix redundant writes to compressed texture
Connor Abbott [Thu, 24 Mar 2022 18:40:19 +0000 (19:40 +0100)]
Fix redundant writes to compressed texture

We already dispatch one workgroup per block, so there's no need to then
loop over all the blocks in the compute shader. Just write one block per
invocation.

Components: Vulkan

Affects:
dEQP-VK.image.sample_texture.128_bit_compressed_format*
dEQP-VK.image.sample_texture.64_bit_compressed_format*

VK-GL-CTS Issue: 3582

Change-Id: If1cf7d4a79e00dcfe735aa9c4d97220242283a12

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 3 Jun 2022 15:45:00 +0000 (08:45 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Id52b20aa498ddcc1b9dc05b7415b8d67259e2043

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 agoFix barrier in layer_copy_before_resolving tests
Eilif Swensen [Wed, 27 Apr 2022 13:50:04 +0000 (15:50 +0200)]
Fix barrier in layer_copy_before_resolving tests

The pipeline barrier separating the clear command from the draw command
should have dstStageMask=VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
to ensure that the clear finished before the draw starts.

Affects:

dEQP-VK.api.copy_and_blit.*.resolve_image.layer_copy_before_resolving.*
dEQP-VK.api.copy_and_blit.*.resolve_image.copy_with_regions_before_resolving.*

Components: Vulkan

VK-GL-CTS issue: 3662

Change-Id: Idf91dcfa2e83760e3e9bc877ce11278217d8cbdc

2 years agoFix EGL test list split
Paul Thomson [Wed, 13 Apr 2022 17:41:30 +0000 (18:41 +0100)]
Fix EGL test list split

Component: Android

Google bug: b/229087109

Change-Id: I1e7fd040742ef0c2dda48c9962f985ea4f517caa

2 years agoSeparate device feature tests
Jari Komppa [Fri, 25 Mar 2022 08:02:58 +0000 (10:02 +0200)]
Separate device feature tests

This change separates the physical device features tests from
one monolithic test into separate tests so they can be ignored
on case by case basis.

The change also changes the hierarchy of the properties2.* group, moving
the existing tests to a new .basic leaf node.

Affected:
dEQP-VK.api.info.get_physical_device_properties2.*

New tests:
dEQP-VK.api.info.get_physical_device_properties2.features.*

Components: Vulkan
VK-GL-CTS issue: 3576

Change-Id: I48b2997be2775249cf67fb6a5be73962f94edf13