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

2 years agoDon't adjust vertext buffer pointer in AS for indirect AS build.
Slawomir Cygan [Wed, 19 Jan 2022 11:51:01 +0000 (12:51 +0100)]
Don't adjust vertext buffer pointer in AS for indirect AS build.

Indirect build test programs offsets into the vertex buffer in the wr-asb
shader. This shader mimics vertex buffer pointer adjustment that is done in
AS build util.

Doing both adjustments (in shader and in AS) would cause out of bounds
accesses.

Authored-by: German, Leonid <leonid.german@intel.com>
Components: Vulkan

VK-GL-CTS Issue: 3540

Affects: dEQP-VK.ray_tracing_pipeline.indirect.build_structure

Change-Id: Iace6cf96d478641f412de3a3d0ec7ab001860f29

2 years agoDo not require full subgroups when requiring a work group size
Ricardo Garcia [Thu, 17 Feb 2022 10:09:07 +0000 (11:09 +0100)]
Do not require full subgroups when requiring a work group size

Most subgroup tests that require a particular work group size use the
VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT flag when
creating the shader stage, but that in turn forces the local size in the
X dimension to have certain values as required by the following VUID:

  VUID-VkPipelineShaderStageCreateInfo-pNext-02757

There are specific tests to check full subgroups. The flag can be safely
omitted and these other tests should still work.

Affected tests:
dEQP-VK.subgroups.*compute*

Components: Vulkan
VK-GL-CTS issue: 3520

Change-Id: Ic20d07d3a875156f817066d040ddf5813aef311f

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

Change-Id: I589df8409840b42f6c683dda57616b3ee8359128

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

Change-Id: I3cf7433d510e0966f4f4d96971519aa849cecda0

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

Change-Id: I8e72cdeaa8eed150a5548dd30871eccb09f31d5c

2 years agoMark gl_Position as invariant in invariance tests
Max Andersson [Mon, 7 Feb 2022 11:31:13 +0000 (12:31 +0100)]
Mark gl_Position as invariant in invariance tests

Always marks gl_Position as invariant. The reason
for this is that there is no guarantee that it
will be computed in an invariant way otherwise,
which may cause test failures.

Affects:

dEQP-VK.glsl.invariance.*user_defined*

VK-GL-CTS issue: 3493

Change-Id: Ia172664b454182458dbd13146c2d1688ecf4161f

2 years agoIncrease tolerance in multiple interpolation tests
James Fitzpatrick [Wed, 16 Feb 2022 15:23:21 +0000 (15:23 +0000)]
Increase tolerance in multiple interpolation tests

These tests test that if a shader has multiple varyings with different
interpolation modes each varying is interpolated using the correct
interpolation mode.

The test runs a shader with multiple varyings with different
interpolation modes and expects this to be an exact match with an image
produced by a similar shader with a single varying of the same
interpolation mode.

Due to floating point inaccuracies and different rounding, allow a 1
bit tolerance when comparing the images.

Affects: dEQP-VK.draw.*multiple_interpolation.*

Components: vulkan

VK-GL-CTS issue: 3522

Change-Id: Ib4a8ab527644de5e1c36ecd3e627afe5384cc6f6

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

Change-Id: I3e993e882a340347eea3582c1ba4feb3393b58fc

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

Change-Id: I3ae2bc92916e5c4e2b525a085ba763d4c4b124d1

2 years agoRay tracing: avoid skipping triangles and AABBs at the same time
Ricardo Garcia [Fri, 11 Feb 2022 09:30:05 +0000 (10:30 +0100)]
Ray tracing: avoid skipping triangles and AABBs at the same time

This is illegal according to the spec.

Removed tests:
dEQP-VK.ray_tracing_pipeline.builtin.incomingrayflagsext.*pipelineskipboth*
dEQP-VK.ray_tracing_pipeline.builtin.incomingrayflagsext.*rayskiptriangles.pipelineskipaabbs*
dEQP-VK.ray_tracing_pipeline.builtin.incomingrayflagsext.*rayskipaabbs.pipelineskiptriangles*
dEQP-VK.ray_tracing_pipeline.builtin.incomingrayflagsext.*rayskipboth*

Components: Vulkan
VK-GL-CTS issue: 3508

Change-Id: Iebc50b4b546abc36b2607eeb7c5cbb900de35fcb

2 years agoAvoid invalid reportIntersectionEXT hit kinds in subroup tests
Ricardo Garcia [Thu, 10 Feb 2022 11:22:55 +0000 (12:22 +0100)]
Avoid invalid reportIntersectionEXT hit kinds in subroup tests

