platform/upstream/VK-GL-CTS.git
3 years agoAllow EGL tests to use ES3 with EGL_KHR_create_context
Ari Suonpaa [Thu, 16 Sep 2021 10:58:44 +0000 (13:58 +0300)]
Allow EGL tests to use ES3 with EGL_KHR_create_context

Previously EGL tests that relied on ES3 required EGL 1.5. Now
these are also run when EGL_KHR_create_context is supported.

VK-GL-CTS Issue: 3122

Affects:

dEQP-EGL.functional.image.create.gles3*

Components: EGL
Change-Id: I05fe87a0d2e321310b28df9a998006867115e0f0

3 years agoCover vkGetBufferMemoryRequirements*() routines tests
michal_jakubek [Tue, 12 Oct 2021 11:43:17 +0000 (13:43 +0200)]
Cover vkGetBufferMemoryRequirements*() routines tests

New tests:
dEQP-VK.api.buffer_memory_requirements.*

Components: Vulkan

VK-GL-CTS issue: 3163

Change-Id: I806d8a420e1e6d204061b3b740500736609263f8

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Matthew Netsch [Fri, 22 Oct 2021 20:57:54 +0000 (16:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master

Change-Id: I2aaf2dbd77937a00f045727d428fc45437ca96df

3 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

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

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

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

3 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

3 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

3 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>
3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 22 Oct 2021 19:38:57 +0000 (15:38 -0400)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I11af39aa7fcbecb367a721b7fe3a39b67cbf8550

3 years agoRemove invalid reserved keywords tests
Graeme Leese [Wed, 7 Jul 2021 10:15:41 +0000 (11:15 +0100)]
Remove invalid reserved keywords tests

These identifiers are not listed as reserved in any spec that I can
find.

Components: OpenGLES
Removed Tests: dEQP-GLES3.functional.shaders.keywords.reserved_keywords.image*Shadow_*

Change-Id: I444d9a8a49d3dda7402faa50b79859aaef0ee690
(cherry picked from commit 99df4bc28a2e9f755467fd0c6a88702ee2428232)

3 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

3 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

3 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

3 years agoMerge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master
Matthew Netsch [Fri, 22 Oct 2021 17:09:17 +0000 (13:09 -0400)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master

Change-Id: I5779863db87742a103772ea394a08dc7e50fcb83

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Matthew Netsch [Fri, 22 Oct 2021 17:09:08 +0000 (13:09 -0400)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: Ice7060c4fcd3e60ccd8b0bb76d65bfb409c3120b

3 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

3 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

3 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

3 years agoUse GL_FRAMEBUFFER instead of GL_[DRAW|READ]_FRAMEBUFFER with GLES2
Tapani Pälli [Wed, 22 Sep 2021 12:05:48 +0000 (15:05 +0300)]
Use GL_FRAMEBUFFER instead of GL_[DRAW|READ]_FRAMEBUFFER with GLES2

Affects:
KHR-GLES2.texture_3d.copy_sub_image.negative
KHR-GLES2.texture_3d.copy_sub_image.rgba

Components: OpenGL
VK-GL-CTS issue: 3133

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: Ia32e16e6231b53c9f58e99d85e6178dca5b7f012

3 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

3 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

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

3 years agoAdd tcu::Nothing to improve tcu::Maybe usability
Ricardo Garcia [Mon, 4 Oct 2021 09:55:31 +0000 (11:55 +0200)]
Add tcu::Nothing to improve tcu::Maybe usability

When using tcu::Maybe<T>, tcu::just and tcu::nothing can create these
objects. However, while tcu::just can deduce type T from its arguments,
tcu::nothing cannot as it has no arguments. The type needs to be written
explicitly.

To avoid having to do that and to ease using tcu::Maybe, this commit
creates a new type tcu::Nothing_T and a global constexpr tcu::Nothing
following the same rules as std::nullopt_t and std::nullopt from C++17,
which allow using tcu::Nothing to initialize a tcu::Maybe<T> without the
need to write type T.

No test result should be affected by these changes.

Components: Framework
VK-GL-CTS issue: 3126

Change-Id: I093bbe6f1b77018aedc6e602a2893a4e7d5859a8

3 years agoAdd basic signaled fence tests
Ricardo Garcia [Fri, 8 Oct 2021 16:27:25 +0000 (18:27 +0200)]
Add basic signaled fence tests

Add a couple of tests that verify creating signaled fences works and
they can be immediately waited on.

New tests:
dEQP-VK.synchronization.basic.fence.*signaled

Components: Vulkan
VK-GL-CTS issue: 3181

Change-Id: I235e6eed68fb9253db614592924f6061008cfa98

3 years agoAttachment rate tests
Piotr Byszewski [Tue, 3 Aug 2021 11:02:35 +0000 (13:02 +0200)]
Attachment rate tests

Adds tests where shading rate values are setup in various ways.
Adds a test where two different shading rate attachments
are used in two-subpass render pass.

VK-GL-CTS issue: 2397

Components: Vulkan

Affects:
dEQP-VK.fragment_shading_rate.attachment_rate.*

Change-Id: If6d37028ebef7ac3d3c31fab8076338e1e928de1

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Matthew Netsch [Fri, 15 Oct 2021 22:35:19 +0000 (18:35 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master

Change-Id: I26f3ac1627ccd632426b7bd15461dfb2de9d2094

3 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

3 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

3 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

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

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

3 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

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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Thu, 30 Sep 2021 15:05:57 +0000 (18:05 +0300)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-copy-output-color-swizzle-array-indexing
dEQP-VK.graphicsfuzz.cov-do-while-loop-until-uniform-lt-itself
dEQP-VK.graphicsfuzz.cov-fract-trunc-always-zero
dEQP-VK.graphicsfuzz.cov-function-find-lsb-ivec2-one
dEQP-VK.graphicsfuzz.cov-function-unpack-unorm-2x16-one
dEQP-VK.graphicsfuzz.cov-global-loop-counter-texture-sample-loop-condition-set-array-element
dEQP-VK.graphicsfuzz.cov-ivec-shift-right-by-large-number
dEQP-VK.graphicsfuzz.cov-large-int-array-nested-loops-set-ivec-index-component-sum
dEQP-VK.graphicsfuzz.cov-min-negative-constant-always-below-one
dEQP-VK.graphicsfuzz.cov-nested-functions-loop-assign-global-array-element
dEQP-VK.graphicsfuzz.cov-nested-loops-global-loop-counter-fragcoord-negative-always-false

Change-Id: I78c78c2b681e4ea5a7b05fb787a6a6fe8f589f22

3 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Thu, 30 Sep 2021 14:41:23 +0000 (17:41 +0300)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-for-loop-condition-one-shift-right-integer-comparison-break
dEQP-VK.graphicsfuzz.cov-for-loop-start-negative-increment-variable
dEQP-VK.graphicsfuzz.cov-global-loop-counter-exhaust-calling-function-twice
dEQP-VK.graphicsfuzz.cov-global-loop-counter-read-past-matrix-size-never-executed
dEQP-VK.graphicsfuzz.cov-if-true-float-bits-to-int-one
dEQP-VK.graphicsfuzz.cov-index-array-using-uniform-bitwise-or-one
dEQP-VK.graphicsfuzz.cov-loop-increment-integer-findmsb-minus-uniform
dEQP-VK.graphicsfuzz.cov-loop-struct-array-field-set-value-self-dependency
dEQP-VK.graphicsfuzz.cov-nested-loop-initializer-value-increased-inside
dEQP-VK.graphicsfuzz.cov-nested-loops-clamp-ivec-push-constant-increment-global-counter

Change-Id: Id2bb89247693464600142ef6988d070f03f7d70e

3 years agoVK_EXT_rgba10x6_formats
Vidar Lilleboe [Tue, 7 Sep 2021 14:58:38 +0000 (16:58 +0200)]
VK_EXT_rgba10x6_formats

New tests:
dEQP-VK.pipeline.blend.format.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass.suballocation.multisample.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass.suballocation.multisample_resolve.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass2.suballocation.multisample.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass2.suballocation.multisample_resolve.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass2.suballocation.sparserendertarget.r10x6g10x6b10x6a10x6_unorm_4pack16
dEQP-VK.texture.filtering.*r10x6g10x6b10x6a10x6_unorm*

Affected tests:
dEQP-VK.api.info.format_properties.r10x6g10x6b10x6a10x6_unorm_4pack16,
dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6g10x6b10x6a10x6_unorm_4pack16

Components: Vulkan

VK-GL-CTS issue: 3115

Change-Id: I2dfd4004cfbbd923c71b2f7bcff426b4773c53a4

3 years agoImprove coverage of MSAA copies with different layouts
Vihanakangas [Wed, 29 Sep 2021 12:22:07 +0000 (15:22 +0300)]
Improve coverage of MSAA copies with different layouts

This commit adds a test that tests MSAA copies
with different image layout combinations.

New tests:

dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.diff_layout_copy_before_resolving.*

Affects:

dEQP-VK.api.copy_and_blit.dedicated_allocation.resolve_image.*

Components: Vulkan

VK-GL-CTS issue: 3071

Change-Id: Iedf827aac72058f6bf7b7fe6e49e54816173d011

3 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Mon, 4 Oct 2021 10:23:13 +0000 (13:23 +0300)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-for-loop-struct-as-iterator
dEQP-VK.graphicsfuzz.cov-function-argument-uniform-float-loop-never-return
dEQP-VK.graphicsfuzz.cov-function-large-array-max-clamp
dEQP-VK.graphicsfuzz.cov-function-trivial-switch-case
dEQP-VK.graphicsfuzz.cov-increment-vector-function-call-conditional
dEQP-VK.graphicsfuzz.cov-loop-condition-clamp-vec-of-ones
dEQP-VK.graphicsfuzz.cov-loop-increment-array-elements-clamp-index
dEQP-VK.graphicsfuzz.cov-loop-switch-discard-never-hit
dEQP-VK.graphicsfuzz.cov-matrix-mult-round-even-asinh
dEQP-VK.graphicsfuzz.cov-nested-functions-struct-arrays-vector-lengths
dEQP-VK.graphicsfuzz.cov-nested-loop-large-array-index-using-vector-components
dEQP-VK.graphicsfuzz.cov-nested-loops-global-loop-counter-iterator-dependency
dEQP-VK.graphicsfuzz.cov-ucarryadd-one-and-one
dEQP-VK.graphicsfuzz.cov-uniform-vector-function-argument-mod-increment-integers

Change-Id: I82412672dfe0d5534e1ecd151e46976657a41baa

3 years agoChange cache type to NO_CACHE in duplicate_batch_pipelines_no_cache test
Lesniewska [Thu, 10 Dec 2020 11:47:26 +0000 (12:47 +0100)]
Change cache type to NO_CACHE in duplicate_batch_pipelines_no_cache test

The test case is called "duplicate_batch_pipelines_no_cache",
but it's TestParams were set to EXPLICIT_CACHE - making it use the
pipeline cache, despite it's name.

Components: Vulkan

VK-GL-CTS Issue: 2710

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

Change-Id: Iaa27b10f4895808c4821c6e3ac13fe8ad217e087
(cherry picked from commit a5f16fb2d72ed1c377d03cfb938c4c718f5c814f)

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

3 years agoRemove direct state access usage from RenderbufferCase
Tapani Pälli [Mon, 11 Oct 2021 10:08:41 +0000 (13:08 +0300)]
Remove direct state access usage from RenderbufferCase

Driver might not support GL_[ARB|EXT]_direct_state_access.

Affects:
KHR-GL*internalformat.renderbuffer.*

Components: OpenGL
VK-GL-CTS issue: 3092

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I89e50d51100fc45de159ce21191a38f3c4f2de49

3 years agomaintenance4: Add LocalSizeId tests
Piotr Byszewski [Wed, 14 Jul 2021 19:29:00 +0000 (21:29 +0200)]
maintenance4: Add LocalSizeId tests

For each compute shader entry point, either a LocalSize or
LocalSizeId execution mode, or an object decorated with the
WorkgroupSize decoration must be specified.

Components: Vulkan

VK-GL-CTS issue: 2996

Affets:
dEQP-VK.spirv_assembly.instruction.compute.localsize*

Change-Id: I5d4c5fff1d536fe6fe46b9f60009af8c9fb4a7f6
(cherry picked from commit 81ceb64d651e1e6f949df40613a794ed1452ee03)

3 years agoWire up support for maintenance4 validation
Graeme Leese [Mon, 9 Aug 2021 16:31:31 +0000 (17:31 +0100)]
Wire up support for maintenance4 validation

Pass the appropriate option to spirv-val if VK_KHR_maintenance4 is
supported.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.compute.*

Change-Id: I554bac9160dc55a017e1358a579b59249ed81079
(cherry picked from commit aada936b73b7779fcab9c061a48768db1bc5470e)

3 years agomaintenance4: Add push-constant test
Piotr Byszewski [Thu, 15 Jul 2021 17:46:24 +0000 (19:46 +0200)]
maintenance4: Add push-constant test

Test creates a pipeline with a push-constant, but not initialize
that push constant. The test runs without crashing when reading
that undefined value.

Components: Vulkan

VK-GL-CTS issue: 2996

Affets:
dEQP-VK.pipeline.push_constant.compute_pipeline.*

Change-Id: I0ca1d4082daccd628e26936b4b0b17550c698a1e
(cherry picked from commit 3cf045bd24cb47b660dc272a3a037c1afb8b3ce2)

3 years agomaintenance4: Add pipeline layout tests
Piotr Byszewski [Mon, 12 Jul 2021 19:00:36 +0000 (21:00 +0200)]
maintenance4: Add pipeline layout tests

Test destroying pipeline layout after creating
compute and graphics pipeline.

Components: Vulkan

VK-GL-CTS issue: 2996

Affets:
dEQP-VK.api.pipeline.*

Change-Id: I1a70c67f870ef6cb2341cf9a1236c6d9f127dc54
(cherry picked from commit ee24e9dd50d0bcdd79a718a3205fc3a5cddf35e6)

3 years agoAdd image query tests for VK_KHR_maintenance4
Lionel Duc [Wed, 16 Jun 2021 13:19:56 +0000 (15:19 +0200)]
Add image query tests for VK_KHR_maintenance4

These new tests perform the same queries as the original
vkGet*MemoryRequirements, using the objects createInfo instead. We then
compare the results against the original results.

We also query the memory requirements of a smaller buffer or image and
make sure the returned size requirements are not larger for the smaller
resource.

Components: Vulkan, Framework

New Tests: dEQP-VK.memory.requirements.create_info*

Change-Id: I2b751883911d18c3265b25f9d42920bb7e44bdf7
(cherry picked from commit b45609422d184acc425ad39da7f17816e865fbf1)

3 years agomaintenance4: Add requirements matching tests
Piotr Byszewski [Mon, 19 Jul 2021 13:35:37 +0000 (15:35 +0200)]
maintenance4: Add requirements matching tests

New test does few things:
* creates a bunch of VkBuffer and VkImage objects with the same
  create infos and makes sure their alignments all match
* makes sure that memory requirements returned by
  vkGetBufferCreateInfoMemoryRequirementsKHR are identical to those
  that would be returned by vkGetBufferMemoryRequirements2 if it were
  called with a VkBuffer created with the same VkBufferCreateInfo
  values
* similarly, vkGetImageCreateInfoMemoryRequirementsKHR will report
  the same memory requirements as vkGetImageMemoryRequirements2
  would if called with a VkImage created with the supplied
  VkImageCreateInfo
* makes sure that size memory requiremen for VkImage is not greater
  than that of another VkImage created with a greater or equal extent
  dimension specified in VkImageCreateInfo when all other creation
  parameters are identical
* makes sure that size memory requiremen for VkBuffer is not greater
  than that of another VkBuffer created with a greater or size
  specified in VkImageCreateInfo when all other creation parameters
  are identical

Components: Vulkan

VK-GL-CTS issue: 2996

Affets:
dEQP-VK.api.invariance.memory_requirements_matching

Change-Id: Ide74041ee82440af68458f684e2eae622f31cedf
(cherry picked from commit 5401944127d55b2be660c6f3bb2009f895c7b41a)

3 years agomaintenance4: Add maxBufferSize limit tests
Piotr Byszewski [Wed, 14 Jul 2021 07:52:10 +0000 (09:52 +0200)]
maintenance4: Add maxBufferSize limit tests

Verify that VkBuffer with maxBufferSize can be created
for both normal and sparse buffers.

Components: Vulkan

VK-GL-CTS issue: 2996

Affets:
dEQP-VK.api.buffer.basic.*

Change-Id: I439a4f9ab0d809367054e711dc128a3c2aabecf9
(cherry picked from commit 9333baedccdb4315178a888166fcfd3a1029351c)

3 years agoExtend decoration mismatch tests
Piotr Byszewski [Mon, 7 Jun 2021 11:49:31 +0000 (13:49 +0200)]
Extend decoration mismatch tests

Recent changes to specification changed interface matching
rules and this CL adds tests that check decoration
mismatch in structures.

Components: Vulkan

VK-GL-CTS issue: 2554

Affects:
dEQP-VK.pipeline.interface_matching.decoration_mismatch.*

Change-Id: I25930e6a4b02456acbcb6584f3308435898f475e
(cherry picked from commit 154f8217d9e078888e61c03ce7bb7adc739a77e4)

3 years agoAdd tests for relaxed vector matching
Piotr Byszewski [Fri, 28 May 2021 11:25:24 +0000 (13:25 +0200)]
Add tests for relaxed vector matching

VK_KHR_maintenance4 relaxed vector matching rules
in interface matching section.

Components: Vulkan

VK-GL-CTS issue: 2553

Affects:
dEQP-VK.pipeline.interface_matching.*

Change-Id: I79c96b88e41dba13570d518b07b8d5ef9a599d41
(cherry picked from commit 5e30ef7e7d2bcbf739797f69fe41f24bf8ac9e72)

3 years agoAdd tests for vector matching
Piotr Byszewski [Thu, 21 Jan 2021 15:53:23 +0000 (16:53 +0100)]
Add tests for vector matching

Components: Vulkan

VK-GL-CTS issue: 2553

New tests:
dEQP-VK.pipeline.interface_matching.*

Change-Id: I1354266e11ed7293c6b44526b2aa24427b0e86d5
(cherry picked from commit 13148e616b7811e1763eeea760f08b33deebddb3)

3 years agoAdd decoration mismatch tests
Piotr Byszewski [Thu, 21 Jan 2021 15:53:23 +0000 (16:53 +0100)]
Add decoration mismatch tests

Components: Vulkan

VK-GL-CTS issue: 2554

New tests:
dEQP-VK.pipeline.interface_matching.decoration_mismatch.*

Change-Id: I4f98d36b0568234d303e3234d78c2023f866b775
(cherry picked from commit 42fab9c7a4ff23fc086d4e5b6a8f4a009c36762c)

3 years agoUpdated framework for VK_KHR_maintenance4
Piers Daniell [Thu, 29 Jul 2021 23:57:51 +0000 (17:57 -0600)]
Updated framework for VK_KHR_maintenance4

This is just the vulkan_core.h and generated framework
for VK_KHR_maintenance4. Other CLs can be chained off
this one.

Affects: nothing

Components: Framework, Vulkan

VK-GL-CTS issue: 2996

Change-Id: Iaddaaa02c1523181b86f4beeeef40a17128c65bb
(cherry picked from commit 3cc3a085593bb7e8e5fa323e2ab2101b1bfc9cc5)

3 years agoFramework for VK_KHR_maintenance4
Piers Daniell [Thu, 8 Jul 2021 19:58:03 +0000 (13:58 -0600)]
Framework for VK_KHR_maintenance4

This is just the vulkan_core.h and generated framework
for VK_KHR_maintenance4. Other CLs can be chained off
this one.

Affects: nothing

Components: Framework, Vulkan

VK-GL-CTS issue: 2996

Change-Id: I9390991586dcd24c3e07fd39e0a9e2053c291324
(cherry picked from commit 332c5c3f6c941f42b623d7c3d26520e8c9c48297)

3 years agoChange RobustnessExt tests to use format_features2
Graeme Leese [Wed, 14 Jul 2021 13:45:17 +0000 (14:45 +0100)]
Change RobustnessExt tests to use format_features2

The no_fmt_qual variants of these tests can run on any format that
exposes the feature flag. This means that we get somewhat more coverage
on implementations that don't support both reading and writing without
format qualifiers.

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

Change-Id: I8564fcd9d1c4eefc28239657b61536a0b8ecdfb5
(cherry picked from commit 82fe8a8a29f729045a149c82cd72ea3a0d615f3b)

3 years agoTests for VK_KHR_format_feature_flags2 extension
michal_jakubek [Wed, 5 May 2021 13:28:16 +0000 (15:28 +0200)]
Tests for VK_KHR_format_feature_flags2 extension

This CL also add tests for shadow sampling of R textures.

New tests:
dEQP-VK.api.format_feature_flags2.*

Affects:
dEQP-VK.image.store.*
dEQP-VK.image.load_store.*
dEQP-VK.texture.shadow.*

Components: Vulkan
VK-GL-CTS issue: 2826

Change-Id: I8f4ad7504b4f198f508b307346c4daa9ace72664
(cherry picked from commit da85b8e37cba61ff05638bf28f99a3fd808ce68d)

3 years agoAdd tests for VK_EXT_primitive_topology_list_restart
Ari Suonpaa [Wed, 26 May 2021 11:49:01 +0000 (14:49 +0300)]
Add tests for VK_EXT_primitive_topology_list_restart

VK-GL-CTS Issue: 2923

New tests:

dEQP-VK.pipeline.input_assembly.primitive_restart.*list*

Components: Vulkan
Change-Id: I929144d10af95d9576908ee1c0adaf412ae1a148
(cherry picked from commit 267d7262f4caf6cfb639cc0f202ace7d2a9c435f)

3 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

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 8 Oct 2021 18:40:16 +0000 (14:40 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master

Change-Id: Iae5295f99337a5d1a055079852dc5b9dd5816c31

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 8 Oct 2021 18:02:50 +0000 (14:02 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I2eaed7035330ecb962466f205b3d3dd80a311d4b

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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>
3 years agoAdd coverage for sampling a compressed texture that has been written
Antto Mäkinen [Mon, 16 Aug 2021 06:51:31 +0000 (09:51 +0300)]
Add coverage for sampling a compressed texture that has been written
to by a compute shader

This test checks that a compressed texture will be sampled
correctly if its contents have been modified by a compute shader.

VK-GL-CTS issue: 2871

New Tests:
dEQP-VK.image.sample_texture.64_bit_compressed_format
dEQP-VK.image.sample_texture.64_bit_compressed_format_two_samplers
dEQP-VK.image.sample_texture.128_bit_compressed_format
dEQP-VK.image.sample_texture.128_bit_compressed_format_two_samplers

Components: Vulkan

Change-Id: I048d39c9e26da072396a42ae8f266a7f14ba021e

3 years agoExtend multisample tests to support FSR
Piotr Byszewski [Thu, 1 Jul 2021 17:48:31 +0000 (19:48 +0200)]
Extend multisample tests to support FSR

Existing pipeline multisample, pipeline multisample mixed
attachment samples and pipeline multisample sample locations
tests are ran a second time with a 2x2 shading rate.

VK-GL-CTS issue: 2397

Components: Vulkan

Affects:
dEQP-VK.pipeline.multisample*

Change-Id: I87fbab065c3d6e32dd06643586b2e48d7cf25705

3 years agoStencil resolve tests without samplerate shading
Jari Komppa [Wed, 27 Jan 2021 12:37:59 +0000 (14:37 +0200)]
Stencil resolve tests without samplerate shading

This change adds a set of stencil resolve tests that do not
require samplerate shading. Instead of using sample id to
perform sample discard, the tests use multiple separate render
passes with sample masks.

New tests:
dEQP-VK.renderpass2.depth_stencil_resolve.*_samplemask

Affects:
dEQP-VK.renderpass2.depth_stencil_resolve.*

Components: Vulkan

VK-GL-CTS issue: 2619

Change-Id: I2399f64856d044375aed3e52e6b742fd46ce92a3

3 years agoAdd a new GLES2TextureSharingTest
Alex Lan [Sun, 18 Jul 2021 16:48:36 +0000 (00:48 +0800)]
Add a new GLES2TextureSharingTest

This is a test for texture used in default fbo and user fbo
in same context. If this texture sampled in default fbo and
might be rendered in user fbo, the texture buffer might be
wrongly allocated which cause two rendering results different.

The test's behavior is like this:
1, draw left half rectangle, sample the GL texture
2, attach the GL texture as color attachment, read 1 pixel
3, draw right half rectangle, sample the GL texture
4, the first time drawing result as reference and compare with
the second time rendering result.

Affects:
dEQP-EGL.functional.sharing.gles2.texture.render_sample_mixed

Components: OpenGL

Change-Id: I11e0fb5745588d5e5440a22a540b7651976c934d

3 years agoInitialise dot product required feature struct
Graeme Leese [Wed, 22 Sep 2021 08:51:11 +0000 (09:51 +0100)]
Initialise dot product required feature struct

This was left uninitialised which meant that tests could incorrectly be
treated as requiring these features and skipped as unsupported.

Components: Vulkan
VK-GL-CTS issue: 3140
Affects: dEQP-VK.spirv_assembly.*

Change-Id: Ib1ec17b1d05a07996a996cda806c5cc8b27627b7

3 years agoFix early fragment tests validation errors
Samuel Iglesias Gonsálvez [Mon, 30 Aug 2021 15:45:20 +0000 (17:45 +0200)]
Fix early fragment tests validation errors

There are several issues in the tests which were found by running them
with turnip driver with sysmem mode and the validation layers enabled:

- There was a sync issue. The culprit was
srcAccessMask=VK_ACCESS_SHADER_WRITE_BIT in one image memory barrier
since per spec for the store op "For attachments with a depth/stencil
format, this uses the access type
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT.". So the correct
synchronization should have src access mask
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT.

- In the same image memory buffer, the image layout was wrong when
testing stencil images.

- There were validation errors related to wrong image layout settings.

VK-GL-CTS issue: 3083
Components: Vulkan

Affects:

   dEQP-VK.fragment_operations.early_fragment.*

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

3 years agoFix image view type for multiview multi draw tests
Ricardo Garcia [Tue, 21 Sep 2021 11:29:57 +0000 (13:29 +0200)]
Fix image view type for multiview multi draw tests

When using more than 1 layer, the image view type was incorrectly set to
VK_IMAGE_VIEW_TYPE_2D instead of VK_IMAGE_VIEW_TYPE_2D_ARRAY.

Affected tests:
dEQP-VK.draw.multi_draw.*multiview*

Components: Vulkan
VK-GL-CTS issue: 3130

Change-Id: Ia2aa5af46d8bd09abc9ba7d40cd1e8c26add21bf

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

Affects:
dEQP-GL*functional.primitive_bounding_box.*

Components: AOSP
VK-GL-CTS issue: 3104

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I38db9fc893a685893dbd6c2de8ab15ab3e0db11e

3 years agoFix stencil data unpacking in dEQP-VK.fragment_operations test
Slawomir Cygan [Tue, 28 Sep 2021 15:37:46 +0000 (17:37 +0200)]
Fix stencil data unpacking in dEQP-VK.fragment_operations test

The test copies only one aspect (depth or stencil, not both) of the image
to the buffer, so host unpacking code should not use combinded DS format
 - instead S8_UIN format should be used in stencil tests.

The problem occurs in stencil tests, on implementations not supporing
S8_UINT format, where D+S format is used.

Components: Vulkan

VK-GL-CTS Issue: 3160

Affects: dEQP-VK.fragment_operations.*stencil

Change-Id: I27b69c02ebf08fa19f512cdd786ebe596d91cfeb

3 years agoMerge "Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master"
Matthew Netsch [Fri, 1 Oct 2021 23:09:23 +0000 (23:09 +0000)]
Merge "Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master"

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 1 Oct 2021 22:05:36 +0000 (18:05 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master

Change-Id: I53860788b7f8844254a39df3ed14f621f34e90f2

3 years agoFix rectangular line tests
Erik Faye-Lund [Wed, 7 Jul 2021 16:39:28 +0000 (18:39 +0200)]
Fix rectangular line tests

When we're testing against rectangular lines, we need to generate the
rectangular line geometry as well, otherwise we'll test against
parallelogram lines instead.

Components: Vulkan, Framework

Public issue: 274

Affected Tests: dEQP-VK.rasterization.primitives.*.rectangular_line_*

Change-Id: I514646e94d2faf1e996950fd6b3a738797f84ff0