platform/upstream/VK-GL-CTS.git
2 years agoFix for the bounding box tests with GL 4.5
Tapani Pälli [Fri, 10 Sep 2021 12:06:10 +0000 (15:06 +0300)]
Fix for the bounding box tests with GL 4.5

Affects:
dEQP-GL*functional.primitive_bounding_box.*

Components: AOSP
VK-GL-CTS issue: 3104

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

2 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

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

2 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

2 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

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 1 Oct 2021 21:50:09 +0000 (17:50 -0400)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I719241f2424bd8e9f3c0d4b6898706289181b552

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 1 Oct 2021 21:06:12 +0000 (17:06 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I015e15ff85941f0a8756bd4b13e93fcd9161d62e

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Matthew Netsch [Fri, 1 Oct 2021 20:52:57 +0000 (16:52 -0400)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: Ic894ed63f8c389f9f5485e3f573a66fd9901f5aa

2 years agoFix vector access in EGL partial update tests
Graeme Leese [Wed, 15 Sep 2021 09:23:00 +0000 (10:23 +0100)]
Fix vector access in EGL partial update tests

The vector of damage regions was being accessed even when the vector
was empty, which is invalid.

This changes the behaviour of the test, which used to invalidate the
whole framebuffer when it found no damage regions, but not invalidates
none of it. This seems like the correct behaviour.

Components: EGL
Affects: dEQP-EGL.functional.partial_update.*

Change-Id: I8c5500a85d000d16b240359de7eadc67144fb7d3

2 years agoFix dEQP-VK.glsl.opaque_type_indexing.ssbo*_compute validation error
Samuel Iglesias Gonsálvez [Fri, 24 Sep 2021 10:55:04 +0000 (12:55 +0200)]
Fix dEQP-VK.glsl.opaque_type_indexing.ssbo*_compute validation error

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

Components: Vulkan
VK-GL-CTS issue: 3137

Affected tests:

 dEQP-VK.glsl.opaque_type_indexing.ssbo*_compute

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

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

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

Components: Vulkan

VK-GL-CTS Issue: 3144

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

Change-Id: I87f69256501519fe524159f02eb14ee6ac0e0092

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

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

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

Components: Vulkan
VK-GL-CTS issue: 3128

Change-Id: I471235a0da38eb4c244e87e0d5851b8cb810f990

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

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

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

Components: Vulkan

VK-GL-CTS issue: 3120

Change-Id: I95f897ceebcea8fdd5d6bda885a701be20d07ab1

2 years agoCheck for integer texture support in negative teximage tests
Tapani Pälli [Thu, 23 Sep 2021 04:40:57 +0000 (07:40 +0300)]
Check for integer texture support in negative teximage tests

Affects:
KHR-GLES2.texture_3d.filtering.combinations.negative

Components: OpenGL
VK-GL-CTS issue: 3134

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

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

Change-Id: I16fde981fb8a0d98d4ed0522cb69a429a68545d0

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

Change-Id: I133af15a49b220d94c26f9db70e7830fbe167b72

2 years agoAllow the use of the standard types
Alexander Galazin [Fri, 18 Jun 2021 08:17:32 +0000 (10:17 +0200)]
Allow the use of the standard types

Removes the script that enforces the use of
the de-wrappers instead of the standard types.

VK-GL-CTS issue: 2963

Components: Framework

Change-Id: I5e2ff38a2b2cbc63a3c756a1e0260833ecd9381e
(cherry picked from commit ce1ae17c4785a8a57214a16fac46e28832956fa9)

2 years agoUpdate vkDeviceFeatureTest.inl
Ilkka Saarelainen [Thu, 30 Sep 2021 04:25:40 +0000 (07:25 +0300)]
Update vkDeviceFeatureTest.inl

Due to merge order issue, vkDeviceFeatureTest.inl was not updated
properly.
This CL updates the file.

Affects:

dEQP-VK.api.device_init.create_device_unsupported_features

Components: Framework, Vulkan

VK-GL-CTS issue: 3166

Change-Id: I242e387b707094b124b1f368b0e11d8a17f92dfc

2 years agoNotice of withdrawal of Vulkan CTS 1.2.4.x
Matthew Netsch [Mon, 27 Sep 2021 18:52:19 +0000 (14:52 -0400)]
Notice of withdrawal of Vulkan CTS 1.2.4.x

Components: Vulkan
Change-Id: I82e747ce2898064804c88bfa98eab3c8c0f48953

2 years agoFix GL_MAX_FRAGMENT_INTERPOLATION_OFFSET limit check
Shahbaz Youssefi [Fri, 27 Aug 2021 03:11:56 +0000 (23:11 -0400)]
Fix GL_MAX_FRAGMENT_INTERPOLATION_OFFSET limit check

The spec is fixed to align with Vulkan, requiring the minimum value for
GL_MAX_FRAGMENT_INTERPOLATION_OFFSET to be 0.5-ULP, where

    ULP = 1/pow(2,GL_FRAGMENT_INTERPOLATION_OFFSET_BITS)

Affects:
dEQP-GL45.functional.state_query.multisample_interpolation.max_fragment_interpolation_offset.get_float
dEQP-GLES31.functional.state_query.multisample_interpolation.max_fragment_interpolation_offset.get_float
KHR-GL44.shader_multisample_interpolation.api.api
KHR-GL45.shader_multisample_interpolation.api.api
KHR-GL46.shader_multisample_interpolation.api.api
KHR-GLES31.core.shader_multisample_interpolation.api.api
KHR-GL45.limits.max_fragment_interpolation_offset
KHR-GL46.limits.max_fragment_interpolation_offset

Components: OpenGL
Khronos OpenGL issue: #149

Change-Id: I153a05ef6db8f50a6aa337188e5aeb8d504fbbdd

2 years agoTest non-Sample Shading FragCoord.xy
Juha Heiskanen [Mon, 6 Sep 2021 12:31:55 +0000 (15:31 +0300)]
Test non-Sample Shading FragCoord.xy

In these test we are testing that FragCoord reflect the location of the
center of the fragment when Sample Shading is disabled. There is also a
set of tests which are using Centroid interpolation decoration on
FragCoord.

Components: Vulkan

VK-GL-CTS Issue: 3040

New tests: dEQP-VK.glsl.builtin_var.fragcoord_msaa_input.*no_sample*

Change-Id: Ic84bd57d8118e001bcd9e52ecb2e4193ff332ba6

2 years agoTest vkCreateDevice with unsupported features
Ilkka Saarelainen [Wed, 1 Sep 2021 05:27:58 +0000 (08:27 +0300)]
Test vkCreateDevice with unsupported features

vkCreateDevice should return VK_ERROR_FEATURE_NOT_PRESENT if any
requested feature is not supported.

The old test covered only Vulkan 1.0 core features.
This CL extends the test to cover also Vulkan 1.1 and 1.2 core features
and features provided by extensions.

Affects:

dEQP-VK.api.device_init.create_device_unsupported_features

Components: Framework, Vulkan

VK-GL-CTS issue: 3031

Change-Id: I319ac28bad3d4524ef4a1477c4680e4e8f91f4da

2 years agoTest anisotropic filtering of single-level images
Vihanakangas [Thu, 26 Aug 2021 12:11:33 +0000 (15:11 +0300)]
Test anisotropic filtering of single-level images

Anisotropic filtering tests did not take into account
test cases that use images with only a single level.
This change adds a couple of new tests that test this functionality.

Affects:

dEQP-VK.texture.filtering_anisotropy.*

New tests:

dEQP-VK.texture.filtering_anisotropy.single_level.*

Components: Vulkan

VK-GL-CTS issue: 3039

Change-Id: I9656cfba1e94a112ac84ca57f00c697d47637ff1

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 24 Sep 2021 18:42:06 +0000 (14:42 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master

Change-Id: Icc4ff9e543c2dbb7582df992e59ce3ae644b67fe

2 years agoLimit storage buffer sizes in reconvergence tests
Mohankumar Nekkarakalaya [Mon, 13 Sep 2021 19:04:03 +0000 (12:04 -0700)]
Limit storage buffer sizes in reconvergence tests

Return a not supported error if the storage buffer size is greater
than maxStorageBufferRange gpu limits.

Components: Vulkan

VK-GL-CTS Issue: 3114

Affected tests: dEQP-VK.reconvergence.*

Change-Id: Iecfbe0138b7d70420a353c2176110b843a49b091

2 years agoFix wrong VkAccessFlag when copying color image to buffer
Samuel Iglesias Gonsálvez [Thu, 23 Sep 2021 07:07:10 +0000 (09:07 +0200)]
Fix wrong VkAccessFlag when copying color image to buffer

Components: Vulkan
VK-GL-CTS issue: 3083

Affected tests:

   dEQP-VK.fragment_operations.early_fragment.*

Change-Id: Idb809fdd9efad586166b3d94c2a305e8c234274f
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, 24 Sep 2021 16:26:36 +0000 (12:26 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Ibbd5912f0843ba22ee8402ee4a96aaf6ed53b303

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 24 Sep 2021 16:26:29 +0000 (12:26 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Iac3e8ce0a318caed752aeb933994227278d9582f

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 24 Sep 2021 15:04:24 +0000 (11:04 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ifc19ab1fcdcfa681d0fef9b3c5e3448d12813fdf

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Fri, 24 Sep 2021 15:04:20 +0000 (11:04 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Iab8e5c27a9f07ca0459c97bc8d72cd93b8ce675a

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Matthew Netsch [Fri, 24 Sep 2021 15:04:16 +0000 (11:04 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Icdbb121ec7a828457ff9df34efe018fbf845e3f9

2 years agoAccept NaN as valid pass value in shader precision atan2 tests
Mohankumar Nekkarakalaya [Wed, 25 Aug 2021 22:45:12 +0000 (15:45 -0700)]
Accept NaN as valid pass value in shader precision atan2 tests

Spec mentions that implementation may assume arguments are not
Inf if the entrypoint is not declared with SignedZeroInfNanPreserve
and can perform optimizations.

Components: Vulkan

VK-GL-CTS Issue: 3073

Affected tests:
dEQP-VK.spirv_assembly.instruction.compute.float16.*.atan2
dEQP-VK.spirv_assembly.instruction.graphics.float16.*.atan2*
dEQP-VK.glsl.builtin.precision.atan2.*

Change-Id: I6e1fbc14a5654422cf88e1453fae0774bfce0bb6

2 years agoAdd missing checking of integer dot product features
Graeme Leese [Thu, 9 Sep 2021 12:57:55 +0000 (13:57 +0100)]
Add missing checking of integer dot product features

The requested features for dot products were being set up by the tests
but they were never actually validated. (In practice this probably won't
be a problem because they are compulsory with the extension and also in
the new core version, but it makes the code quite confusing).

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

Change-Id: I62558d27f9bb360e3912b90964739bb1356df4b8

2 years agoDon't silently drop features that were requested
Graeme Leese [Mon, 9 Aug 2021 17:04:19 +0000 (18:04 +0100)]
Don't silently drop features that were requested

The helper functions would just silently not request features that the
actual test code requested if it didn't think they were useful. This has
the potential for weird bugs, so stop doing it. Instead assert that
tests are not asking for features that don't seem useful. This will
still prevent tests being quietly skipped for features they won't use,
but will show up immediately if a test really does need these features
for something unexpected.

Some of the existing tests were requesting features that they weren't
going to use (mostly StoresAndAtomics for different stages), and so
these are fixed not to request them.

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

Change-Id: I7acfc86c13067ee231cf71389d002886272081dd

2 years agoUpdate checking of VulkanFeatures structs
Graeme Leese [Fri, 16 Jul 2021 17:07:03 +0000 (18:07 +0100)]
Update checking of VulkanFeatures structs

The spirv_assembly tests defined various helpers for checking whether
certain features are supported but they worked inconsistently and were
repeated in various places. This change pulls the checking into a single
function which can be used to check instead of having to call a while
set of functions to achieve the same end.

The higher-level checking functions have always masked out a subset of
the features that are requested, and this is not changed, so requests
for certain things that look correct will silently not check all the
features.

The extension feature enums that were defined just for the checking
system are replaced with the standard structs. They're easier to use
because they don't need to be defined afresh when extensions are added
here, and because the names are automatically consistent with the names
that are known from the API. In at least 1 case the existing names were
pretty hard to decode correctly.

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

Change-Id: Icd2fc3f7d37e0ec3cfed9a80f3152617c8f599a3

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 17 Sep 2021 22:31:36 +0000 (18:31 -0400)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I4affbd86cc7b03860722848f5234401ed68bb9d0

2 years agoTests for OpenGL ES 3.1 and 3.2 compressed formats
Mikko Tiusanen [Tue, 9 Mar 2021 08:13:36 +0000 (10:13 +0200)]
Tests for OpenGL ES 3.1 and 3.2 compressed formats

Adds texture specification and simple draw tests for all
OpenGL ES 3.1 and 3.2 compressed texture formats.

Adds tests for error values from compressed texture
related api calls.

New tests:

KHR-GLES31.core.compressed_format.*
KHR-GLES32.core.compressed_format.*

Components: OpenGL

VK-GL-CTS issue: 2174

Change-Id: I5a05962e79fca31ae526ec4e06f22c43d0a0f5b4

2 years agodEQP-VK.subgroups.*ray_tracing* missing extension check
Samuel Iglesias Gonsálvez [Thu, 15 Jul 2021 09:15:32 +0000 (11:15 +0200)]
dEQP-VK.subgroups.*ray_tracing* missing extension check

Components: Vulkan
VK-GL-CTS issue: 3003

Affected:

dEQP-VK.subgroups.*ray_tracing*

Change-Id: I25719d00c6d0180c03726d73497727754f9539d2
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoRe-enable protected memory tests
Ari Suonpaa [Wed, 4 Aug 2021 10:12:38 +0000 (13:12 +0300)]
Re-enable protected memory tests

AHB protected memory tests were previously removed due to
validation errors. This change adds them back while also
fixing the errors.

VK-GL-CTS Issue: 3030

Affects:

dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

Components: Vulkan
Change-Id: I0ba4809eec82b069d9f36b624c65c7fe7f8df7a3

2 years agoDepth/Stencil descriptor tests
Ricardo Garcia [Mon, 2 Aug 2021 08:17:26 +0000 (10:17 +0200)]
Depth/Stencil descriptor tests

New set of tests that try to use depth/stencil images as descriptors
and/or as read-only attachments with using layouts that were previously
not covered by other CTS tests.

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

Components: Vulkan
VK-GL-CTS issue: 2925

Change-Id: I00e022afb0b7bc9561e938e3c35a026d8ade2ca9

2 years agoTest multiview with different depth ranges
Piotr Byszewski [Thu, 14 Jan 2021 11:35:59 +0000 (12:35 +0100)]
Test multiview with different depth ranges

This change extends existing tests to also cover creation of
viewports with different depth ranges, and maked sure that
depth clipping/clamping works correctly across the different
viewports.

Issue raported by layers in existing tests were also fixed.

Components: Vulkan

VK-GL-CTS issue: 2500

Affects:
dEQP-VK.multiview.*

New tests:
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: I0085eeda3aac2e36ab7013bf5a83009ce9ea94b9

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 17 Sep 2021 19:40:57 +0000 (15:40 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master

Change-Id: Ib651fa8492c869d02b1185442b1a7ed431a2b7c6

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 17 Sep 2021 18:11:27 +0000 (14:11 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I0e58f89d8cfdfaaa400f700ea87882cb281f080f

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

Change-Id: I2d3ee8a323e62c13c9f3e5ff499ff3614c802b29

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 17 Sep 2021 15:56:59 +0000 (11:56 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I521f0b1f6f4c3a86e8612239ce2134be76e5d16a

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Fri, 17 Sep 2021 15:56:48 +0000 (11:56 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ic1ab6043f9d70b8491192137c6d8c2fc12f2112d

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
root [Thu, 16 Sep 2021 17:41:53 +0000 (13:41 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master

Change-Id: I09891e0da9f54df761a1d22474d04ac0ae5fe498

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
root [Thu, 16 Sep 2021 17:41:40 +0000 (13:41 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I7bd0d85348a194cda0ec5922fa93a2cb5dd02e19

2 years agoTest blitting from ASTC formats
Piotr Byszewski [Tue, 1 Jun 2021 12:04:26 +0000 (14:04 +0200)]
Test blitting from ASTC formats

This change extends existing tests to also test blitting of all
ASTC compressed formats onto all compatible uncompressed formats.

VK-GL-CTS issue: 2366

Components: Vulkan

Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.2d.astc*

Change-Id: I62a9fcf056c9468f02ee0999734f6d1b5a438beb

2 years agoFix workgroup memory tests for int16s
Graeme Leese [Tue, 7 Sep 2021 12:55:40 +0000 (13:55 +0100)]
Fix workgroup memory tests for int16s

Most of these tests were fixed to request the correct features in
634882efd17, but the int16 and uin16 variants still didn't request the
shaderInt16 feature.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.int16
         dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.uint16

Change-Id: If848202fc96bd191d67be3d11cb09b7890f936d7

2 years agoCheck support for EGL 1.5 or higher when using GLES3
Ari Suonpaa [Thu, 26 Aug 2021 04:49:37 +0000 (07:49 +0300)]
Check support for EGL 1.5 or higher when using GLES3

Layered AHB tests are using GLES3 tests, but the
check for a required  EGL version supporting that
was missing. Now these tests throw not supported when
the EGL version is below 1.5.

VK-GL-CTS Issue: 3076

Affects:

dEQP-EGL.functional.image.*android_native_array*

Components: EGL
Change-Id: I4e79e8447ec6a3a243b30ab1f64dbb00a4fa4e96

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 agoFix AHB external memory test mip levels
Ari Suonpaa [Tue, 14 Sep 2021 10:08:37 +0000 (13:08 +0300)]
Fix AHB external memory test mip levels

AHB external memory tests were testing mipmaps using a
queried maximum number of supported mipmap levels, but
at the same time using an image size of 64x64.
The number of mip levels need to match the number for a
full mip chain, in this case 7. Now a correct number of
mip levels is used, which also gets rid of a validation
error.

VK-GL-CTS Issue: 3112

Affects:

dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

Components: Vulkan
Change-Id: I1c6d09f93c06ac1c52cea283fd86359ccde01e4f

2 years agoUpdate Vulkan headers
Peter Kohaut [Fri, 10 Sep 2021 13:56:09 +0000 (15:56 +0200)]
Update Vulkan headers

Components: Vulkan
Change-Id: I1fc2ec802183e2a1efb50915b66bae7422730f8d

2 years agoAdd tests for VK_KHR_shader_integer_dot_product
Stuart Brady [Tue, 19 Jan 2021 14:19:40 +0000 (14:19 +0000)]
Add tests for VK_KHR_shader_integer_dot_product

Components: Vulkan, Framework

VK-GL-CTS issue: 2729

New tests:
dEQP-VK.spirv_assembly.instruction.compute.opsdotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsdotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotaccsatkhr.*

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

Signed-off-by: Stuart Brady <stuart.brady@arm.com>
Signed-off-by: Pablo Cascón <pablo.cascon@arm.com>
Signed-off-by: Neil Hickey <neil.hickey@arm.com>
Change-Id: Ia618d9eb33369e72eedc5845342e17e1ee12da3a
(cherry picked from commit 12d5b5fe34a4cde919e1d9d3949154bf33ef21f2)

2 years agoFulfill OpControlBarrier requirement
Boris Zanin [Wed, 17 Mar 2021 11:27:26 +0000 (12:27 +0100)]
Fulfill OpControlBarrier requirement

The valid usage requirement in vulkan specification 1.2.170
VUID-StandaloneSpirv-None-04641 requires: "If the Scope for
memory is Invocation, then memory semantics must be None".
New SPIRV-Tools enforces it.

Fix tests:
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.in_function
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.in_switch
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.in_if
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.after_divergent_if
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.in_loop

Update tests:
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.*

Components: Vulkan

Change-Id: Ie6997fdb36c0327d88a2b7b6b4826dfee690377d

2 years agoFix Clang -Wcomma warnings
Mika Väinölä [Tue, 7 Sep 2021 14:24:14 +0000 (17:24 +0300)]
Fix Clang -Wcomma warnings

Replace commas that were most likely intended to be semicolons
instead.

Components: Vulkan, OpenGL ES

VK-GL-CTS issue: 3097

Change-Id: I106292084a12db1517da33c26a88df5232ea33fd

2 years agoFix qpReleaseInfo generation with non-ASCII paths
Mika Väinölä [Tue, 7 Sep 2021 13:12:03 +0000 (16:12 +0300)]
Fix qpReleaseInfo generation with non-ASCII paths

On Windows CMake fails to generate qpReleaseInfo.inl if DE_GIT_DIR is a
path with non-ASCII characters. Specify ENCODING UTF8 for git output.

Components: Framework

VK-GL-CTS issue: 3096

Change-Id: I8368ba5e2670b723471e2d7a7beec1f11376c49f

2 years agoAdd tests for VK_EXT_load_store_op_none
Ari Suonpaa [Wed, 30 Jun 2021 22:11:44 +0000 (01:11 +0300)]
Add tests for VK_EXT_load_store_op_none

VK-GL-CTS Issue: 2971

New tests:

dEQP-VK.renderpass*.load_store_op_none.*

Components: Vulkan
Change-Id: If3eb79e75b14f96037d14fcaa469230d3434a729
(cherry picked from commit b0025b814cad4fd699761578eaec575fe76f7f75)

2 years agoRemove invalid SPIR-V decorations
Ilkka Saarelainen [Tue, 7 Sep 2021 13:03:46 +0000 (16:03 +0300)]
Remove invalid SPIR-V decorations

Some SPIR-V asm tests used invalid Binding and DescriptorSet decorations.
This CL removes those decorations.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.physical_pointers.complex_types_compute.*
dEQP-VK.spirv_assembly.instruction.compute.pointer_parameter.buffer_memory
dEQP-VK.spirv_assembly.instruction.graphics.pointer_parameter.buffer_memory*
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_float_16_to_16x2.scalar
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_float_16_to_16x2.vec2
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_int_16_to_16x2.scalar_int
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_int_16_to_16x2.scalar_uint
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_int_16_to_16x2.ivec2
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_int_16_to_16x2.uvec2

Components: Vulkan

VK-GL-CTS issue: 3063

Change-Id: Icfee33f9ce041bf60a19fba55aef9fdab0747148

2 years agoMerge branch 'vulkan-cts-1.2.7'
Peter Kohaut [Tue, 7 Sep 2021 16:42:49 +0000 (18:42 +0200)]
Merge branch 'vulkan-cts-1.2.7'

Change-Id: I206c4059e348c7163a597e47e76a2146e23d7fbc

2 years agoMerge branch 'vulkan-cts-1.2.6' into vulkan-cts-1.2.7
Peter Kohaut [Tue, 7 Sep 2021 16:40:35 +0000 (18:40 +0200)]
Merge branch 'vulkan-cts-1.2.6' into vulkan-cts-1.2.7

Change-Id: Iec55ddd12f12935ab70d00af5841a8b22f9a3c89

2 years agoAdd tests for VK_KHR_shader_integer_dot_product
Stuart Brady [Tue, 19 Jan 2021 14:19:40 +0000 (14:19 +0000)]
Add tests for VK_KHR_shader_integer_dot_product

Components: Vulkan, Framework

VK-GL-CTS issue: 2729

New tests:
dEQP-VK.spirv_assembly.instruction.compute.opsdotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsdotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotaccsatkhr.*

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

Signed-off-by: Stuart Brady <stuart.brady@arm.com>
Signed-off-by: Pablo Cascón <pablo.cascon@arm.com>
Signed-off-by: Neil Hickey <neil.hickey@arm.com>
Change-Id: Ia618d9eb33369e72eedc5845342e17e1ee12da3a

2 years agoAllow GL_RGB9_E5 as a valid fbo format
Matthew Netsch [Tue, 22 Dec 2020 19:40:32 +0000 (01:10 +0530)]
Allow GL_RGB9_E5 as a valid fbo format

If GL_QCOM_render_shared_exponent is available then treat
GL_RGB9_E5 as a valid internal format for fbo. Also, allow
copy of RGB9_E5 pixel data.

Components: OpenGL
VK-GL-CTS Issue: 2898

Affects:
KHR-GLES3.packed_pixels.rectangle.rgb9_e5
KHR-GLES3.packed_pixels.pbo_rectangle.rgb9_e5
KHR-GLES3.packed_pixels.varied_rectangle.rgb9_e5

Change-Id: Ie57d74b9bbd11cf7ccca175813077c22405a0926
(cherry picked from commit db8e2899b1f0ab4677aa24af6fad4119f5fe1fa2)

2 years agoMerge branch 'vulkan-cts-1.2.7'
Peter Kohaut [Fri, 3 Sep 2021 12:11:08 +0000 (14:11 +0200)]
Merge branch 'vulkan-cts-1.2.7'

Change-Id: I0034a268b5c4dd313953bf4cd8b6511fd3b5635e

2 years agoRemove unreachable breaks
Mika Väinölä [Tue, 24 Aug 2021 10:51:42 +0000 (13:51 +0300)]
Remove unreachable breaks

Fix warnings for Clang builds with -Wunreachable-code-break.

Components: Framework, OpenGL, OpenGL ES, Vulkan

VK-GL-CTS issue: 3074

Change-Id: Ib658e631bad3d06d787c6151f744e8db3e850fb4

2 years agoAdd GL_RGB9_E5 as renderable ext format in fbo tests
Mohankumar Nekkarakalaya [Thu, 19 Aug 2021 19:05:36 +0000 (12:05 -0700)]
Add GL_RGB9_E5 as renderable ext format in fbo tests

-If GL_QCOM_render_shared_exponent is supported then treat
GL_RGB9_E5 as a renderable format for fbo completeness tests

Components: OpenGL
VK-GL-CTS Issue: 3066

Affects:
dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0.rgb9_e5
dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rgb9_e5

Change-Id: I74566a5b56c7528c89ac97423c5b6f9207397c70
(cherry picked from commit d18b37f7319839e2be970a96fecdeb2cdb1db7e4)

2 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Fri, 4 Jun 2021 12:15:17 +0000 (15:15 +0300)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

The tests have been separated by a request.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-dfdx-dfdy-after-nested-loops
dEQP-VK.graphicsfuzz.cov-nested-loops-float-array-select-by-fragcoord
dEQP-VK.graphicsfuzz.cov-nested-loops-set-struct-data-verify-in-function

Change-Id: I33b01c2f14318fb65b1f895eea89433828c82d51

2 years agoMerge branch 'vulkan-cts-1.2.6' into vulkan-cts-1.2.7
Peter Kohaut [Fri, 3 Sep 2021 11:11:48 +0000 (13:11 +0200)]
Merge branch 'vulkan-cts-1.2.6' into vulkan-cts-1.2.7

Change-Id: I5d1960f36c445e344a36442d03b7a71a50732038

2 years agoFix GLES3 Clang UBSan errors
Mika Väinölä [Tue, 10 Aug 2021 05:55:03 +0000 (08:55 +0300)]
Fix GLES3 Clang UBSan errors

Fix or avoid runtime errors detected by Clang's undefined behavior
sanitizer in the GLES3 module.

Affected tests:
dEQP-GLES3.functional.shaders.operator.unary_operator.minus.*
dEQP-GLES3.functional.fragment_out.basic.*
dEQP-GLES3.functional.texture.filtering.2d.formats.*

Components: OpenGL ES, Framework

VK-GL-CTS issue: 3018

Change-Id: Ic10ae433deb2f835ceb2fe3ab9664b05f72cd3d0

2 years agoMerge branch 'vulkan-cts-1.2.5' into vulkan-cts-1.2.6
Peter Kohaut [Fri, 3 Sep 2021 10:20:36 +0000 (12:20 +0200)]
Merge branch 'vulkan-cts-1.2.5' into vulkan-cts-1.2.6

Change-Id: Ia705e141206a3751d4abc2d6eccd958d7e3f2f0e

2 years agoMerge branch 'vulkan-cts-1.2.4' into vulkan-cts-1.2.5
Peter Kohaut [Fri, 3 Sep 2021 07:33:02 +0000 (09:33 +0200)]
Merge branch 'vulkan-cts-1.2.4' into vulkan-cts-1.2.5

Change-Id: I952af5b744206c52b4161d8c1102b6a8c2a53f58

2 years agoMerge branch 'vulkan-cts-1.2.3' into vulkan-cts-1.2.4
Peter Kohaut [Thu, 2 Sep 2021 20:22:53 +0000 (22:22 +0200)]
Merge branch 'vulkan-cts-1.2.3' into vulkan-cts-1.2.4

Change-Id: Ica9ea69514cd36415ad89f4b34e8384b0523181c

2 years agoMerge remote-tracking branch 'origin/vulkan-cts-1.2.2' into vulkan-cts-1.2.3
Peter Kohaut [Thu, 2 Sep 2021 17:05:54 +0000 (19:05 +0200)]
Merge remote-tracking branch 'origin/vulkan-cts-1.2.2' into vulkan-cts-1.2.3

Change-Id: I3c5b289149d9f2601b5d5ab8986d41b3f33f8bab

2 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Mon, 30 Aug 2021 09:55:27 +0000 (12:55 +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-condition-bitfield-extract-integer
dEQP-VK.graphicsfuzz.cov-condition-matrix-determinant-uniform
dEQP-VK.graphicsfuzz.cov-descending-loop-index-temporary-array
dEQP-VK.graphicsfuzz.cov-do-while-switch-case-bitcount-findmsb
dEQP-VK.graphicsfuzz.cov-dummy-function-loop-array-element-increment-never-read
dEQP-VK.graphicsfuzz.cov-fragcood-multiple-conditions-function-loop-global-counter
dEQP-VK.graphicsfuzz.cov-fragcoord-multiple-conditions-function-global-loop-counter-simplified
dEQP-VK.graphicsfuzz.cov-function-nested-do-whiles-looped-once
dEQP-VK.graphicsfuzz.cov-int-initialize-from-multiple-large-arrays
dEQP-VK.graphicsfuzz.cov-loop-break-after-first-iteration-set-array-element
dEQP-VK.graphicsfuzz.cov-loop-condition-bitfield-extract-set-array-elements
dEQP-VK.graphicsfuzz.cov-loop-condition-logical-or-never-iterated
dEQP-VK.graphicsfuzz.cov-loop-fragcoord-identical-condition
dEQP-VK.graphicsfuzz.cov-loop-set-vector-components-pow-two
dEQP-VK.graphicsfuzz.cov-multiple-fragcoord-conditions-false-never-return-sample-texture
dEQP-VK.graphicsfuzz.cov-multiple-fragcoord-conditions-never-return-color-uninitialized
dEQP-VK.graphicsfuzz.cov-nested-loop-continue-inner-copy-array-element
dEQP-VK.graphicsfuzz.cov-nested-loop-not-greater-than-increment-array-element
dEQP-VK.graphicsfuzz.cov-nested-loops-float-bits-to-int-increment-array
dEQP-VK.graphicsfuzz.cov-nested-loops-global-counter-increment-single-element
dEQP-VK.graphicsfuzz.cov-nested-loops-sample-opposite-corners
dEQP-VK.graphicsfuzz.cov-two-nested-loops-switch-case-matrix-array-increment

Change-Id: Ia02cb23ec103be95184ad65da475d8b95a8d8504

2 years agoAdd test for finding unknown memory property flag sets
Juha Heiskanen [Fri, 27 Aug 2021 09:58:24 +0000 (12:58 +0300)]
Add test for finding unknown memory property flag sets

This test retrieves all the found propertyFlags from available memory
types, and then it makes a comparison between the found memory
propertyFlags and the acceptable propertyFlag sets. If an unknown
combination of memory propertyFlags is found, the test will fail.

Components: Vulkan

VK-GL-CTS Issue: 2704

New tests: dEQP-VK.memory.requirements.memory_property_flags.check_all

Change-Id: I9c456076bb7364572183ca4976f56775ffd5e286

2 years agoFix loop over cube map faces in GL4
Mika Väinölä [Tue, 31 Aug 2021 11:56:16 +0000 (14:56 +0300)]
Fix loop over cube map faces in GL4

Found when building with Clang with -Wunreachable-code-loop-increment
enabled. TextureViewUtilities::initTextureStorage is supposed to call
glTexImage2D for all cube map faces but stops after the first one
(GL_TEXTURE_CUBE_MAP_POSITIVE_X).

Affects:
KHR-GL4*.texture_view.gettexparameter
KHR-GL4*.texture_view.errors

Components: OpenGL

VK-GL-CTS issue: 3085

Change-Id: I3d85351ab50ad0bd8b779537b1a8b3bef162f80f

2 years agoFix fragment shading rate validation layer warning
Lionel Landwerlin [Thu, 26 Aug 2021 11:42:53 +0000 (14:42 +0300)]
Fix fragment shading rate validation layer warning

We passing a number of layer > 1 for an image view type of
VK_IMAGE_VIEW_TYPE_2D.

Also if we're not using ATTACHMENT_MODE_2DARRAY, then there is only
one layer for the fragment rate shading attachment, so we should check
against layer 0.

Components: Vulkan

Affects:
dEQP-VK.fragment_shading_rate.srlayered.*

VK-GL-CTS issue: 3079

Change-Id: I351f880a9bdd934f773e517713839c67ad453766

2 years agoAdd run mode that verifies amber requirements
Jari Komppa [Fri, 13 Aug 2021 10:10:49 +0000 (13:10 +0300)]
Add run mode that verifies amber requirements

This change adds a new run mode that verifies that .amber file
requirements match the ones defined in CTS.

Running CTS with --deqp-runmode=amber-verify goes through all
amber test cases and outputs any mismatches in the log file.
If any mismatches are found, the run ends with internal_error.

This change also contains fixes for all of the mismatches
that exist in CTS today. A couple required update in Amber,
and thus this change also updates it.

Affects:
dEQP-VK.compute.workgroup_memory_explicit_layout.copy_memory.variable_pointers
dEQP-VK.spirv_assembly.instruction.spirv1p4.*
dEQP-VK.spirv_assembly.instruction.terminate_invocation.*

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

Change-Id: Ic30b5d555d9cdf293a2ece8a690a4a2a943b1b80

2 years agoRemove extra semicolons
Mika Väinölä [Thu, 26 Aug 2021 14:10:28 +0000 (17:10 +0300)]
Remove extra semicolons

Fix warnings for Clang builds with -Wextra-semi, -Wextra-semi-stmt and
-Wc++98-compat-extra-semi.

Components: Framework, OpenGL, OpenGL ES, Vulkan

VK-GL-CTS issue: 3080

Change-Id: I1caa81b65415a1e94797c6df48fc8a4539e9635a

2 years agoFix warning in gcc-8
Graeme Leese [Fri, 23 Jul 2021 18:00:11 +0000 (19:00 +0100)]
Fix warning in gcc-8

The code for setting up the output buffer was duplicated into each of
the cases for different input types, and the compiler doesn't understand
that DE_ASSERT marks an unreachable path. Changing to using standard
assert fixes the warning:

vktShaderFConvertTests.cpp:541:19: error: ‘outputBufferSizeInfo::memorySizeBytes’
may be used uninitialized in this function [-Werror=maybe-uninitialized]
   541 |  BufferSizeInfo   outputBufferSizeInfo;
       |                   ^~~~~~~~~~~~~~~~~~~~

Component: Vulkan
Affects: dEQP-VK.glsl.builtin.precision_fconvert.*

Change-Id: Icf6302166d8bce7c3ae1447973c895c34465a726

2 years agoEnable Vulkan matrix determinant and inverse precision tests
Juha Heiskanen [Fri, 30 Jul 2021 09:10:16 +0000 (12:10 +0300)]
Enable Vulkan matrix determinant and inverse precision tests

A set of new matrix3x3/matrix4x4 determinant and inverse precision
tests for Amber.

Components: Vulkan

VK-GL-CTS Issue: 2878

New tests:
dEQP-VK.glsl.builtin.precision.determinant.highp.mat3
dEQP-VK.glsl.builtin.precision.inverse.highp.mat3
dEQP-VK.glsl.builtin.precision_fp16_storage16b.determinant.compute.mat3
dEQP-VK.glsl.builtin.precision_fp16_storage16b.inverse.compute.mat3
dEQP-VK.glsl.builtin.precision_fp16_storage32b.determinant.compute.mat3
dEQP-VK.glsl.builtin.precision_fp16_storage32b.inverse.compute.mat3
dEQP-VK.glsl.builtin.precision_double.determinant.compute.mat3
dEQP-VK.glsl.builtin.precision_double.inverse.compute.mat3
dEQP-VK.glsl.builtin.precision.determinant.highp.mat4
dEQP-VK.glsl.builtin.precision.inverse.highp.mat4
dEQP-VK.glsl.builtin.precision_fp16_storage16b.determinant.compute.mat4
dEQP-VK.glsl.builtin.precision_fp16_storage16b.inverse.compute.mat4
dEQP-VK.glsl.builtin.precision_fp16_storage32b.determinant.compute.mat4
dEQP-VK.glsl.builtin.precision_fp16_storage32b.inverse.compute.mat4
dEQP-VK.glsl.builtin.precision_double.determinant.compute.mat4
dEQP-VK.glsl.builtin.precision_double.inverse.compute.mat4

Change-Id: I5d748c1ecbaf4e8444a2d09eac8da60bfa54271c

2 years agoCorrect Vulkan multiview 'tesellation' test names
Alex Walters [Thu, 12 Aug 2021 13:12:55 +0000 (14:12 +0100)]
Correct Vulkan multiview 'tesellation' test names

Tests are renamed from 'tesellation' to 'tessellation' but are otherwise
unchanged.

Affects:

dEQP-VK.multiview*tessellation*

Components: Vulkan
Change-Id: I1686bb6fb8a0e85e201853602f840e03e847169d

2 years agoDo not overflow when copy data
Juan A. Suarez Romero [Wed, 18 Aug 2021 11:01:15 +0000 (13:01 +0200)]
Do not overflow when copy data

As `vertexDataSize` is aligned with `nonCoherentAtomSize`, it could be
bigger than the actual size of m_data.

This is actually causing a heap-buffer overflow when executing in our
Rpi4 Vulkan driver.

Affected tests:
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.flat

Components: Vulkan

VK-GL-CTS issue: 3062

Change-Id: I6b1f449e9f0a42740adb051ed037ff911dac763a

2 years agoFix protected memory ssbo pipeline barrier use
Mike Byrne [Mon, 9 Aug 2021 11:40:07 +0000 (12:40 +0100)]
Fix protected memory ssbo pipeline barrier use

Incorrect stage flags are passed to vkCmdPipelineBarrier in the copy
buffer operation in the dEQP-VK.protected_memory.ssbo.ssbo_read.*

These tests were introduced in origin/vulkan-cts-1.1.0

Components: Vulkan

Affects:
dEQP-VK.protected_memory.ssbo.*

VK-GL-CTS Issue: 3041

Change-Id: Iccdb96fee30e32bf26dec1e26d65ea8d5600c384

2 years agoDon't alias image views in separate_channels subpass dependency tests
Connor Abbott [Fri, 13 Aug 2021 15:37:54 +0000 (17:37 +0200)]
Don't alias image views in separate_channels subpass dependency tests

This is not allowed by the Vulkan spec:

> Multiple attachments that alias the same memory must not be used in a
> single subpass.

Instead we should have the input attachment and color attachment point
to the same attachment, which is allowed.

Components: Vulkan

Affects:
dEQP-VK.renderpass.suballocation.subpass_dependencies.separate_channels.*
dEQP-VK.renderpass2.suballocation.subpass_dependencies.separate_channels.*

VK-GL-CTS Issue: 3052

Change-Id: Iddb1111be5147f9816104fa879e023a9a3445555

2 years agoIssue in serial storage address computation
Neslisah Torosdagli [Thu, 29 Jul 2021 16:20:51 +0000 (12:20 -0400)]
Issue in serial storage address computation

When serial storage and src/dst buildTypes are different, serial storage address computation is not correct. In the beginning of the test case, serial storage buildType is either set to host or device according to test case being run (cpu-built or gpu-built).
In the 2nd phase of this test case (deserialize all from the previous step to a new top-level AS) VkCopyMemoryToAccelerationStructureInfoKHR is filled with srcAddress according to testCase buildType, and dst acceleration structure is device.
In this stage, if testCase builtType is device, the serialStorage address computation is correct. However, if testCase buildType is host then the issue arises. The address is computed according to host, although device address is needed.

That is, for serial storage address computation: buildType of the acceleration structure (src or dst) should be used rather than serial storage buildType which is initially set according to test case being run.

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

Components: Vulkan
VK-GL-CTS issue: 3028

Change-Id: If8c0387862ce6f1db00fc61016dd0e602ff72ba8

2 years agoAdd coverage for sampling a cubemap that has been rendered to
Antto Mäkinen [Wed, 12 May 2021 07:47:10 +0000 (10:47 +0300)]
Add coverage for sampling a cubemap that has been rendered to

This test checks that a cubemap will be sampled correctly if its
contents have been modified by a draw call.

VK-GL-CTS issue: 2506

New Tests:
dEQP-VK.image.sample_cubemap.write_face_0

Components: Vulkan

Change-Id: I1ee62842d6c952b5628822fe49ee6a91c26ead04

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Alexander Galazin [Fri, 20 Aug 2021 12:20:33 +0000 (14:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master

Change-Id: Ieb90dde42cb20ab43cebd0f2b5d3ad4091c3b57a

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Alexander Galazin [Fri, 20 Aug 2021 10:14:58 +0000 (12:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Ieaff21c7c6228a4507325afe13ec2a3807b345cb

2 years agoAdd missing vertexPipelineStoresAndAtomics checks in ray query tests
John Anthony [Wed, 18 Aug 2021 20:16:53 +0000 (22:16 +0200)]
Add missing vertexPipelineStoresAndAtomics checks in ray query tests

Affected tests:
dEQP-VK.ray_query.acceleration_structures.*.vertex_shader.*
dEQP-VK.ray_query.acceleration_structures.*.tess_control_shader.*
dEQP-VK.ray_query.acceleration_structures.*.tess_evaluation_shader.*
dEQP-VK.ray_query.acceleration_structures.*.geometry_shader.*
dEQP-VK.ray_query.ray_flags.vertex_shader.*
dEQP-VK.ray_query.ray_flags.tess_control_shader.*
dEQP-VK.ray_query.ray_flags.tess_evaluation_shader.*
dEQP-VK.ray_query.ray_flags.geometry_shader.*
dEQP-VK.ray_query.traversal_control.vertex_shader.*
dEQP-VK.ray_query.traversal_control.tess_control_shader.*
dEQP-VK.ray_query.traversal_control.tess_evaluation_shader.*
dEQP-VK.ray_query.traversal_control.geometry_shader.*

Components: Vulkan

VK-GL-CTS Issue: 3069

Change-Id: I49c37d292380fda47b113bf4fa14a6395f8e81a5

2 years agoCheck support in synchronization operation tests
Vihanakangas [Tue, 17 Aug 2021 11:14:46 +0000 (14:14 +0300)]
Check support in synchronization operation tests

Synchronization tests were creating pipelines before checking for support,
causing unnecessary use of CPU time when encountering an operation
later on that was not supported.

Affects:

dEQP-VK.synchronization.op.*

Components: Vulkan

VK-GL-CTS issue: 2731

Change-Id: Ia83afde4767ced1549a1b0573cdc9e8af8526870

2 years agoRead stencil aspect from image in DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL layout
Slawomir Cygan [Mon, 16 Aug 2021 16:04:21 +0000 (18:04 +0200)]
Read stencil aspect from image in DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL  layout

The test was using sampler to read depth aspect from image in
combined depth+stencil format and in
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
layout - what is invalid.

Instead, the test now reads (and tests) stencil aspect of this
image. As the test code already supported testing stencil formats,
just a few conditions are changed/added to follow the stencil path
if VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
is used.

VK-GL-CTS Issue: 3048

Components: Vulkan

Affects: dEQP-VK.synchronization2.none_stage.*

Change-Id: I918a5cdad83bcd25b2f8b6cee642b56218c2b7fe

2 years agoOptimize image clearing tests
Ilkka Saarelainen [Wed, 11 Aug 2021 12:00:37 +0000 (15:00 +0300)]
Optimize image clearing tests

This CL optimizes image clearing tests.
The tests did a lot redundant calculation for each pixel in the verify stage.
This CL moves those calculations to outside of the pixel verify function.

Affects:

dEQP-VK.api.image_clearing.*

Components: Vulkan

VK-GL-CTS issue: 2933

Change-Id: Ie3403c591c9f084115a13cc78e0a66c54c48817c

2 years agoEnsure that destroying old swapchain has no effect
Vihanakangas [Thu, 5 Aug 2021 06:52:05 +0000 (09:52 +0300)]
Ensure that destroying old swapchain has no effect

There should be no crash when recreating Vulkan swapchain with
old swapchain and later calling vkDestroySwapchainKHR on old swapchain.

New tests:

dEQP-VK.wsi.*.swapchain.destroy.old_swapchain

Components: Vulkan

VK-GL-CTS issue: 2935

Change-Id: I7f03e55767ececec8a6a70ef553f0676d3a3c616

2 years agoConservative rasterization with SampleMask
marz [Sun, 6 Jun 2021 20:46:56 +0000 (22:46 +0200)]
Conservative rasterization with SampleMask

Additional test coverage for conservative rasterization Conservative
rasterization used in conjunction with various multisampling setup
including FullyCoveredEXT built-in, minSampleShading, postDepthCoverage
and SampleMask.

Components: Vulkan

VK-GL-CTS issue: 2868

Affects:
dEQP-VK.pipeline.multisample.conservative_with_full_coverage.*

Change-Id: I8c2858b81cfdf27e622acf74e273db9014499c9c

2 years agoAdd GL_RGB9_E5 as renderable ext format in fbo tests
Mohankumar Nekkarakalaya [Thu, 19 Aug 2021 19:05:36 +0000 (12:05 -0700)]
Add GL_RGB9_E5 as renderable ext format in fbo tests

-If GL_QCOM_render_shared_exponent is supported then treat
GL_RGB9_E5 as a renderable format for fbo completeness tests

Components: OpenGL
VK-GL-CTS Issue: 3066

Affects:
dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0.rgb9_e5
dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rgb9_e5

Change-Id: I74566a5b56c7528c89ac97423c5b6f9207397c70

2 years agoUpdate Vulkan headers
Alexander Galazin [Wed, 18 Aug 2021 09:46:04 +0000 (11:46 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: Iefdf1bc052c5f9c63bdf9062c01c96a4c11a92c6

2 years agoImplement getProcAddress for surfaceless platform
Italo Nicola [Tue, 27 Jul 2021 08:26:47 +0000 (05:26 -0300)]
Implement getProcAddress for surfaceless platform

Currently this virtual function is not overridden, causing a crash
whenever a test calls getProcAddress in a surfaceless context.

Affects:
KHR-GL3{0,1,2}.transform_feedback.draw_xfb_instanced_test
KHR-GL3{0,1,2}.transform_feedback.draw_xfb_stream_instanced_test

Components: Framework

VK-GL-CTS issue: 3021

Change-Id: Idb29b5ca9d70c5f3be6a32fdf2c827d5d7591050

2 years agoFix for the various multisample tests with GL 4.5
Tapani Pälli [Fri, 30 Jul 2021 11:54:09 +0000 (14:54 +0300)]
Fix for the various multisample tests with GL 4.5

Affects:
dEQP-GLES31.functional.shaders.sample_variables.*
dEQP-GLES31.functional.sample_shading.*
dEQP-GLES31.functional.shaders.multisample_interpolation.*
dEQP-GL45.functional.shaders.sample_variables.*
dEQP-GL45.functional.sample_shading.*
dEQP-GL45.functional.shaders.multisample_interpolation.*

Components: AOSP
VK-GL-CTS issue: 3014

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