Some subgroup ray tracing tests were using invalid values when calling the
reportIntersectionEXT function.

Affected tests:
dEQP-VK.subgroups.*ray_tracing*

Components: Vulkan
VK-GL-CTS issue: 3513

Change-Id: I96310c32e1e5b4fde157570f0a3131d61f5a125c

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

Change-Id: Iba2783e1e1e2bcb839c075dcf4d2b1dbcfbdf43f

2 years agoReplace bitwise or with logical
Mika Väinölä [Thu, 3 Feb 2022 08:15:19 +0000 (10:15 +0200)]
Replace bitwise or with logical

This fixes a Clang 14 bitwise-instead-of-logical warning.

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

Components: Vulkan

VK-GL-CTS issue: 3492

Change-Id: I803ed494ed218b404a2285ed891d41170d66abfe

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

Change-Id: I4adbb2e30086c26c8ad3312a6086e267c2840d42

2 years agoAvoid invalid reportIntersectionEXT hit kinds in mem guarantee tests
Ricardo Garcia [Thu, 10 Feb 2022 10:49:21 +0000 (11:49 +0100)]
Avoid invalid reportIntersectionEXT hit kinds in mem guarantee tests

Only values in the [0, 127] range are allowed with reportIntersectionEXT.

Affected tests:
dEQP-VK.ray_tracing_pipeline.memguarantee.*

Components: Vulkan
VK-GL-CTS issue: 3513

