platform/upstream/VK-GL-CTS.git
2 years agoFix post-clear barrier in depth/stencil descriptor tests
Ricardo Garcia [Fri, 12 Nov 2021 16:19:38 +0000 (17:19 +0100)]
Fix post-clear barrier in depth/stencil descriptor tests

After clearing the color and depth/stencil image, the tests were using a
barrier to VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT with an access mask of 0.
This commit fixes that barrier to use VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT
and an access mask covering all uses of these descriptors in the render
pass.

Affected tests:
dEQP-VK.image.depth_stencil_descriptor.*

Components: Vulkan
VK-GL-CTS issue: 3305

Change-Id: I7d8c41b3dbbe69f3a613ba1bd09a0482f77133f2

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Sat, 20 Nov 2021 01:41:45 +0000 (01:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I5a712babbcd6a60c58a58845624b7b2b60896b99

2 years agoZero initialize XFB counter buffer
Mika Väinölä [Tue, 16 Nov 2021 12:11:34 +0000 (14:11 +0200)]
Zero initialize XFB counter buffer

Implementations that don't zero initialize buffers on allocation will
fail these tests when reading uninitialized counter buffers with
vkCmdBeginTransformFeedbackEXT.

Affects: dEQP-VK.rasterization.provoking_vertex.transform_feedback.*

Components: Vulkan

VK-GL-CTS issue: 3311

Change-Id: I3cd9a82aed94e55b5e37cbd287e159c2e5fc69d2

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 19 Nov 2021 20:11:48 +0000 (20:11 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I800d219e0b2d87e0a690bd535b00e377d7c13b5c

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 agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Sat, 13 Nov 2021 16:04:04 +0000 (11:04 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I617b1cfb37d3287225a9813b09f15ef4668d613d

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 12 Nov 2021 21:40:26 +0000 (21:40 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I933b783b229d5d0545f1fc58ac01f5302625f81d

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 agoSkip negative vkCreateBuffer(size_max_uint64) test for maint4
Piers Daniell [Thu, 28 Oct 2021 16:46:40 +0000 (10:46 -0600)]
Skip negative vkCreateBuffer(size_max_uint64) test for maint4

With VK_KHR_maintenance4 it become invalid usage to call vkCreateBuffer
with a size larger than VkPhysicalDeviceMaintenance4Properties.maxBufferSize.
The dEQP-VK.api.buffer.basic.size_max_uint64 did just this even on maint4
implementation, which is invalid usage.

This CL marks this test as unsupported for implementations that support
VK_KHR_maintenance4.

Affects:

dEQP-VK.api.buffer.basic.*

Components: Vulkan

VK-GL-CTS issue: 3238

Change-Id: I4754c3af4ef253e50226a31a466bfe5772e65652
(cherry picked from commit f92d3e5a35afcf9c2f9226b81d5be54d10944819)

2 years agoRemove unused tests from mustpass
Matthew Netsch [Fri, 5 Nov 2021 23:47:42 +0000 (19:47 -0400)]
Remove unused tests from mustpass

Tests were renamed and are included
in other mustpass files, this cleans up
the old references

Components: Vulkan

Affects:
dEQP-VK.*-with-dynamic-rendering.*

Change-Id: I2b3775aba51478eafd93cfe93db53b9dd47307d5

2 years agoMerge vk-gl-cts/dev/VK_KHR_dynamic_rendering into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 5 Nov 2021 23:05:51 +0000 (19:05 -0400)]
Merge vk-gl-cts/dev/VK_KHR_dynamic_rendering into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I2b3463e1006c13221698a6fbdc8a26839ed3cb9e

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/dev/VK_KHR_dynamic_rendering
Matthew Netsch [Fri, 5 Nov 2021 23:03:54 +0000 (19:03 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/dev/VK_KHR_dynamic_rendering

Change-Id: Ica7c90f88986488142bc7c2b3e9b892b8104b7a1

2 years agoRename dynamic_rendering tests
Piotr Byszewski [Wed, 27 Oct 2021 13:06:38 +0000 (15:06 +0200)]
Rename dynamic_rendering tests

Three top level groups containing *_with_dynamic_rendering,
were moved one level down. Additionaly tests from
vktDynamicRenderingTests.hpp were moved to renderpass module.

Components: Vulkan

VK-GL-CTS Issue: 3248

Affects:
dEQP-VK.draw.*
dEQP-VK.dynamic_rendering.*
dEQP-VK.fragment_shading_rate.*

Change-Id: Iba32b7c011ce33c4c8cb52f2ed7e659096db32f8

2 years agoAdd tests for VK_NV_mesh_shader
Ricardo Garcia [Thu, 28 Oct 2021 13:36:36 +0000 (15:36 +0200)]
Add tests for VK_NV_mesh_shader

Tests that verify multiple aspects of mesh shader pipelines work as
expected. This includes:

* Some basic smoke tests.
* API tests to check the new draw calls and different rules about them.
* Synchronization tests.
* Test a wide range of affected built-in variables.
* Miscellaneous tests:
  * Producing small and large amounts of different types of primitives.
  * Barriers.
  * Push constants.
  * Custom per-primitive attributes.
  * Complex structures in the task->mesh interface.

New tests:
dEQP-VK.mesh_shader.nv.*

Components: Vulkan, Framework
VK-GL-CTS issue: 2991

Change-Id: I510296e4da326a2f0a3891d55a1116848d874c3f

2 years agoFix invocation count verification
James Fitzpatrick [Wed, 3 Nov 2021 14:31:50 +0000 (14:31 +0000)]
Fix invocation count verification

The shaders in these tests track the number of invocations executed and
verify that against the expected number of invocations for the test.

The spec only guarentees that each fragment is executed at least once.
So an implementation is free to execute each fragment multiple times
if required (for example, an implementation might required a shader to
be run at sample rate).

Change this verification to only check against the minmum number of
invocations.

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

Components: Vulkan

VK-GL-CTS issue: 3278

Change-Id: I93f1aa42dd6a13486bed044e361671e5a2f2cb07
(cherry picked from commit 72cf9dc888972c4dc8ed95358f0f56c6a40e072e)

2 years agoAllow Vulkan CTS 1.2.8.0
Matthew Netsch [Fri, 5 Nov 2021 14:25:23 +0000 (10:25 -0400)]
Allow Vulkan CTS 1.2.8.0

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: Ie10d15a1a049584f0aac2362aeac6a64fe47b2fa

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 5 Nov 2021 14:57:55 +0000 (10:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Ieb86d43e6e02616c6ed2153b40dcb1256be30dd6

2 years agoFix image transition in dynamic rendering tests
Charles Johnston [Tue, 26 Oct 2021 14:51:09 +0000 (10:51 -0400)]
Fix image transition in dynamic rendering tests

The images need to be translated out of undefined layout,
before using them for dynamic rendering.

VK-GL-CTS issue: 3260

Components: Vulkan

Affects:
dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.*

Change-Id: I5cd1162683f77923a273bf774456cfb22b67b7c9

2 years agoPrevent RT tests from going over VkPhysicalDeviceVulkan11Properties::maxMemoryAllocat...
Lionel Landwerlin [Wed, 6 Oct 2021 14:45:53 +0000 (17:45 +0300)]
Prevent RT tests from going over VkPhysicalDeviceVulkan11Properties::maxMemoryAllocationSize

VK-GL-CTS issue: 3064
Component: Vulkan

Affects:
dEQP-VK.ray_tracing_pipeline.misc.max*

Change-Id: Ia42f5530206eeeb94fa634ad84a213c2db558946

2 years agoPause XFB during pipeline switch
Mika Väinölä [Thu, 21 Oct 2021 07:46:33 +0000 (10:46 +0300)]
Pause XFB during pipeline switch

The per pipeline provoking vertex tests call vkCmdBindPipeline while
transform feedback is active which is not allowed.

Affects:
dEQP-VK.rasterization.provoking_vertex.*

Components: Vulkan

VK-GL-CTS issue: 3207

Change-Id: I30edf010179ff9629fc90053f14d228d828551a2

2 years agoMake dynamic rendering tests match non-dynamic
Piotr Byszewski [Thu, 28 Oct 2021 12:15:35 +0000 (14:15 +0200)]
Make dynamic rendering tests match non-dynamic

Cases for attachment tests are randomly generated. When
those tests were ported to dynamic rendering they were
using a slightly different generation algorithm and this
resulted in dynamic rendering not matching renderpass
tests that had the same name.
With this change tests for dynamic rendering use
same configuration but some of those configurations
that won't add coverage are skipped.

Components: Vulkan

VK-GL-CTS issue: 3179

Affects:
dEQP-VK.renderpass.*.attachment.*
dEQP-VK.renderpass_with_dynamic_rendering.*.attachment.*

Change-Id: Id386f7dd56682ff4a54e0f9816c1752ac2fc12cd

2 years agoRemove dynamic rendering multiview tests
Piers Daniell [Thu, 28 Oct 2021 21:14:21 +0000 (15:14 -0600)]
Remove dynamic rendering multiview tests

These WIP tests don't work right now and need to be disabled,
which mirrors what was done in the vulkan-cts-1.3.0 branch.

A follow on CL will reenable them and fix them.

Affects:

dEQP-VK.draw_with_dynamic_rendering.multi_draw.*

Components: Vulkan

VK-GL-CTS Issue: 3251

Change-Id: Ib99c09d326706fadeeec962e241152bf20bf977c

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 5 Nov 2021 13:59:25 +0000 (09:59 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I81ba38a964a81a6266d2a6286cf60a42ed027885

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 agoAllow Vulkan CTS 1.2.7.2
Matthew Netsch [Mon, 1 Nov 2021 14:56:44 +0000 (10:56 -0400)]
Allow Vulkan CTS 1.2.7.2

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: I6075a82eab8f347ef5b9523a10d6e6621163bfbc

2 years agoFix memory requirements tests for sparse images
Piotr Byszewski [Fri, 22 Oct 2021 11:42:25 +0000 (13:42 +0200)]
Fix memory requirements tests for sparse images

When memory requirements tests are executed for sparse images
we need to check sparse image format properties first.

VK-GL-CTS issue: 3201

Components: Vulkan

Affects:
dEQP-VK.memory.requirements.*.image.sparse*

Change-Id: I058d6dd6c4eeabce89c3f6835fbc16e4386712d5

2 years agoFix image requirements according to its usage
michal_jakubek [Mon, 25 Oct 2021 07:39:15 +0000 (09:39 +0200)]
Fix image requirements according to its usage

VK-GL-CTS issue: 3090

Components: Vulkan

Affects:
dEQP-VK.sparse_resources.shader_intrinsics.*

Change-Id: If6c8e55be75fd3a9a170c7d0d413dc658d40adfa

2 years agoInitialise new member of ImageTestParams struct
Graeme Leese [Fri, 22 Oct 2021 10:19:48 +0000 (11:19 +0100)]
Initialise new member of ImageTestParams struct

This doesn't appear to be used in the tests, but without this it
generates compiler warnings on some of our platforms.

Components: Vulkan
VK-GL-CTS issue: 3240
Affects: dEQP-VK.memory.requirements.*

Change-Id: I5c4dfd0443f0f318d45e89ae22d5103a1dae198e

2 years agoEnsure the vertex shader matches the vertex input definition
Piers Daniell [Wed, 15 Sep 2021 13:41:49 +0000 (15:41 +0200)]
Ensure the vertex shader matches the vertex input definition

When doing the "reversed" variants of the extended dynamic
state tests, the vertex input attribute and binding information
was reversed, but the vertex shaders were not. The meant that
in some tests the vertex shader may try to fetch from unbound
or undefined vertex attributes or vertex attribute data.

This commit fixes the issue by swapping vertex shaders for the
affected variants.

Affects:
dEQP-VK.pipeline.extended_dynamic_state.*

Components: Vulkan
VK-GL-CTS issue: 3111

Change-Id: I7d9abbe7dab0b44127f6b194ee5da79755f7658c
Co-authored-by: Ricardo Garcia <rgarcia@igalia.com>
(cherry picked from commit aebbea7b29507dfb24fb204697671ad7b4ac4fc1)

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 29 Oct 2021 15:48:02 +0000 (11:48 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Ib53ac9424d4263b3114e46c532f28b55f522cf2c

2 years agoUpdate SPIRV-Headers
Paul Thomson [Mon, 25 Oct 2021 18:41:00 +0000 (19:41 +0100)]
Update SPIRV-Headers

The SPIRV-Headers version for vulkan-cts-1.2.6 was ahead of 1.2.7. This
change brings SPIRV-Headers in 1.2.7 up to the same version.

Components: Vulkan
Change-Id: Ifff93c5251183d3a6ee3ef3f508e88274332116f

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 29 Oct 2021 14:41:15 +0000 (10:41 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I7535fbad6813c7a6dfec1324a2656329de792ebe

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 agoFix layout transitions in dynamic_rendering tests
Jason Ekstrand [Mon, 25 Oct 2021 22:25:16 +0000 (17:25 -0500)]
Fix layout transitions in dynamic_rendering tests

With dynamic rendering, we no longer have initial and final layout
transitions provided automatically as part of vkCmdBeginRendering() and
vkCmdEndRendering().  Instead, it's the responsibility of the client to
transition the images into and out of the layout passed to
vkCmdBeginRendering().  When translating from Vulkan 1.0 style
subpasses, this means we need to do a pipeline barrier before and after
rendering.

Affects:
dEQP-VK.renderpass_with_dynamic_rendering.*

Change-Id: I56214198a8b3d81e3030164de045b8ca03a44f88

2 years agoAdd missing barrier to dynamic rendering tests
jaxl [Wed, 15 Sep 2021 03:14:19 +0000 (11:14 +0800)]
Add missing barrier to dynamic rendering tests

Vulkan spec requires driver to do automatic layout transition when
subpass of render pass begins. However, for dynamic rendering,
there is no such requirement in spec, so the application should
transfer image layout.

Affected tests:
VK.renderpass_with_dynamic_rendering.suballocation.multisample_resolve.*

Components: Vulkan
VK-GL-CTS issue: 3162

Change-Id: Id3bb8fa83ac4f891150f1a8f74bf61e7d7d5e854
(cherry picked from commit 430ab25e4964bd195c58e15e7b51a7de620ebd40)

2 years agoFix stencil rendering in draw_with_dynamic_rendering.multi_draw tests
Sławomir Cygan [Thu, 21 Oct 2021 13:18:19 +0000 (15:18 +0200)]
Fix stencil rendering in draw_with_dynamic_rendering.multi_draw tests

This fixes few issues with handling depth/stencil attachment in this test:

Stencil attachment is now passed to rendering info, alongside depth attachment.

A barrier transitioning depth stencil subresource from UNFEFINED layout is added.

A barrier initializing color subresource is fixed to be executed with desition stage
that involves color.

Components: Vulkan

VK-GL-CTS Issue: 3235

Affects: dEQP-VK.draw_with_dynamic_rendering.multi_draw.*

Change-Id: I2b1a0bb04dae24328ab798a9e436e1000db901de
(cherry picked from commit 9f2876528c93cd47a59604ce4f30e8525560f280)

2 years agoFix multisample_with_fragment_shading_rate tests
Piotr Byszewski [Thu, 14 Oct 2021 18:29:36 +0000 (20:29 +0200)]
Fix multisample_with_fragment_shading_rate tests

Two tests in multisample group are added with helper
function addFunctionCaseWithPrograms. When those tests
were repeated for FSR then they were executed without
checking if required features are supported. This
change fixes that by reusing existing function
checkFragmentShadingRateRequirements (it was slightly
modified to work also with those two tests).

VK-GL-CTS issue: 3220

Components: Vulkan

Affects:
dEQP-VK.pipeline.multisample_with_fragment_shading_rate.*

Change-Id: I8dcbc09ac4a1d8d3c53eb95da591b916ded2f5b9

2 years agodEQP-VK.renderpass*.load_store_op_none.* tests depth-stencil format support check
Neslisah [Thu, 12 Aug 2021 15:32:21 +0000 (11:32 -0400)]
dEQP-VK.renderpass*.load_store_op_none.* tests depth-stencil format support check

In this test case, depth stencil format is set to VK_FORMAT_D24_UNORM_S8_UINT by default without checking if it is supported or not. If this format is not supported, then the test case crashes without even giving "Not Supported" result.

In this update I defined a set of depth stencil formats, and added a separate test case for each depth_stencil format. If the depth_stencil format is not supported, "Not Supported" is returned.

Affects: dEQP-VK.renderpass*.load_store_op_none.*

Components: Vulkan
VK-GL-CTS issue: 3049

Change-Id: Ifea5d0955a8325ecbed7f27296da4120e473d463
(cherry picked from commit 79c44fc79b7d17b8c70d2469e113c764011c51c6)

2 years agoIncrease tolerance for matrix precision tests
James Fitzpatrick [Wed, 6 Oct 2021 13:22:03 +0000 (14:22 +0100)]
Increase tolerance for matrix precision tests

On hardware with a RTZ rounding mode the tolerance required in these
tests was too low and valid implementations of the functions would
fail the tests.

Increase the tolerance allowed to allow RTZ hardware to pass these
tests.

Affects:
dEQP-VK.glsl.builtin.precision*.determinant.*
dEQP-VK.glsl.builtin.precision*.inverse.*

Components: Vulkan

VK-GL-CTS issue: 3182

Change-Id: I83845aec8faa01aec0820852219b6b8c4326da4e
(cherry picked from commit 0593bd63803c16159db7553d8ca5191fd42126cc)

2 years agoFix incorrect shader output format
James Fitzpatrick [Tue, 5 Oct 2021 09:12:46 +0000 (10:12 +0100)]
Fix incorrect shader output format

For test variants that write to a stencil buffer, the final attachment
will be R8_UINT. For these tests ensure the fragment shader is
outputing to this attachment as a uint.

Affects: dEQP-VK.synchronization2.none_stage.*

Components: Vulkan

VK-GL-CTS issue: 3177

Change-Id: Ia7e185c8c8486c8b0e76e11038e0a5108770f21f
(cherry picked from commit 4dbc15461d925429b6545bd162c97a86ba3f8a73)

2 years agoSlightly increase tolerance for fp64 determinant test
Iván Briano [Mon, 18 Oct 2021 20:32:00 +0000 (13:32 -0700)]
Slightly increase tolerance for fp64 determinant test

VK-GL-CTS issue: 3229

Components: Vulkan

Affects:
dEQP-VK.glsl.builtin.precision_double.determinant.compute.mat3

Change-Id: I2e4d239a33e4c82e328a3df90e7a6c38056db4d8

2 years agoFix DS Layout in LoadStoreOpNone when using dynamic_rendering
Aaron Hagan [Thu, 21 Oct 2021 13:38:17 +0000 (09:38 -0400)]
Fix DS Layout in LoadStoreOpNone when using dynamic_rendering

It's in the wrong layout when being read from.

Components: Vulkan
VK-GL-CTS issue: 3236

Affected tests:
   dEQP-VK.renderpass_with_dynamic_rendering.suballocation.load_store_op_none.*

Change-Id: I58ae176c6d179cfb262434b24937c5f278112ea6
(cherry picked from commit 12d53a826d2769990d15f78dc2210d173ad00ee0)

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 22 Oct 2021 19:54:00 +0000 (15:54 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Ic672c22814f2196db26725b7b2794629bbe130b6

2 years agoUpdate drivers ids
Samuel Iglesias Gonsálvez [Fri, 1 Oct 2021 06:18:08 +0000 (08:18 +0200)]
Update drivers ids

From last version of Vulkan-Docs.

Components: Framework
VK-GL-CTS issue: 3173

Change-Id: I39aeb4f16d3bf19291a5a266595b215681ef2c83
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 22 Oct 2021 18:23:39 +0000 (14:23 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I6f96b469518264e53fdd142f445187f8eb091c6d

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 agoFix VkClearRect sizes for vkCmdClearAttachment()
Samuel Iglesias Gonsálvez [Thu, 7 Oct 2021 09:29:38 +0000 (11:29 +0200)]
Fix VkClearRect sizes for vkCmdClearAttachment()

The test was doing out-of-bounds clears of attachments.

Components: Vulkan
VK-GL-CTS issue: 3174

Affected tests:

   dEQP-VK.dynamic_rendering.*

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I6cbf82efdea824cc07aeaddf814368da5b8b5848
(cherry picked from commit 1c7f179642501615b4fafd249f84265f8577aa0b)

2 years agoPartial revert of CL 8054: Fix invalid layout transitions in some dynamic rendering...
Piers Daniell [Wed, 13 Oct 2021 03:44:04 +0000 (21:44 -0600)]
Partial revert of CL 8054: Fix invalid layout transitions in some dynamic rendering tests

This image barrier change was wrong. I thought this was a duplicate
barrier for the color attachment image, but it was actually
one for the depth/stencil attachment image.

Affects:

dEQP-VK.multiview.dynamic_rendering.depth.*
dEQP-VK.multiview.dynamic_rendering.stencil.*

Components: Vulkan

VK-GL-CTS issue: 3164

Change-Id: Id65e226eaec2c158289d684a0a997d8a929a5f45
(cherry picked from commit 46888763ffc567b84befacc92aeea40171373111)

2 years agoFix invalid layout transitions in some dynamic rendering tests
Piers Daniell [Wed, 29 Sep 2021 14:04:22 +0000 (08:04 -0600)]
Fix invalid layout transitions in some dynamic rendering tests

Some of the dynamic rendering tests do an image layout transition
from uninitialized when the image is already in use. This can lead
to corruption of the image content.

This CL removes an unnecessary barrier from the
dEQP-VK.multiview.dynamic_rendering.readback* tests and fixes
a barrier with the dEQP-VK.multiview.dynamic_rendering.depth.*
and dEQP-VK.multiview.dynamic_rendering.stencil.* tests.

Affects:

dEQP-VK.multiview.dynamic_rendering.depth.*
dEQP-VK.multiview.dynamic_rendering.stencil.*
dEQP-VK.multiview.dynamic_rendering.readback*

Components: Vulkan

VK-GL-CTS issue: 3164

Change-Id: Ib0847839528909337001d32bbde59c7e979ec9e9
(cherry picked from commit 06187ab8c572cc8227224841ffcc4660b90a8d39)

2 years agoUpdate dynamic rendering tests to separate formats
Piotr Byszewski [Thu, 30 Sep 2021 13:12:20 +0000 (15:12 +0200)]
Update dynamic rendering tests to separate formats

Depth and stencil formats were split in VK_KHR_dynamic_rendering.

VK-GL-CTS issue: 3161

Components: Vulkan

Affects:
dEQP-VK.draw_with_dynamic_rendering.*
dEQP-VK.multiview.dynamic_rendering.*
dEQP-VK.fragment_shading_rate_with_dynamic_rendering.*
dEQP-VK.renderpass_with_dynamic_rendering.*
dEQP-VK.dynamic_rendering.*

Change-Id: Id28ccb278ad6cc52b733d31076343874762d8c39
(cherry picked from commit 3f33ffcf27318fe7ca55d4a5866b9803000c7a2c)

2 years agoDo not chain dynamic render pass inheritance info in dEQP-VK.renderpass
Slawomir Cygan [Wed, 29 Sep 2021 16:26:49 +0000 (18:26 +0200)]
Do not chain dynamic render pass inheritance info in dEQP-VK.renderpass

This fixes the tests that do not use, enable or require dynamic rendering
to not chain the VkCommandBufferInheritanceRenderingInfoKHR structure,
which is only for inheritinh the dynamic renderpasses.

Affects: dEQP-VK.renderpass*

VK-GL-CTS Issue: 3165

Components: Vulkan

Change-Id: Idb8fed2bcd6a6bf664cf5516a664b8beaa94484a
(cherry picked from commit f654a58b74d3f278c43e7e25cdc5d2d29e1d7abf)

2 years agoWrong format in load_store_op_none test.
Aaron Hagan [Mon, 27 Sep 2021 19:22:47 +0000 (15:22 -0400)]
Wrong format in load_store_op_none test.

One of the load_store_op_none tests is currently using the incorrect
VK_FORMAT_R8G8B8A8_UNORM format for the color attachments.
It should be using VK_FORMAT_R8G8B8A8_UINT instead.

VK-GL-CTS issue: 3154
Components: Vulkan

Affected tests:
dEQP-VK.renderpass_with_dynamic_rendering.suballocation.load_store_op_none.color_load_op_none_store_op_none_resolve

Change-Id: I7dd8b4da05fef58d91a8913ac49912ba683f033d
(cherry picked from commit 37c52f8beafb8ad45bb84cd54c17e41c2e02825f)

2 years agoAdded extra test case for load/store op none
Ari Suonpaa [Wed, 4 Aug 2021 12:10:21 +0000 (15:10 +0300)]
Added extra test case for load/store op none

Added a case that covers resolving a multisampled unsigned
integer color buffer using load and store op none.

VK-GL-CTS Issue: 2971

New tests:

dEQP-VK.renderpass*.suballocation.load_store_op_none.color_load_op_none_store_op_none_resolve

Components: Vulkan
Change-Id: Iab7f7340009d98283d9afb5683fe3bba273de110
(cherry picked from commit 48c886f0ef7dfbd839d9abcfd59911d0914e1188)

2 years agoAdd custom border color swizzle tests
Ricardo Garcia [Wed, 6 Oct 2021 16:09:14 +0000 (18:09 +0200)]
Add custom border color swizzle tests

New set of tests to check component swizzling with different border
colors, including custom border colors.

Note the tests currently suppose swizzling is applied to custom border
colors following the operation order in the "Texel Input Operations"
section.

Note that testing of opaque black and custom border colors with
non-identity swizzles is skipped unless VK_EXT_border_color_swizzle is
supported which has defined behavior for these combinations.

New tests:
dEQP-VK.pipeline.sampler.border_swizzle.*

Affected tests:
dEQP-VK.info.device_mandatory_features

Components: Vulkan
VK-GL-CTS issue: 2714

Change-Id: I5259744bbfa65db0386e94decb633b582d2fb17f

2 years agoFix depth_different_ranges tests
Piotr Byszewski [Tue, 12 Oct 2021 12:46:41 +0000 (14:46 +0200)]
Fix depth_different_ranges tests

Two multiview tests use depth that is outside of <0;1> range
but don't check/enable VK_EXT_depth_range_unrestricted. This
change fixes that.

VK-GL-CTS issue: 3206

Components: Vulkan

Affects:
dEQP-VK.multiview.depth_different_ranges.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.renderpass2.depth_different_ranges.3_6_12_9_6_12_9_3_6_12_9_3

Change-Id: Iba472af84e23ea197281a1ab88d0ac6c74e845bf

2 years agodEQP-VK.renderpass*.load_store_op_none.* tests depth-stencil format support check
Neslisah [Thu, 12 Aug 2021 15:32:21 +0000 (11:32 -0400)]
dEQP-VK.renderpass*.load_store_op_none.* tests depth-stencil format support check

In this test case, depth stencil format is set to VK_FORMAT_D24_UNORM_S8_UINT by default without checking if it is supported or not. If this format is not supported, then the test case crashes without even giving "Not Supported" result.

In this update I defined a set of depth stencil formats, and added a separate test case for each depth_stencil format. If the depth_stencil format is not supported, "Not Supported" is returned.

Affects: dEQP-VK.renderpass*.load_store_op_none.*

Components: Vulkan
VK-GL-CTS issue: 3049

Change-Id: Ifea5d0955a8325ecbed7f27296da4120e473d463
(cherry picked from commit 79c44fc79b7d17b8c70d2469e113c764011c51c6)

2 years agoTest dynamic rendering with multiview tests
Piotr Byszewski [Fri, 11 Jun 2021 15:31:44 +0000 (17:31 +0200)]
Test dynamic rendering with multiview tests

This CL generalizes aplicable multiview tests to also test
functionality added with VK_KHR_dynamic_rendering extension.

Components: Vulkan

VK-GL-CTS issue: 2858

Affets:
dEQP-VK.multiview.*

Change-Id: Idd7db7d9e385d08fb8536e80043794edf3a69952
(cherry picked from commit f4d5fa5905b4587cc38878000f8ff5b65ef1828e)

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 15 Oct 2021 21:33:16 +0000 (17:33 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I5d3d073763a72c7f6ec0fca08d030ef64b4457a4

2 years agoAdd check for shaderImageGatherExtended
Samuel Iglesias Gonsálvez [Fri, 8 Oct 2021 06:38:23 +0000 (08:38 +0200)]
Add check for shaderImageGatherExtended

There were validation errors in the tests when running them
through devsim layer and vulkan 1.0 spec minimum profile:

"VUID-RuntimeSpirv-OpImage-06376(ERROR / SPEC): msgNum: 70978435 -
Validation Error: [ VUID-RuntimeSpirv-OpImage-06376 ] Object 0: handle
= 0x66d3840, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x43b0b83 |
vkCreateShaderModule(): Shader uses OpImageGather with offset (-8)
less than VkPhysicalDeviceLimits::minTexelGatherOffset (0). The Vulkan
spec states: If an OpImage*Gather operation has an image operand of
Offset, ConstOffset, or ConstOffsets the offset value must be greater
than or equal to minTexelGatherOffset"

Components: Vulkan
VK-GL-CTS issue: 3186

Affects:

   dEQP-VK.glsl.texture_gather.offset.*

Change-Id: I1c58d751a86dbe7a1a285a32daae19955b5b4582
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
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

2 years agoFix workgroup_memory_explicit_layout tests SPIR-V validation errors
Samuel Iglesias Gonsálvez [Wed, 13 Oct 2021 08:59:26 +0000 (10:59 +0200)]
Fix workgroup_memory_explicit_layout tests SPIR-V validation errors

Components: Vulkan
VK-GL-CTS issue: 3195

Affects:

   dEQP-VK.compute.workgroup_memory_explicit_layout.*

Change-Id: I2ac798965d9a3518bc45cfe52e43f34facf4ccf4
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoVerify line-stipple both with and without carry-over
Erik Faye-Lund [Wed, 11 Aug 2021 14:18:37 +0000 (16:18 +0200)]
Verify line-stipple both with and without carry-over

The Vulkan spec specifies that carrying over the fractional parts of a
line is optional. Let's test both with and without, so we accept either.

Components: Vulkan, Framework

Public Issue: 280

Affected Tests: dEQP-VK.rasterization.primitives.static_stipple.*
dEQP-VK.rasterization.primitives_multisample_4_bit.*

Change-Id: Iaae3397ebfa1db7fbccefd479bd98c1ad8471ff8

2 years agoAdd ClearAttachments test to KHR_dynamic_rendering
Arkadiusz Sarwa [Thu, 17 Jun 2021 15:30:59 +0000 (17:30 +0200)]
Add ClearAttachments test to KHR_dynamic_rendering

VK-GL-CTS Issue: 2858

Components: Vulkan

Affects: dEQP-VK.dynamic_rendering.*

Change-Id: I2ce363d66c806c3369c50fc9710dc5245fd6546d
(cherry picked from commit ed363241ed4bce8caec1705556198f9893c40b7e)

2 years agoTest dynamic rendering with FSR tests
Piotr Byszewski [Tue, 1 Jun 2021 15:17:24 +0000 (17:17 +0200)]
Test dynamic rendering with FSR tests

This CL generalizes fragment_shading_rate tests to also
test functionality added with VK_KHR_dynamic_rendering extension.

Components: Vulkan

VK-GL-CTS issue: 2858

Affets:
dEQP-VK.fragment_shading_rate*

Change-Id: I769cf608344df04f38cc46e3978511e548124a82
(cherry picked from commit f23f1c9e1b079c1e60d6139cb029c6e0fcb0c7e0)

2 years agoAdd additional tests for VK_KHR_dynamic_rendering
Arkadiusz Sarwa [Wed, 2 Jun 2021 11:38:53 +0000 (13:38 +0200)]
Add additional tests for VK_KHR_dynamic_rendering

Change testing:

In one primary command buffer, record two render pass instances,
with the second resuming the first. In the first, draw one triangle
directly in the primary command buffer. For the second,
use CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw the second
triangle in a secondary command buffer, and execute it in that
second render pass instance.

In one primary command buffer, record two render pass instances,
with the second resuming the first. In the first,
use CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw the first triangle
in a secondary command buffer, and execute it in that first render pass
instance. In second, draw one triangle directly in primary command buffer.

In two primary command buffers, record two render pass instances,
with the second resuming the first. In the first, draw one triangle
directly in the primary command buffer. For the second,
use CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw the second triangle
in a secondary command buffer, and execute it in that second render pass.

In two primary command buffers, record two render pass instances,
with the second resuming the first. In the first,
use CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw the first triangle
in a secondary command buffer, and execute it in that first render pass.
In the second, draw one triangle directly in the primary command buffer.

New tests:
dEQP-VK.dynamic_rendering.contents_*secondary*cmdbuffers_resuming

Components: Vulkan
VK-GL-CTS issue: 2858

Change-Id: I0560c4bd1e2b3d8a3d9bcff8c72ab79e3c260cfe
(cherry picked from commit 755159a118049a8ded1540119191f6ed1b218b43)

2 years agoAdd new tests for VK_KHR_dynamic_rendering
Arkadiusz Sarwa [Thu, 15 Apr 2021 15:31:15 +0000 (17:31 +0200)]
Add new tests for VK_KHR_dynamic_rendering

Change testing:

Draw two triangles in a single primary command buffer,
beginning and ending the render pass instance

Draw two triangles in a single primary command buffer,
but across two render pass instances, with the second RESUMING first.

Draw two triangles in two primary command buffers,
across two render pass instances, with the second RESUMING the first.

Draw two triangles in two secondary command buffers,
across two render pass instances, with the second RESUMING the first,
both executed in the same primary command buffer.

Draw two triangles in two secondary command buffers,
across two render pass instances, with the second RESUMING the first,
executed in two primary command buffers.

Using CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw two triangles in
one secondary command buffer, and execute it inside single render pass
instance in one primary command buffer.

Using CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw two triangles in
two secondary command buffers, execute them inside a single render pass
instance in one primary command buffer.

Using CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw two triangles in
two secondary command buffers, and execute them inside two render pass
instances, with the second RESUMING the first, both recorded in
the same primary command buffer.

Using CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw two triangles in
two secondary command buffers, and execute them inside two render pass
instances, with second RESUMINGfirst, recorded into two primary
cmdbuffers.

New tests:
dEQP-VK.dynamic_rendering*

Components: Vulkan
VK-GL-CTS issue: 2858

Change-Id: I511b04022eaae8b0876a3733f3405eddba7309b1
(cherry picked from commit 8c16db773471118ab02ab6a20882f4781eb0a523)

2 years agoTest dynamic rendering with renderpass tests
Piotr Byszewski [Thu, 27 May 2021 11:58:42 +0000 (13:58 +0200)]
Test dynamic rendering with renderpass tests

This CL generalizes aplicable renderpass tests to also test
functionality added with VK_KHR_dynamic_rendering extension.

Components: Vulkan

VK-GL-CTS issue: 2858

Affets:
dEQP-VK.renderpass*

Change-Id: I3a8e25ba3dced9c92f3ca96bd98bd56f677d9bca
(cherry picked from commit bbacafaa4ceee5a4615c4d4ce45d3e1ec152f6e9)

2 years agoTest dynamic rendering with draw tests
Piotr Byszewski [Sat, 15 May 2021 09:06:29 +0000 (11:06 +0200)]
Test dynamic rendering with draw tests

This CL generalizes most of draw tests to also test
functionality added with VK_KHR_dynamic_rendering extension.

Components: Vulkan

VK-GL-CTS issue: 2858

Affets:
dEQP-VK.draw*
dEQP-VK.conditional_rendering.draw.*
dEQP-VK.conditional_rendering.clear_attachments.*

Change-Id: Ie7898714ed16056d4ac94b4165f637c867eadfb0
(cherry picked from commit ebfa2b809100a23829b8c1b15f123795097eb57d)

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 15 Oct 2021 20:24:58 +0000 (16:24 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I02d8c267d85372b375fcdcb1df69f2c6dc97796c

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