platform/upstream/VK-GL-CTS.git
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 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 agoMirror ANGLE Khronos waiver for Android
Paul Thomson [Mon, 20 Dec 2021 12:39:21 +0000 (12:39 +0000)]
Mirror ANGLE Khronos waiver for Android

Components: Android
VK-GL-CTS issue: 3255

Excluded:

dEQP-GLES3.functional.transform_feedback.array_element.*
dEQP-GLES3.functional.transform_feedback.random.*
dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.*_array_element
dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.*.array.*

Change-Id: I670c1e71d60dced06229520bca6244e87fa4ea1a

2 years agoFix requirements tests for multiplane images
James Fitzpatrick [Wed, 8 Dec 2021 12:17:29 +0000 (12:17 +0000)]
Fix requirements tests for multiplane images

The memory requirements tests for multiplane images would previously
assume that bits were not sparsely set in memoryTypeBits.

This could lead to the tests assuming that an implementation was
returning a lazily allocated memory type for an image without
transient attachment set.

Affects: dEQP-VK.memory.requirements.*multiplane_image*

Components: Vulkan

VK-GL-CTS issue: 3405

Change-Id: Ic1e56d7412ac413da907059c79b3f7064b3c664b

2 years agoReduce framebuffer size of spv-stable-pillars-O-op-select-to-op-phi
Jörg Wagner [Mon, 6 Dec 2021 08:57:51 +0000 (09:57 +0100)]
Reduce framebuffer size of spv-stable-pillars-O-op-select-to-op-phi

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-O-op-select-to-op-phi

Components: Vulkan

VK-GL-CTS Issue: 3367