Change-Id: I54669b5b7e2c0f696bbbf3e5a477b1533e4f4488

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 17 Feb 2022 18:08:53 +0000 (18:08 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ib8646342ae0c6c9df3c7f2fa78c24643c10d5e96

2 years agoFix validation errors in compute tests
Ilkka Saarelainen [Wed, 2 Feb 2022 13:37:18 +0000 (15:37 +0200)]
Fix validation errors in compute tests

This CL fixes various validation errors in compute tests.

Affects:
dEQP-VK.compute.basic.image_barrier*
dEQP-VK.compute.cooperative_matrix.*

Components: Vulkan

VK-GL-CTS Issue: 3451

Change-Id: I33037a50d10a5cf8098c33b55ba42900f97f0019

2 years agoRe-enable GCC warning for Amber
Mika Väinölä [Tue, 11 Jan 2022 08:59:09 +0000 (10:59 +0200)]
Re-enable GCC warning for Amber

The Amber version used by vulkan-cts-1.2.7 and later includes aa69a0
which should fix all uninitialized variable warnings.

Components: Framework, Vulkan

VK-GL-CTS issue: 3361

Change-Id: I95bab777232216dad1c1c02bd57f21c8bd2a1528

2 years agoFix rounding issues with texture generation shader
Ari Suonpaa [Wed, 2 Feb 2022 11:27:03 +0000 (13:27 +0200)]
Fix rounding issues with texture generation shader

VK-GL-CTS Issue: 3250

Affects:

dEQP-VK.graphicsfuzz.cov-min-nested-loop-same-value-for-variables
dEQP-VK.graphicsfuzz.cov-sample-texture-hundred-iterations
dEQP-VK.graphicsfuzz.cov-sampler-as-function-argument
dEQP-VK.graphicsfuzz.cov-texel-double-negation
dEQP-VK.graphicsfuzz.cov-variable-copy-in-function-tex-sample
dEQP-VK.graphicsfuzz.spv-stable-sampler-loop-extra-instructions
dEQP-VK.graphicsfuzz.spv-stable-sampler-polar-simple-O-access-chain

Components: Vulkan
Change-Id: I1758bd50da844b2835c858ee5d78af4e7c4bd69a

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 3 Feb 2022 20:01:05 +0000 (15:01 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Ib1155d0946f8c94eed1395127c6441c6a1a54174

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 3 Feb 2022 19:07:05 +0000 (14:07 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I96cce7d1a37d9ab836f098aecf1f5895a9e0185d

2 years agoFix Set/WaitEvent2KHR dependency flags setup
Iulian Milas [Wed, 5 Jan 2022 11:35:03 +0000 (12:35 +0100)]
Fix Set/WaitEvent2KHR dependency flags setup

Vulkan specifies that the dependencyFlags member of pDependencyInfo
must be 0 in case of vkCmdSetEvent2KHR and vkCmdWaitEvents2KHR.
The conformance tests use a non zero default flag.

Components: Vulkan

Affects:

dEQP-VK.synchronization2.basic.event.*
dEQP-VK.synchronization2.op.single_queue.event.*

VK-GL-CTS Issue: 3462

Change-Id: Ic67fb77bcddf198fc77bbc9b3a25979d3e43678b

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 3 Feb 2022 16:56:37 +0000 (16:56 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ic3ea84ef67493d7b596c4f4a9547b7841170a9a9

2 years agoFix compilation on Android
Peter Kohaut [Fri, 21 Jan 2022 08:55:35 +0000 (09:55 +0100)]
Fix compilation on Android

Function testSemaphoreImportSyncFdSignaled is not used and the build process
for Android fails because of it.
Fix just removes this unused function.

Components: Vulkan, AOSP

Affects:

None

VK-GL-CTS Issue: 3465

Change-Id: I82ad0e8df8196ac08d0003f30b7e624461239f84

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 28 Jan 2022 01:06:25 +0000 (01:06 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I078d372dbbcb1886aa13f37995bfcf50cd97413a

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 27 Jan 2022 23:10:08 +0000 (23:10 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I60ad45aaeeb84782bde80829cb1e731fb8e76b01

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 27 Jan 2022 19:12:43 +0000 (19:12 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Iff22de3540519a435bbb7874188bbcadec977b05

2 years agoFix bug in calcFloatDiff
Nishit Shah [Thu, 20 Jan 2022 17:23:14 +0000 (11:23 -0600)]
Fix bug in calcFloatDiff

bsign variable in function calcFloatDiff is wrongly declared. Fixing.

VK-GL-CTS issue: 3472

Affects:
dEQP-VK.api.image_clearing.core.clear_depth_stencil_image*
and all the tests from the vktApiImageClearingTests.cpp file.

Components: Vulkan
Signed-off-by: Nishit Shah <nishit.shah@samsung.com>
Change-Id: I654920c9de460eb04caaca988552f65da3aa2687

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 21 Jan 2022 21:36:09 +0000 (16:36 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Iab61e615b3f7d5b108d925150255a73171e3d438

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 21 Jan 2022 17:33:04 +0000 (12:33 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: If56557dcb21ca8bfd90acbb2fffbd3f8ceed16f2

2 years agoRe-enable Clang warning for Amber
Mika Väinölä [Tue, 11 Jan 2022 07:45:02 +0000 (09:45 +0200)]
Re-enable Clang warning for Amber

The Amber version used by vulkan-cts-1.2.5 and later includes 4d0115c
which should fix all suggest-destructor-override warnings.

Components: Framework, Vulkan

VK-GL-CTS issue: 3361

Change-Id: I36437c797c067521e1444d20cfece33babfe435a

2 years agoGCC 11 build fixes
Mika Väinölä [Thu, 13 Jan 2022 08:00:09 +0000 (10:00 +0200)]
GCC 11 build fixes

Some files used std::numeric_limits without including <limits> and
failed to compile.

VK-GL-CTS issue: 2842

Change-Id: I21e37ce38db08c7c7041f4628ac852588a788852

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 20 Jan 2022 21:10:44 +0000 (21:10 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I790e54266657e91c84b9e40f6eb7385914d569c6

2 years agoDecrease required subgroup size
Ilkka Saarelainen [Wed, 17 Feb 2021 11:33:22 +0000 (13:33 +0200)]
Decrease required subgroup size

dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point
test assumed that the subgroupSize is >= 8. The test failed if the
supported subgroupSize is less than 8.

This CL lowers the required subgroup size to 4.

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point

Components: Vulkan

VK-GL-CTS issue: 2698

Change-Id: I9931dab7a57c0b6b73530e72bca0c0d9cc90f87d
(cherry picked from commit 8f9b9137470ed5b0cd0b38edd9e9c28ccf565731)

2 years agoFix for potentially uninitialized variables
Jari Komppa [Tue, 11 Jan 2022 14:58:31 +0000 (16:58 +0200)]
Fix for potentially uninitialized variables

This change adds a constructor for a struct which sets the members that
do not have a constructor of their own to known values.

This potentially affects anything that uses the reference rasterizer,
but should not change any test results.

Affects:
*

Components: Framework
VK-GL-CTS issue: 3434

Change-Id: Ie874b4baa4d2ff5a8aa66f9ea2c3cd11b37edb64

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 20 Jan 2022 17:01:38 +0000 (17:01 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I3080cbdc60602f0faea714502bbc5461cac257e0

2 years agoFix NULL/False to std::string conversion errors
Mika Väinölä [Fri, 17 Dec 2021 07:10:19 +0000 (09:10 +0200)]
Fix NULL/False to std::string conversion errors

Newer versions of GCC reject std::string(DE_NULL). Previously this
didn't cause any errors or warnings when compiling, but should produce
an error at runtime. This change replaces invalid values with empty
string literals and adds deFatalStr for cases that potentially
relied on the string constructor throwing an exception.

Components: Framework, OpenGL, Vulkan
VK-GL-CTS issue: 3419

Change-Id: I68ec7d1447d1e96f5d7841e0684687cdd294fe39

2 years agoRequire geometry shaders for adjacency topologies
Sean Risser [Fri, 30 Apr 2021 17:02:57 +0000 (13:02 -0400)]
Require geometry shaders for adjacency topologies

Clipping tests would use adjacency topologies with drivers that didn't
support geometry shaders.

Components: Vulkan

Affects: dEQP-VK.clipping.clip_volume.depth_clip.*
VK-GL-CTS Issue: 2906

Change-Id: I7a41e62dcbcdcab46ce4f8b04bfe322c688fbcac

2 years agoFix getting capture address in RT capture replay tests
Slawomir Cygan [Fri, 10 Dec 2021 10:34:37 +0000 (11:34 +0100)]
Fix getting capture address in RT capture replay tests

Use vkGetBufferOpaqueCaptureAddress to retreive address
used in opaqueCaptureAddress

Components: Vulkan

VK-GL-CTS Issue: 3420

Affects: dEQP-VK.ray_tracing_pipeline.capture_replay.shader_binding_tables
Change-Id: Ifaa2fe92d6517fa75a29ad21c06365efd7857de4

2 years agoRemove time measurement on deferred host build tests
Sławomir Cygan [Mon, 10 Jan 2022 15:16:38 +0000 (16:16 +0100)]
Remove time measurement on deferred host build tests

The time measurement is wrongly implemented in this test
- it measures also thread creation, allocations and VK setup time, additionally
to AS build.  It is not easily fixable.

Moreover, the spec says that offloading the work to background threads
is 'desirable', however it never says it is faster.

VK-GL-CTS Issue: 3435

Components: vulkan

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

Change-Id: I41d836e2e454b9fb9bb46109edddd4eda19370e9

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 14 Jan 2022 17:36:58 +0000 (17:36 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I1d7510b4e0626392ff35aa1f38c1bd193b8ce319

2 years agoRemove api.tooling_info.validate_instance_layers
Arkadiusz Sarwa [Tue, 7 Dec 2021 17:22:32 +0000 (18:22 +0100)]
Remove api.tooling_info.validate_instance_layers

Remove:
dEQP-VK.api.tooling_info.validate_instance_layers

Components: Vulkan
VK-GL-CTS issue: 3395

This reverts commit 7628909f404f665eb54c6a5019386747fb631134.

Change-Id: I68de938e73c10fed80d4e9bb3698b513a1b44315

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 14 Jan 2022 06:54:19 +0000 (06:54 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Ic336acbf09ed630cc1b20ea82796f20369b1a5dc

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 14 Jan 2022 05:19:30 +0000 (05:19 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I7ec0667baf95d997230a8befced3ca4f2cda4876

2 years agoFix sType Tooling Info tests
Mohankumar Nekkarakalaya [Wed, 12 Jan 2022 21:23:25 +0000 (13:23 -0800)]
Fix sType Tooling Info tests

Tooling Info tests were not setting the sType correctly. This goes
against spec
where "sType must be
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT". These
tests also check this sType to validate functionality.

Components: Vulkan

Affects:
dEQP-VK.api.tooling_info.*

VK-GL-CTS issue: 3444

Change-Id: Ic72104261a577d7d767742d4b2828296eba3922c

2 years agoDeqpTestRunner: fix deqpLogFilename
Paul Thomson [Fri, 3 Dec 2021 16:48:36 +0000 (16:48 +0000)]
DeqpTestRunner: fix deqpLogFilename

Fix capitalization of shell argument "deqpLogFilename" in
DeqpTestRunner.java. The code still worked fine in most cases because
the default filename matches the filename passed in DeqpTestRunner.java.

Components: Android
Google bug: b/206657494

Change-Id: I857fa3994ada72aa96d199569704a46034255309
(cherry picked from commit 42017ff7072dcc7e7a7d51dd5611be05abf5460f)

2 years agoAdd format check to SharedPresentableImageTest
Mikolaj Chadzynski [Thu, 23 Dec 2021 08:38:54 +0000 (09:38 +0100)]
Add format check to SharedPresentableImageTest

The SharedPresentableImageTest does not follow Vulkan spec.
The SurfaceFormats got by getPhysicalDeviceSurfaceFormats ->
getPhysicalDeviceSurfaceFormatsKHR should be checked by
vkGetPhysicalDeviceImageFormatProperties. This is according to:
www.khronos.org/registry/vulkan/specs/1.2-extensions/html/chap33.html
"33.5. Surface Queries
In addition to the surface capabilities as obtained by surface queries
below, swapchain images are also subject to ordinary image creation
limits as reported by vkGetPhysicalDeviceImageFormatProperties. As an
application is instructed by the appropriate Valid Usage sections, both
the surface capabilities and the image creation limits have to be
satisfied whenever swapchain images are created."

Unsupported format can lead to non-deterministic behavior e.g.
a segmentation fault, a null pointer dereference in a test or a driver.

VK-GL-CTS issue: 3422

Affects:
dEQP-VK.wsi.android.shared_presentable_image.*

Components: Vulkan

Change-Id: Id4bb4d1c81e090ed1d7f34a76f3cfafc464d8cf8

2 years agoFix inl files
Matthew Netsch [Thu, 13 Jan 2022 21:38:03 +0000 (16:38 -0500)]
Fix inl files

Change-Id: I6468dff8d75e73dbd23a0a1b1b1314ea80ef954b
Components: Vulkan, Framework

2 years agoChecked .inl files back into the repo
Piotr Byszewski [Mon, 13 Dec 2021 14:08:09 +0000 (15:08 +0100)]
Checked .inl files back into the repo

By default .inl files won't be generated at build time but
this functionality is still present and to activate it
value of DEQP_VULKAN_INL_GEN_OUTPUTS_DIR should be changed
to point to PROJECT_BINARY_DIR.

VK-GL-CTS issue: 3197

Components: Framework, Vulkan

Affects:
dEQP-VK.*

Change-Id: I6ba5932aa51740048c8dcc0c0222e8f7553ac4b3

2 years agoPass force to fetch_sources
Piotr Byszewski [Fri, 10 Dec 2021 12:32:27 +0000 (13:32 +0100)]
Pass force to fetch_sources

Switching vulkan-docs folders between gitlab and github branches
results in errors on the server (clobbering the tags). Using
fetch sources with --force param resolves the issue.

Components: Vulkan

VK-GL-CTS issue: 3197

Change-Id: I913d5803836e9f7a59494e5ebf6e6261ede52948

2 years agoFix strided device address regions in RT misc tests
Ricardo Garcia [Thu, 11 Nov 2021 17:18:38 +0000 (18:18 +0100)]
Fix strided device address regions in RT misc tests

Some strided device address regions in ray tracing misc tests were being
created with the wrong size, not taking into account some tests were
storing several shader group handles in the binding tables.

In addition, this commit also fixes several validation errors in these
tests, related to bad sizes when flusing allocations and unaligned
strides in strided device address regions, which needed to be rounded
up.

Affected tests:
dEQP-VK.ray_tracing_pipeline.misc.*

Components: Vulkan
VK-GL-CTS issue: 3280

Change-Id: I7d20c347ff44b455547115d1a6b94c5d69a46c2c

2 years agoFix ray tracing closedFan2 tests
Ricardo Garcia [Tue, 9 Nov 2021 16:26:37 +0000 (17:26 +0100)]
Fix ray tracing closedFan2 tests

The watertightness tests for ray tracing include a closedFan2 variant
that had several issues.

These tests create a circle made of a variable number of triangles, all
of them sharing a central vertex and all of them sharing two edges with
neighboring triangles.

With that composition, closedFan2 variants created one geometry, BLAS
and instance per triangle, and tried to verify certain rules regarding
closed fans and watertightness. This had several problems:

- By having each triangle belong to a different instance, the set up
  does not meet the requirements for watertight geometry as laid out in
  the spec.

- Ray tracing shaders were increasing atomic counters, indexing them per
  ray and primitive id, in the any-hit shader. If a counter was
  increased more than once, this was considered a failure. However, in
  the closedFan2 variants all triangles have primitive id zero due to
  all of them belonging to different geometries. If a ray was found to
  hit two geometries/BLAS, it would result in a failure because the same
  counter would be increased twice, but that result is legal according
  to the spec.

This commit fixes closedFan2 tests by addressing both issues:

- The tests now create one geometry per triangle, but groups all
  geometries in a single BLAS and instance, meeting the spec
  requirements regarding closed fans.

- When increasing atomic counters, they are indexed per ray and per
  geometry index, so it is illegal to hit the same geometry twice with
  the same ray, following the rules of
  VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, but they allow
  the same ray to hit two triangles (geometries) as the spec allows.

In addition, it also removes some dead code and fixes angle calculation
so they fall in the [-pi, pi] range.

Affected tests:
dEQP-VK.ray_tracing_pipeline.watertightness.*

Components: Vulkan
VK-GL-CTS issue: 3150

Change-Id: I430be3a1830592d37b75031b8506a194c862a0d7

2 years agoReduce framebuffer size of dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontempor...
Jörg Wagner [Mon, 6 Dec 2021 08:57:51 +0000 (09:57 +0100)]
Reduce framebuffer size of dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontemporal-store

Reduce the size to 32x16 to avoid avoid timeouts on low-end platforms.
This shouldn't affect the ability to find compiler bugs because the
shader itself is the same.

Affects: dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontemporal-store

Components: Vulkan

VK-GL-CTS Issue: 3411

Change-Id: If4fac83d04723ab16e987a2f7d1495bf1a8f055f

2 years agoFix validation errors in renderpass tests
Ilkka Saarelainen [Fri, 17 Dec 2021 05:36:16 +0000 (07:36 +0200)]
Fix validation errors in renderpass tests

This CL fixes the validation errors in some of the renderpass
tests. The tests incorrectly defined subpass dependency access
scopes for depth/stencil attachments in some cases.

Affects:

dEQP-VK.renderpass*.attachment_allocation.*

Components: Vulkan

VK-GL-CTS Issue: 3385

Change-Id: Ia9cc78bd28dde5b9cdbf4e28ba759e3bde44a9d0

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts-1.2.7
Matthew Netsch [Fri, 7 Jan 2022 17:55:19 +0000 (12:55 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts-1.2.7

Change-Id: I05420f73334f6aee2729ea2e8f76a079de896617

2 years agoUpdate kc-cts version
Piotr Byszewski [Wed, 8 Dec 2021 16:07:35 +0000 (17:07 +0100)]
Update kc-cts version

Version of kc-cts was updated to include fix for inl dependency.

Components: OpenGL

VK-GL-CTS issue: 3400

Change-Id: Ic28275604849506de4139c0bbda20278a2431ca1

2 years agoCreate command pool with command buffer reset in RT tests
Mohankumar Nekkarakalaya [Tue, 9 Nov 2021 17:56:08 +0000 (09:56 -0800)]
Create command pool with command buffer reset in RT tests

-When command pool was created either command buffer reset
 bit should have been set or command buffer should have
 reset pool before using for VU.
-Fix is to create command pool with reset bit set.

Components: Vulkan

VK-GL-CTS Issue: 3288

Affected tests: dEQP-VK.ray_tracing_pipeline.acceleration_structures.device_compability_khr.*

Change-Id: Ie21926cd53c505e46da0d03a6082e689d45d5d2a

2 years agoSuppress GCC 11 conversion warning
Mika Väinölä [Tue, 30 Nov 2021 11:13:52 +0000 (13:13 +0200)]
Suppress GCC 11 conversion warning

On GCC 11 with UBSan enabled deHalfIsIEEENaN produces warnings due to
right shift promoting the result of an expression to an int, which is
then assigned to a deUint16.

Components: Framework

VK-GL-CTS issue: 3371

Change-Id: I48526b61ead69ee14b3253fa29737499253e62bc

2 years agoFix allocation of system memory.
Arkadiusz Sarwa [Wed, 17 Nov 2021 15:43:24 +0000 (16:43 +0100)]
Fix allocation of system memory.

Allocation of system memory which have been used as reference data can fail.

VK-GL-CTS issue: 3319
Components: Vulkan

Affects:
dEQP-VK.reconvergence.*

Change-Id: Icf9e6a2ad15912109aee2b6ea693a17650579087

2 years agoGenerate inl files at build time
Piotr Byszewski [Wed, 13 Oct 2021 12:17:14 +0000 (14:17 +0200)]
Generate inl files at build time

Inl files are no longer checked into the repo instead they are
generation at build time.

VK-GL-CTS issue: 3197

Components: Framework, Vulkan

Affects:
dEQP-VK.*

Change-Id: I526ed3d8dc8cc54860e44937a5048e499248a3c6