Change-Id: I2eacbc75df29b8dc44c8744bc13e140d6ef7c0cb

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 7 Jan 2022 16:02:38 +0000 (11:02 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I8e4fb16c3f82b6cc42af849e201d50ad2f053d6e

2 years agoAdditional warning fix for Clang 13
Ricardo Garcia [Thu, 9 Dec 2021 14:23:57 +0000 (15:23 +0100)]
Additional warning fix for Clang 13

Fixes warning about unused variable. No test results should be affected
by this change.

Components: Vulkan
VK-GL-CTS issue: 3147

Change-Id: Ib7c0425891e33e65e22ed90668aa3d0d7eae85df

2 years agoFix mismatched ray payload in descriptor set random tests
Ricardo Garcia [Tue, 14 Dec 2021 10:08:16 +0000 (11:08 +0100)]
Fix mismatched ray payload in descriptor set random tests

Miss shaders had a ray payload declaration that didn't match other
shading stages.

Affected tests:
dEQP-VK.binding_model.descriptorset_random.*.miss.*

Components: Vulkan
VK-GL-CTS issue: 3412

Change-Id: I4473a883248bc9d572e6112da82bc4c774689071

2 years agoAdd Samsung Driver ID
s.fricke [Fri, 12 Nov 2021 21:54:10 +0000 (13:54 -0800)]
Add Samsung Driver ID

The enum value was added in the 1.2.199 Vulkan Headers

VK-GL-CTS issue: 3384
Components: Vulkan

Affects:
dEQP-VK.api.driver_properties.driver_id_match

Change-Id: Id04c20b5fe8ad90350a588fd0e7de0c498ebe5b6

2 years agoUpdate Android test lists for Broadcom waiver
Paul Thomson [Fri, 3 Dec 2021 17:53:24 +0000 (17:53 +0000)]
Update Android test lists for Broadcom waiver

VK-GL-CTS issue: 2804

Components: Vulkan, Android
Google bug: b/206833783

Change-Id: I51fcc3ce1617dc5a980e893bfc5915e8fc789c74

2 years agoRemove few EGL robustness tests
Brandon Schade [Tue, 28 Sep 2021 19:28:20 +0000 (12:28 -0700)]
Remove few EGL robustness tests

Components: EGL

Affects:
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.*

VK-GL-CTS issue: 257

Change-Id: I9edb2e577fb14b98d83bb16dc31188d3a901606d
(cherry picked from commit 39c99a7ece4b6618cde30c6c621bd3036801bd4b)

2 years agoFix use a device with protected memory enabled
Mohd Faisal [Mon, 22 Nov 2021 14:58:37 +0000 (14:58 +0000)]
Fix use a device with protected memory enabled

Test is trying to allocate memory from protected memory heap using
default device which doesn't have protected memory enabled. Change
checks if the protected memory supported, if it is create a custom
device with protected memory enabled.

Affects:

dEQP-VK.memory.mapping.*.full.variable.implicit_unmap

Components: Vulkan

VK-GL-CTS issue: 3292

Change-Id: I74897e3dd7f1cada0044036ba27ad8764754ed23

2 years agoThrottling CTS producing frame speed
YiHsing Shen [Tue, 9 Nov 2021 02:03:40 +0000 (02:03 +0000)]
Throttling CTS producing frame speed

CTS checks the present time of the frame 6 frames ago. However, if
the default buffer count of BufferQueue is more than 7, CTS could
produce frames continuously in a short time. In this case, the frame
6 frames ago might be not presented yet then CTS fails. To prevent
this situation, CTS produces frames at the speed according to
compositeInterval.

Component: EGL

Affected tests:
dEQP-EGL.functional.get_frame_timestamps.*

Change-Id: I1ac15974a6c4147ee2546ad21dea1fb3e6bf38f9

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 7 Jan 2022 06:07:01 +0000 (01:07 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I85eab03afdf24359556917617b56856b51b7eb07

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 6 Jan 2022 22:45:47 +0000 (17:45 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Id711f3ba5558c490c3629051677c7f41ec2da2d6

2 years agoFix warnings reported by clang 13
Ricardo Garcia [Fri, 10 Dec 2021 13:54:01 +0000 (14:54 +0100)]
Fix warnings reported by clang 13

This commit fixes code that was producing warnings when built using
clang 13. They are mostly about unused variables and null pointer
substractions, but the new code should be semantically the same.

No test results should be affected by these changes.

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

Change-Id: I0eb87c17270a610c8b29ec27ae8e10009053f8e1

2 years agoRename various things for more inclusive language
Jari Komppa [Fri, 19 Nov 2021 13:16:54 +0000 (15:16 +0200)]
Rename various things for more inclusive language

This change renames various things to avoid gender-specific or degatory
terms.

Khronos inclusive language policy:
https://www.khronos.org/about/inclusive-language

Majority of the changes are due to the term 'dummy', as in mannequin or
placeholder, which in programming may mean any of empty, placeholder,
unused, minimal, busywork, ignored or irrelevant.

Changes not included are file names (gluDummyRenderContext), test names
(dummy_instruction_set) or branch names (master).

Affects:
*

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

Change-Id: I3837477a1b3de1142e8d97c503890ccbce9138f8

2 years agoRemove vkDestroyBuffer
Ari Suonpaa [Tue, 14 Dec 2021 05:27:53 +0000 (07:27 +0200)]
Remove vkDestroyBuffer

A buffer allocation test that is supposed to fail a large
allocation still tried to destroy the buffer even when an
error was returned from the allocation. This is now removed.

VK-GL-CTS Issue: 3192

Affects:

dEQP-VK.api.buffer.basic.size_max_uint64

Components: Vulkan
Change-Id: Ic36cb548ab2796b41e2a0b44d023e644b02a6d8c

2 years agoAvoid querying non-supported hardware features
Jari Komppa [Tue, 23 Nov 2021 10:53:00 +0000 (12:53 +0200)]
Avoid querying non-supported hardware features

Change the feature query test to avoid querying information on hardware
features that are not supported. This is done by querying non-existing
feature (max_enum) instead, which must be ignored by implementations.

The change also adds comment to all generated files stating what script
generates the files.

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

Components: Vulkan
VK-GL-CTS issue: 2853

Change-Id: I24a3832abc0721e649edbb112bd7f776c2b5d7f4

2 years agoDisable two warnings for old Amber versions
Mika Väinölä [Mon, 13 Dec 2021 11:00:05 +0000 (13:00 +0200)]
Disable two warnings for old Amber versions

Older versions of Amber fail to build with Clang >= 11 and GCC >=11 due
-Werror and warnings that have been fixed in later versions. Upgrading
Amber in older CTS branches risks accidental downgrades during fix
propagation. This change disables -Wsuggest-destructor-override for
Clang and -Wuninitialized for GCC when building libamber. These
should be re-enabled in newer Vulkan CTS releases.

Components: Framework, Vulkan

VK-GL-CTS issue: 3361

Change-Id: Ifc2ed69584d8ad179042b80212e02ceb9956d110

2 years agoZero initialize array in internal tests
Mika Väinölä [Wed, 1 Dec 2021 10:24:52 +0000 (12:24 +0200)]
Zero initialize array in internal tests

This suppresses a -Wmaybe-uninitialized warning in GCC 11 release
builds.

Affects: dE-IT.delibs.decpp.block_buffer

Components: Framework

VK-GL-CTS issue: 3378

Change-Id: I2315b5cdeecb6e9a54dd419c88134f30a3335029

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 9 Dec 2021 17:41:52 +0000 (17:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I837a41fd83ac421e799900ff74df8b4daa549ecc

2 years agoReduce complexity of some random cases
Jari Komppa [Wed, 8 Dec 2021 14:10:04 +0000 (16:10 +0200)]
Reduce complexity of some random cases

This change adds a complexity heuristics to some random cases and
reduces the final nested array size to avoid complexity explosion.

In practice only 18 test cases out of 1576 are affected.

Affects:
dEQP-VK.ubo.random.*

Components: Vulkan
VK-GL-CTS issue: 3389

Change-Id: If108ce2f04272b7bae9799daffa3682d1fb3aa52

2 years agoGCC 11 build fixes
Mika Väinölä [Wed, 10 Mar 2021 11:16:38 +0000 (13:16 +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: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92
(cherry picked from commit c686fd7ddf13d9ec51c84aea044d36ef3dd69c68)

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Fri, 3 Dec 2021 16:51:10 +0000 (11:51 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I0adccdf3f29176238bd4ca92fe8c9aa380986f43

2 years agoRelax protected heap allocation tests - continuation
Tomasz Gregorek [Fri, 29 Oct 2021 08:01:54 +0000 (03:01 -0500)]
Relax protected heap allocation tests - continuation

Some implementations have limitations on protected heap
allocations, and these limitations cannot be queried
using the Vulkan API. This change allows an out-of-memory
to happen after a certain number of allocations to
compensate that.

Fix protected memory allocation to be done on small
allocation chunks and ignore allocation failures
if there is at least 80 of concurrent allocations
at a time.

VK-GL-CTS issue: 3257

Affects:
dEQP-VK.memory.allocation.random.*

Components: Vulkan
Change-Id: I32ed020195ff468de468bbd8527dec1d7f0db183

2 years agoMirror existing ANGLE waiver for Samsung devices
Ralph Potter [Tue, 9 Nov 2021 12:45:38 +0000 (12:45 +0000)]
Mirror existing ANGLE waiver for Samsung devices

Some Samsung devices utilize an extended ANGLE implementation, with
a Samsung vendor string.

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

Change-Id: I6e49ae571ee38ea8dace36103f9d62055151b520
(cherry picked from commit 34d6d68ab3bd13117d936869fae70d16cc7c1297)

2 years agoDisable depth clamp for graphics pipeline creation tests.
Tomasz Owczarek [Tue, 9 Nov 2021 16:53:02 +0000 (16:53 +0000)]
Disable depth clamp for graphics pipeline creation tests.

Not all GPUs does support depth clamp feature.
Disable depth clamp in pipeline creation tests as it's not used
by tests itself and isn't required to test pipeline creation.

Affects:
dEQP-VK.pipeline.creation_cache_control.graphics_pipelines.*

Components: Vulkan

VK-GL-CTS issue: 3297

Change-Id: I59ed04bfcd1e5fc4b79dae31e254ff48c3410a5b

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 19 Nov 2021 17:27:35 +0000 (17:27 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I2cbe3e52c8373027ab109a6dbaefa6a34f25dd05

2 years agoFix 'implicit-fallthrough' build error on GCC 9.3.0
Sławomir Cygan [Wed, 14 Apr 2021 16:12:12 +0000 (18:12 +0200)]
Fix 'implicit-fallthrough' build error on GCC 9.3.0

It seems the existing comment was not hitting the regular
expression used by the GCC compiler when reading user comments
before case switch fallthrough.

The warning is triggered by -Wextra, which on GCC enables
'-Wimplicit-fallthrough=3'.

Another way to avoid the warning would be to use
[[fallthrough]] statement, but it's from C++17, which does not seem
to be enabled.

Components: Vulkan

Change-Id: Ica52e88f94f4f1c303511d8462938856cb676146
(cherry picked from commit 3cbdbc5564b6684d4737c61d4bcfccd516e14ce7)

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 18 Nov 2021 21:52:19 +0000 (16:52 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I888aaa5fc93ef69f75c6f3a31ab2a02202028cbd

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 18 Nov 2021 19:56:13 +0000 (19:56 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I627fd4331d6dcf4f56a90b8a348dd1294e911e64

2 years agoGCC 11 build fixes
Mika Väinölä [Wed, 10 Mar 2021 11:16:38 +0000 (13:16 +0200)]
GCC 11 build fixes

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

Some dynamic casts and calls to AndroidHardwareBufferExternalApi::
getInstance() produced nonnull warnings. Suppress these by
wrapping them in if statements.

This commit also removes implicit-fallthrough from the list of ignored
GCC warnings in check_build_sanity.py. All such warnings in the CTS
should be fixed by now and recent versions of Clang also support
this warning.

VK-GL-CTS issue: 2842

Change-Id: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92

2 years agoPortability: avoid triangle fans
Piotr Byszewski [Wed, 3 Nov 2021 15:30:14 +0000 (16:30 +0100)]
Portability: avoid triangle fans

When the test itself has nothing to do with triangle fans,
just uses them to perform rendering then use triangle strips
instead so that tests also work for portability.

Components: Vulkan

VK-GL-CTS issue: 3266

Affects:
dEQP-VK.pipeline.push_constant.graphics_pipeline.overwrite
dEQP-VK.pipeline.extended_dynamic_state.*
dEQP-VK.pipeline.bind_point.graphics_compute.write_write.*

Change-Id: Iefa4f70d626584e71fc4fd341cccc15023a40d2d

2 years agoPortability: handle robustBufferAccess
Piotr Byszewski [Tue, 2 Nov 2021 11:13:32 +0000 (12:13 +0100)]
Portability: handle robustBufferAccess

When the VK_KHR_portability_subset extension is advertised,
robustBufferAccess is no longer a required feature.

Components: Vulkan

VK-GL-CTS issue: 3267

Affets:
dEQP-VK.robustness.*

Change-Id: I957da2a36c40662c99c0b01774a8bf03ef3f3890

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 4 Nov 2021 20:45:41 +0000 (16:45 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I53d429b0dfc4a62a33949748ef4ce0a804f71814

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 4 Nov 2021 20:45:39 +0000 (16:45 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I1c61bd275a7161d071ad79aa493c6634582391a2

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 4 Nov 2021 20:45:32 +0000 (16:45 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ice8e3ca5f949d6c134f91a7d5317ab5892d5147d

2 years agoRemove 64-bit int usage in dynamic_indexing test shaders
Mohankumar Nekkarakalaya [Tue, 12 Oct 2021 18:58:22 +0000 (11:58 -0700)]
Remove 64-bit int usage in dynamic_indexing test shaders

- "OpCapability Int64" is not a mandatory extension
- Replace with v2i32

Components: Vulkan

VK-GL-CTS Issue: 3205

Affected tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.dynamic_indexing.dynamic_indexing
dEQP-VK.ray_query.acceleration_structures.dynamic_indexing.dynamic_indexing

Change-Id: I04b7cf6309b42ef4572e5c79c8e9233aee2edec7

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 29 Oct 2021 13:52:23 +0000 (09:52 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I8a9f12e6adc0daf962a4f6f05d28216db4880ee8

2 years agoCheck shaderInt64 in workgroup memory explicit layout alias tests
Ricardo Garcia [Thu, 14 Oct 2021 11:27:46 +0000 (13:27 +0200)]
Check shaderInt64 in workgroup memory explicit layout alias tests

A few workgroup memory explicit layout alias tests were not checking
shaderInt64 while using 64-bit integers in shaders.

Affected tests:
dEQP-VK.compute.workgroup_memory_explicit_layout.alias.*u64*array*
dEQP-VK.compute.workgroup_memory_explicit_layout.alias.*array*u64*

Components: Vulkan
VK-GL-CTS issue: 3131

Change-Id: I1911018c471e9548603d5de987625163bb356eb9

2 years agoAllow NaN result when result exceeds limit
Mohankumar Nekkarakalaya [Thu, 21 Oct 2021 00:14:08 +0000 (17:14 -0700)]
Allow NaN result when result exceeds limit

Based on spec if the result is too large to be represented
in the floating point the result is undefined.

Issue was found with ldexp. Since fix is applicable in general
updated the isFinite() to take maxValue and checks the interval value
with the allowed max value in the context (and similarly for
negative numbers). If the result is beyond the 32-bit
floating-point representation expected result is unbounded

Components: Vulkan, OpenGL, Framework

VK-GL-CTS Issue: 3138

Affected tests:
dEQP-VK.glsl.builtin.function.*
dEQP-VK.glsl.builtin.precision.*
dEQP-GLES31.functional.shaders.builtin_functions.precision.*
dEQP-GLES31.functional.shaders.builtin_functions.common.fma.*

Change-Id: Iba27d6b0d7d0bc433a1d0c055cef6f6a61b239ba

2 years agoAccept NaN as valid in atan2 precision tests
Graeme Leese [Fri, 27 Aug 2021 12:46:19 +0000 (13:46 +0100)]
Accept NaN as valid in atan2 precision tests

The Vulkan CTS has been updated
(https://gerrit.khronos.org/c/vk-gl-cts/+/7857) so that it is not
required to generate correct results for atan(inf, inf), and this makes
the corresponding change in GL. The GLSL spec is not as clear on what is
required here, but does say:
    Built-in functions not listed above and not defined as equations of
    the above have undefined precision. These include, for example, the
    trigonometric functions

In general, I think that it is expected that the default state of Vulkan
is a match for GL.

Components: OpenGL
VK-GL-CTS issue: 3073
Affects: dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.highp_*

Change-Id: Ifae97a2e86962f5aff68d5eed09ba38069445468

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 28 Oct 2021 21:57:06 +0000 (17:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I54315f34095f396294bab85b0da4a1e3cf38aac8

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 28 Oct 2021 21:57:00 +0000 (17:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I2f2be91bd696c7de227f804202f9a8eb222cab03

2 years agoFix VK_KHR_shader_clock feature checks
Ricardo Garcia [Fri, 8 Oct 2021 07:50:00 +0000 (09:50 +0200)]
Fix VK_KHR_shader_clock feature checks

The shader clock tests were not checking if the implementation supported
64-bit integers for tests that required the feature and they were
checking supported features at test instance creation time instead of
the specific checkSupport method for test cases.

Affected tests:
dEQP-VK.glsl.shader_clock.*

Components: Vulkan
VK-GL-CTS issue: 3187

Change-Id: I0dc86a4fae619c0d27628d97f0ac11c5def5ff4f

2 years agoFix dEQP-VK.tessellation.geometry_interaction.limits.output_required_max_geometry...
Juha Heiskanen [Tue, 19 Oct 2021 11:38:09 +0000 (14:38 +0300)]
Fix dEQP-VK.tessellation.geometry_interaction.limits.output_required_max_geometry validation error

Adjust numSliceNodesComponentLimit in order to keep
m_numGeometryPrimitivesPerInvocation within minimum limits defined in
the spec.

Components: Vulkan

VK-GL-CTS Issue: 3180

Affects:
dEQP-VK.tessellation.geometry_interaction.limits.output_required_max_geometry

Change-Id: I72ca43bec27256cb75a11d75aab91b9b565be9ab

2 years agoMove log prints from test-ctor to test-inst-ctor
Jari Komppa [Tue, 5 Oct 2021 09:52:03 +0000 (12:52 +0300)]
Move log prints from test-ctor to test-inst-ctor

Some of the tesselation tests were printing values into the output log
from the test constructor, which meant that said prints end up in more
or less random place in the log. Moved those prints to the test instance
instead, so the information now resides within the test output.

The prints were also done in the amber-verify run mode.

Affects:
dEQP-VK.tessellation.geometry_interaction.scatter.*
dEQP-VK.tessellation.geometry_interaction.limits.*

Components: Vulkan
VK-GL-CTS issue: 3057

Change-Id: Ic5b2ce59369d1c20f25b8dc1c6cb594baac74f8f

2 years agoRelax get_frame_timestamps
Barry Ko [Wed, 27 Feb 2019 12:53:04 +0000 (20:53 +0800)]
Relax get_frame_timestamps

To prevent power side effect from legacy platform. We tend to relax the
deqp criteria from 3 vsyncs to 4 vsyncs. And verify timestamp 6 frames
ago.

Cherry pick from AOSP.

Original commit:
https://android.googlesource.com/platform/external/deqp/+/db1f80ba923b9e89177562203c21192f8e7340c3
https://android-review.googlesource.com/c/platform/external/deqp/+/918914
Submitted on behalf of a third-party: barry.ko@mediatek.com

Component: EGL

Affected tests:
dEQP-EGL.functional.get_frame_timestamps.*

BUG: 123203074
Change-Id: I214b410d2ab8f0d6d4b3f9d6752c1c1d756cc28f

2 years agoMake renderdoc build-time integration optional
Chris Forbes [Wed, 13 Feb 2019 22:59:20 +0000 (14:59 -0800)]
Make renderdoc build-time integration optional

In some environments (Android Q CTS), renderdoc headers will not be
available.

Cherry pick from AOSP.

Original commit:
https://android.googlesource.com/platform/external/deqp/+/7e79367bd8fa1430c0ea161a36f62d7b8edc6803

Components: Vulkan, Framework

Bug: b/123431604

Change-Id: I7d4e36074e4f89a81f55dde83a217920653ad173

2 years agoMerges vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 22 Oct 2021 17:07:14 +0000 (13:07 -0400)]
Merges vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I1cbb115f9efbb2df6de81b0b133723b15e367427

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 22 Oct 2021 17:01:32 +0000 (13:01 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I6873657c378b02b383da36905a31886806519459

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Fri, 22 Oct 2021 17:01:27 +0000 (13:01 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I67159d811b780fc975c41a18043c177bceba6da7

2 years agoFix zx_handle_t typedef
Mika Väinölä [Wed, 13 Oct 2021 07:51:57 +0000 (10:51 +0300)]
Fix zx_handle_t typedef

Change from signed to unsigned 32-bit integer to match zircon/types.h.

Components: Framework, Vulkan

VK-GL-CTS issue: 3214

Change-Id: Ic887e90adc1583cfcd1518e21831d330e0f89b17

2 years agoFix tessellation SPIR-V tests use of Restrict
Jason Ekstrand [Mon, 21 Jun 2021 20:35:36 +0000 (15:35 -0500)]
Fix tessellation SPIR-V tests use of Restrict

Their usage of Restrict violates the SPIR-V spec which requires that it
only got on variables, not types or struct members.

Affected tests:
dEQP-VK.tessellation.*

Components: Vulkan
VK-GL-CTS issue: 2975

Change-Id: Ifbde1b493bf56d1ee6454a4ab54e98bcd05f839b

2 years agoAllowing spirv1.4 shaders compilation
Mohd Faisal [Wed, 26 Aug 2020 10:51:25 +0000 (11:51 +0100)]
Allowing spirv1.4 shaders compilation

Components: Vulkan

VK-GL-CTS Issue: 2560

Affects: dEQP-VK.spirv_assembly.instruction.spirv1p4.*

Change-Id: Icbfe3ad623da98968eee401d08df5ed6b3b2db1e
(cherry picked from commit c96d524d079fdada26b3548effd1539174415be6)

2 years agoAdd memoryBarrier before buffer map verify
Joe M. Kniss [Fri, 16 Nov 2018 16:59:30 +0000 (08:59 -0800)]
Add memoryBarrier before buffer map verify

OpenGL ES 3.2 Specification Section 7.11.2:

Shader Memory Access Synchronization ...

"Explicit syncronization is required to ensure the effects of buffer and
texture data stores performed by shaders will be visible to subsequent
operations using the same objects..."

Many of the ES3.1 compute tests lack a memory barrier before mapping and
verifiying buffer contents.  This can lead to flaky test failures when
the buffer has not been completely written to by the dispatchCompute
command. Specifically, chromeos and it's android arc++ has seen
consistent, yet flaky failures in es31fSynchronizationTests.inter_invocation.

It is unclear why this test should fail when similar tests, which also
lack explicit synchronization, do not.

Cherry pick from AOSP.

Original commit:
https://android.googlesource.com/platform/external/deqp/+/30c710319864b9e952daaaaf098df20845c2f70d
https://android-review.googlesource.com/c/platform/external/deqp/+/854112

TEST=chromeos caroline-arcnext (skylake)
Affects: dEQP-GLES31.functional.synchronization.*
Components: AOSP
Google Bug: b/85161472

Change-Id: I5093e7e206996e7c13c8c3615ee01ebbadc42f58
Signed-off-by: Joe M. Kniss <djmk@google.com>
2 years agoUpdate Android test lists and Android files
Paul Thomson [Thu, 7 Oct 2021 17:37:55 +0000 (18:37 +0100)]
Update Android test lists and Android files

Update Android test lists and other files to match AOSP
android12-tests-dev. Some tests are excluded from Android test lists and
some are moved between different Android test lists, but the tests
themselves do not change.

Components: AOSP
Change-Id: I28fdab5eb0b3fa75604f525a34fe843091836e75

2 years agoEXT_multisampled_render_to_texture test
James Darpinian [Tue, 18 Dec 2018 00:46:59 +0000 (16:46 -0800)]
EXT_multisampled_render_to_texture test

Detects a bug where ReadPixels fails on multisampled textures.
See http://crbug.com/890002

Cherry pick from AOSP.

Original commit:
https://android.googlesource.com/platform/external/deqp/+/accf1be52e32153c757cd84864607ee9c47dfe9a
https://android-review.googlesource.com/c/platform/external/deqp/+/796566
Submitted on behalf of a third-party: jdarpinian@chromium.org

Components: OpenGL

New test:
dEQP-GLES2.functional.multisampled_render_to_texture.readpixels

Bug: chromium:890002
Change-Id: I6e5e5d1fa3aa15daee69271339962a0b3ffc1927

2 years agoIncrease tolearance for dithering tests
sriharsha [Wed, 29 May 2019 05:02:22 +0000 (10:32 +0530)]
Increase tolearance for dithering tests

For small dimension render targets, gradient tests
require more tolerance, as variance in adjacent pixels
will be more compared to bigger render targets.

Cherry pick from AOSP.

Original commit:
https://android.googlesource.com/platform/external/deqp/+/8dc015fa12e41a380b81c1b8fcc63a04bf34311a
https://android-review.googlesource.com/c/platform/external/deqp/+/971506
Submitted on behalf of a third-party: quic_spvasu@quicinc.com

Components: OpenGL

Affected tests:
dEQP-GLES3.functional.dither.*

Bug: 132146940
Change-Id: Ie48e119d164acf5763aa7956c3ff91da20ff9f38

2 years agoAdd watchdog touches to descriptor_pool test
Pierre Couillaud [Wed, 31 Oct 2018 11:57:40 +0000 (04:57 -0700)]
Add watchdog touches to descriptor_pool test

On some low-end devices, this test would hit the dEQP watchdog. Add some
watchdog touches to avoid this.

Cherry pick.

Original commit:
123de98482b779ca242f9498701508b12e9a5f01
https://gerrit.khronos.org/c/vk-gl-cts/+/3197

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

Google Bug: b/116847904
Component: Vulkan
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
VK-GL-CTS Issue: 1464

Change-Id: I18181aa274ab1dc191b5f0acbb58b41465b5cdad

2 years agoCheck fragment shader stores in frag shader side effect tests
Ricardo Garcia [Wed, 13 Oct 2021 09:47:43 +0000 (11:47 +0200)]
Check fragment shader stores in frag shader side effect tests

Fragment shader side effect tests were using storage buffer store
operations in fragment shaders without checking support for the
fragmentStoresAndAtomics feature.

In addition, the tests were verifying the implementation supported the
color attachment and transfer features for the VK_FORMAT_R8G8B8A8_UNORM
format, but they are mandatory by the spec. The checks can be safely
removed.

Affected tests:
dEQP-VK.rasterization.frag_side_effects.*

Components: Vulkan
VK-GL-CTS issue: 3208

Change-Id: I5d28b18dd6aedbbfb1ea3ce4b40b3ba82737c27b

2 years agoUse the correct view type in no_position tests
Ricardo Garcia [Wed, 13 Oct 2021 08:23:04 +0000 (10:23 +0200)]
Use the correct view type in no_position tests

Multilayer no_position tests were creating image views with multiple
layers and the VK_IMAGE_VIEW_TYPE_2D type. When the number of layers is
greater than one, the type should be VK_IMAGE_VIEW_TYPE_2D_ARRAY.

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

Components: Vulkan
VK-GL-CTS issue: 3200

Change-Id: I9d24062c4f1ac80f12ac5dd1fe0e454ffade2f32

2 years agoCheck fragment shader stores in robustness tests
Ricardo Garcia [Wed, 13 Oct 2021 08:57:20 +0000 (10:57 +0200)]
Check fragment shader stores in robustness tests

Some robustness tests were using fragment shader stores without checking
for the fragmentStoresAndAtomics feature.

Affected tests:
dEQP-VK.robustness.*.frag

Components: Vulkan
VK-GL-CTS issue: 3209

Change-Id: I8032bd19f7de4f2d87d642542c2b7aaec20965b8

2 years agoCheck cube array support in robustness tests
Ricardo Garcia [Wed, 13 Oct 2021 08:54:44 +0000 (10:54 +0200)]
Check cube array support in robustness tests

Some robustness tests were using VK_IMAGE_VIEW_TYPE_CUBE_ARRAY image
views without checking support for the imageCubeArray feature.

Affected tests:
dEQP-VK.robustness.*cube_array*

Components: Vulkan
VK-GL-CTS issue: 3210

Change-Id: Iafd363a6423251413a1093e15ae94aa50850af32

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 15 Oct 2021 17:57:59 +0000 (13:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I64019cfcae5bcedae55f3e343bc94f51b62aa877

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 15 Oct 2021 17:57:51 +0000 (13:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I0abe7100c16a273d62463b916957255150d344d0

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Fri, 15 Oct 2021 17:57:39 +0000 (13:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ib23f14c29d67945839ab3763968963d7dcc91464

2 years agoFix validation errors with unnormalized coordinates samplers
Samuel Iglesias Gonsálvez [Fri, 8 Oct 2021 13:26:21 +0000 (15:26 +0200)]
Fix validation errors with unnormalized coordinates samplers

Components: Vulkan
VK-GL-CTS issue: 3190

Affects:

   dEQP-VK.pipeline.sampler.*unnormalized*

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I1dde344fe39289b945a434eab7276dc58deab881

2 years agoFix descriptor indexing test dependency
Graeme Leese [Thu, 7 Oct 2021 17:15:51 +0000 (18:15 +0100)]
Fix descriptor indexing test dependency

The UBO and SSBO non-uniform indexing tests use runtimeDescriptorArray,
so this needs to be included in the checkSupport condition.

Components: Vulkan
Affects: dEQP-VK.ubo.*
         dEQP-VK.ssbo.*

Change-Id: I54edb2d06135a8d1d549a42ac97014dabc80c9dd

2 years agoCheck resource limits properly
Samuel Iglesias Gonsálvez [Wed, 2 Jun 2021 14:41:30 +0000 (16:41 +0200)]
Check resource limits properly

The tests were not checking the resource limits per stage when
creating the shaders, which could create potential issues on
some drivers. Specially the random generated tests.

Affected tests:

   dEQP-VK.ssbo.layout.*

Components: Vulkan
VK-GL-CTS issue: 2953

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I7509dce38b849a0dd26f9e47d7f74e637930d897

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Matthew Netsch [Fri, 15 Oct 2021 16:47:17 +0000 (12:47 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Id485bc8ae929179e7786039966a233dd6fa57cdc

2 years agoMove anisotropic filtering support check to a function
Vihanakangas [Mon, 4 Oct 2021 10:52:27 +0000 (13:52 +0300)]
Move anisotropic filtering support check to a function

Support check for anisotropic filtering was done inside of iterate.
This change moves that check inside of a function for consistency
and performance.

Affects:

dEQP-VK.texture.filtering_anisotropy.*

Components: Vulkan

VK-GL-CTS issue: 3068

Change-Id: I3a1c0a1acff96b6f6b291bb53d3d9dc0bd122c17
(cherry picked from commit 522f4ba64beee8828030320591d20faa027a8e0a)

2 years agoFix missing barrier in FSR pixel consistency tests
Lars-Ivar Hesselberg Simonsen [Tue, 28 Sep 2021 08:20:00 +0000 (10:20 +0200)]
Fix missing barrier in FSR pixel consistency tests

The PixelConsistency tests of Fragment Shading Rate did not have a
pipeline barrier between the calls to vkCmdClearColorImage for the
render targets and the subsequent renderpass. This caused a race between
the two.

This commit adds the missing pipeline barriers.
In addition, it converts the preImageBarrier from two calls to
vkCmdPipelineBarrier with a single barrier to a single call with two
barriers.

Components: Vulkan

Affects: dEQP-VK.fragment_shading_rate.pixel_consistency.*

VK-GL-CTS Issue: 3158

Change-Id: I14b5de4fb02593b0a384b0f36892543ee2c57222

2 years agoDo not enable anisotropic filter in exact sampling tests
Ricardo Garcia [Mon, 27 Sep 2021 09:05:12 +0000 (11:05 +0200)]
Do not enable anisotropic filter in exact sampling tests

The anisotropic filter may introduce some extra imprecision in some
implementations. This change also makes these tests have the same
behavior in all implementations.

Affected tests:
dEQP-VK.pipeline.sampler.exact_sampling.*

Components: Vulkan
VK-GL-CTS issue: 3152

Change-Id: I0b4e1ad2c46210568176c5bd5504678edb3dbc73

2 years agoReduce resolution of some graphicsfuzz tests
Paul Thomson [Mon, 20 Sep 2021 15:53:45 +0000 (16:53 +0100)]
Reduce resolution of some graphicsfuzz tests

These tests have a lot of shader computation, which may exceed a 30
second watchdog time limit. Reducing the resolution should allow them to
complete quickly on low-end devices.

Affects:

dEQP-VK.graphicsfuzz.nested-for-loops-switch-fallthrough
dEQP-VK.graphicsfuzz.spv-access-chains
dEQP-VK.graphicsfuzz.spv-copy-object
dEQP-VK.graphicsfuzz.spv-dead-break-and-unroll
dEQP-VK.graphicsfuzz.spv-stable-maze-flatten-copy-composite

Components: Vulkan

Change-Id: I4ca78ae1beafb3d892d437568f10cc816ae79df2

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 8 Oct 2021 15:42:39 +0000 (11:42 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I1d4bf5c3a9cbd2f7d8e5bdce8645065661be1e9c

2 years agoFix incorrect computation of pointer size
Marcin Kańtoch [Tue, 31 Aug 2021 11:08:45 +0000 (13:08 +0200)]
Fix incorrect computation of pointer size

CTS always fills the array of pointers with a stride of 64-bits.
So, for 32-bits applications, each two 32-bits has one valid pointer
to instance of bottom-level acceleration structure.

To correct this the pointer size should be calculated as
sizeof(VkDeviceOrHostAddressConstKHR::hostAddress) for host built
top-level acceleration structure and
sizeof(VkDeviceOrHostAddressConstKHR::deviceAddress) for device built
top-level acceleration structure.

VK-GL-CTS issue: 3084
Components: Vulkan

Affects:
dEQP-VK.ray*instances_aop*

Change-Id: I8c412a5a5d2ce3f1f687795768d6d83ad4913892

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 7 Oct 2021 20:56:05 +0000 (16:56 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I911747cbf1726e161c457fa6ae666148ff0b36c7

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 7 Oct 2021 20:55:56 +0000 (16:55 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I6994a2ac890d752906a8f6464a9cb7819e22a55f

2 years agoFix crashes on depth stencil resolve tests with separate layouts
Samuel Iglesias Gonsálvez [Tue, 28 Sep 2021 09:05:30 +0000 (11:05 +0200)]
Fix crashes on depth stencil resolve tests with separate layouts

Mesa drivers were crashing in depth stencil resolve tests when
used with separate layouts.

The issue was that if layout only specifies the layout of the
depth aspect of the attachment, the layout of the stencil aspect
is specified by the stencilLayout member of a
VkAttachmentReferenceStencilLayout structure included in the
pNext chain. We were not setting it.

Affected tests:

   dEQP-VK.renderpass2.depth_stencil_resolve.*separate_layouts*

Components: Vulkan
VK-GL-CTS issue: 3157

Change-Id: I72f8fdba88717ab0442501911fb26a7469da65d8
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoFix dEQP-VK.glsl.opaque_type_indexing.ssbo*_compute validation error
Samuel Iglesias Gonsálvez [Fri, 24 Sep 2021 10:55:04 +0000 (12:55 +0200)]
Fix dEQP-VK.glsl.opaque_type_indexing.ssbo*_compute validation error

Tests were not checking maxPerStageDescriptorStorageBuffers limits
in the compute shaders, which use more (6) than the minimum limit
set by the spec for that (4).

Components: Vulkan
VK-GL-CTS issue: 3137

Affected tests:

 dEQP-VK.glsl.opaque_type_indexing.ssbo*_compute

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I016fb5024d637e36869ae7e3f78467c91d0e8817

2 years agoFix dEQP-VK.image.extended_usage_bit.texture_* validation errors
Juha Heiskanen [Fri, 24 Sep 2021 10:12:28 +0000 (13:12 +0300)]
Fix dEQP-VK.image.extended_usage_bit.texture_* validation errors

Shader requires fragmentStoresAndAtomics but there wasn't any support
check for this physical device feature.

Components: Vulkan

VK-GL-CTS Issue: 3144

Affects:
dEQP-VK.image.extended_usage_bit.texture_read.*
dEQP-VK.image.extended_usage_bit.texture_write.*

Change-Id: I87f69256501519fe524159f02eb14ee6ac0e0092

2 years agoCheck depth bias clamp feature when needed
Ricardo Garcia [Tue, 21 Sep 2021 10:27:52 +0000 (12:27 +0200)]
Check depth bias clamp feature when needed

The inverted depth range tests were using the depth bias clamp feature
with a nonzero depth bias clamp value without checking if the feature
was available in the device.

Affected tests:
dEQP-VK.draw.inverted_depth_ranges.*

Components: Vulkan
VK-GL-CTS issue: 3128

Change-Id: I471235a0da38eb4c244e87e0d5851b8cb810f990

2 years agoAdd barrier between the atomic-compare-exchanges
David Neto [Tue, 21 Sep 2021 21:25:22 +0000 (17:25 -0400)]
Add barrier between the atomic-compare-exchanges

Each of the second atomic-compare-exchange instructions relies on fact
that all the invocations have executed the first atomic-compare-exchange
instruction.  So insert a workgroup barrier between the two.

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

Components: Vulkan

VK-GL-CTS issue: 3120

Change-Id: I95f897ceebcea8fdd5d6bda885a701be20d07ab1

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 1 Oct 2021 19:33:00 +0000 (15:33 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I16fde981fb8a0d98d4ed0522cb69a429a68545d0

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 1 Oct 2021 19:32:56 +0000 (15:32 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I133af15a49b220d94c26f9db70e7830fbe167b72