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

OpenGL ES 3.2 Specification Section 7.11.2:

Shader Memory Access Synchronization ...

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

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

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

Cherry pick from AOSP.

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

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

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

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

Components: AOSP
Change-Id: I28fdab5eb0b3fa75604f525a34fe843091836e75

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

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

Cherry pick from AOSP.

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

Components: OpenGL

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

Bug: chromium:890002
Change-Id: I6e5e5d1fa3aa15daee69271339962a0b3ffc1927

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

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

Cherry pick from AOSP.

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

Components: OpenGL

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

Bug: 132146940
Change-Id: Ie48e119d164acf5763aa7956c3ff91da20ff9f38

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

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

Cherry pick.

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

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

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

Change-Id: I18181aa274ab1dc191b5f0acbb58b41465b5cdad

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

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

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

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

Components: Vulkan
VK-GL-CTS issue: 3208

Change-Id: I5d28b18dd6aedbbfb1ea3ce4b40b3ba82737c27b

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

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

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

Components: Vulkan
VK-GL-CTS issue: 3200

Change-Id: I9d24062c4f1ac80f12ac5dd1fe0e454ffade2f32

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

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

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

Components: Vulkan
VK-GL-CTS issue: 3209

Change-Id: I8032bd19f7de4f2d87d642542c2b7aaec20965b8

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

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

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

Components: Vulkan
VK-GL-CTS issue: 3210

Change-Id: Iafd363a6423251413a1093e15ae94aa50850af32

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

Change-Id: I64019cfcae5bcedae55f3e343bc94f51b62aa877

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

Change-Id: I0abe7100c16a273d62463b916957255150d344d0

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

Change-Id: Ib23f14c29d67945839ab3763968963d7dcc91464

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

Components: Vulkan
VK-GL-CTS issue: 3190

Affects:

   dEQP-VK.pipeline.sampler.*unnormalized*

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

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

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

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

Change-Id: I54edb2d06135a8d1d549a42ac97014dabc80c9dd

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

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

Affected tests:

   dEQP-VK.ssbo.layout.*

Components: Vulkan
VK-GL-CTS issue: 2953

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

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

Change-Id: Id485bc8ae929179e7786039966a233dd6fa57cdc

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

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

Affects:

dEQP-VK.texture.filtering_anisotropy.*

Components: Vulkan

VK-GL-CTS issue: 3068

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

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

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

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

Components: Vulkan

Affects: dEQP-VK.fragment_shading_rate.pixel_consistency.*

VK-GL-CTS Issue: 3158

Change-Id: I14b5de4fb02593b0a384b0f36892543ee2c57222

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

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

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

Components: Vulkan
VK-GL-CTS issue: 3152

Change-Id: I0b4e1ad2c46210568176c5bd5504678edb3dbc73

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

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

Affects:

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

Components: Vulkan

Change-Id: I4ca78ae1beafb3d892d437568f10cc816ae79df2

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

Change-Id: I1d4bf5c3a9cbd2f7d8e5bdce8645065661be1e9c

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

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

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

VK-GL-CTS issue: 3084
Components: Vulkan

Affects:
dEQP-VK.ray*instances_aop*

Change-Id: I8c412a5a5d2ce3f1f687795768d6d83ad4913892

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

Change-Id: I911747cbf1726e161c457fa6ae666148ff0b36c7

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

Change-Id: I6994a2ac890d752906a8f6464a9cb7819e22a55f

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

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

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

Affected tests:

   dEQP-VK.renderpass2.depth_stencil_resolve.*separate_layouts*

Components: Vulkan
VK-GL-CTS issue: 3157

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

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

Components: Vulkan
VK-GL-CTS issue: 3137

Affected tests:

 dEQP-VK.glsl.opaque_type_indexing.ssbo*_compute

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

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

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

Components: Vulkan

VK-GL-CTS Issue: 3144

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

Change-Id: I87f69256501519fe524159f02eb14ee6ac0e0092

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

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

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

Components: Vulkan
VK-GL-CTS issue: 3128

Change-Id: I471235a0da38eb4c244e87e0d5851b8cb810f990

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

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

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

Components: Vulkan

VK-GL-CTS issue: 3120

Change-Id: I95f897ceebcea8fdd5d6bda885a701be20d07ab1

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

Change-Id: I16fde981fb8a0d98d4ed0522cb69a429a68545d0

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

Change-Id: I133af15a49b220d94c26f9db70e7830fbe167b72

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 agoFix dEQP-VK.image.mutable.*srgb* validation errors
Samuel Iglesias Gonsálvez [Tue, 28 Sep 2021 12:32:25 +0000 (14:32 +0200)]
Fix dEQP-VK.image.mutable.*srgb* validation errors

The tests were not checking that the image format was
supported before creating the image.

Components: Vulkan
VK-GL-CTS issue: 3143

Affected tests:

   dEQP-VK.image.mutable.*

Change-Id: Ia42ccc815456ac09c4ffd44c63a0c65db8a9f1ec
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
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 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 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 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 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 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 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 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 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 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 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 agoFix error in build_apk.py
Ilkka Saarelainen [Thu, 12 Aug 2021 07:22:22 +0000 (10:22 +0300)]
Fix error in build_apk.py

A typo caused build_apk.py to fail if required Android build
tools were missing.

Components: framework

Change-Id: Ia55b95a9057a37152e5a4c91773b1eaa3abc0156

2 years agoFix partial_image_npot_diff_format_clear fail
Lowry Li (Arm Technology China) [Wed, 11 Aug 2021 10:14:41 +0000 (18:14 +0800)]
Fix partial_image_npot_diff_format_clear fail

The tests added in fffc9484834599de9eb5559205cec7cf0105379b /
VK-GL-CTS Issue: 2678 are missing a pipeline barrier between
the new clearing operation the following transfer operation
targeting the same resource.

Components: Vulkan

Affects:
dEQP-VK.api.copy_and_blit.*.image_to_image.simple_tests.
partial_image_npot_diff_format_clear

VK-GL-CTS issue: 3056

Change-Id: I3edf4d98e697e97c4b7934238cdbfc86f2d48632

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 12 Aug 2021 19:53:13 +0000 (21:53 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I8d78e920b4007ea7f47e66d64852693dfed22003

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Thu, 12 Aug 2021 18:56:51 +0000 (20:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Id1af44b78cbe4ba82cc76c656e0a22421ac20073

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 12 Aug 2021 18:03:29 +0000 (20:03 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I13ff1ac57c064dc46bbc7c555ba1fed07e04080c

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 12 Aug 2021 18:02:19 +0000 (20:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Iab13500b9aaa9b6da0e99ea9d93fe9cabc66da33

2 years agoIncrease error threshold for some geometry shader tests
Iago Toral Quiroga [Mon, 2 Aug 2021 09:31:14 +0000 (11:31 +0200)]
Increase error threshold for some geometry shader tests

Components: Vulkan
VK-GL-CTS issue: 3034

Affected tests:
dEQP-VK.geometry.*

Change-Id: I5ed440019ab45f6f31787d199695630d06bb2a51

2 years agoFix variable pointer tests for geometry stages on tilers
Iago Toral Quiroga [Mon, 2 Aug 2021 07:33:49 +0000 (09:33 +0200)]
Fix variable pointer tests for geometry stages on tilers

On tilers we may execute any geometry stage more than once, not just
the vertex shader.

Components: Vulkan
VK-GL-CTS issue: 3033

Affected tests:
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.writes_single_buffer_*

Change-Id: I3ee5db4aa8176d09b10720d7683338ef8e8a8098

2 years agoFix DRM modifier list tests
Ricardo Garcia [Thu, 29 Jul 2021 15:13:51 +0000 (17:13 +0200)]
Fix DRM modifier list tests

* dEQP-VK.drm_format_modifiers.list_modifiers.* tests now check every
  supported modifier instead of returning prematurely if any of the
  modifiers was not supported for the image usage flags the tests uses.

* dEQP-VK.drm_format_modifiers.create_list_modifiers.* tests check
  modifier compatibility first before attempting to use compatible
  modifier lists of different lengths. Test results no longer depend on
  the order of modifiers returned by the implementation and do not
  return NotSupported prematurely.

* dEQP-VK.drm_format_modifiers.export_import.* tests suffered from
  similar issues. They tried to detect which of the supported modifiers
  for a format met a list of requirements and returned early with
  NotSupported if any of them failed to match those requirements,
  instead of running the tests in all possible modifiers.

Affected tests:
dEQP-VK.drm_format_modifiers.*

Components: Vulkan
VK-GL-CTS issue: 3026

Change-Id: I4c6600b87f3c2b4b9b165fdc17988efe2e0cf670

3 years agoRelax protected heap allocation tests
Ari Suonpaa [Fri, 6 Aug 2021 12:08:21 +0000 (15:08 +0300)]
Relax protected heap allocation tests

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

VK-GL-CTS Issue: 3038

Affects:

dEQP-VK.memory.*allocation.*

Components: Vulkan
Change-Id: I3a34637c8c15eb8670613dce9b6e394a622a4c71

3 years agoFix transform_feedback.simple.multiquery* tests
Daniel Koch [Tue, 27 Jul 2021 21:14:02 +0000 (17:14 -0400)]
Fix transform_feedback.simple.multiquery* tests

Tests were using host query reset which may not be present pre-VK 1.2.
Change tests to use device query reset (there are other dedicated tests which test HOST_QUERY_RESET).

Components: Vulkan
VK-GL-CTS Issue: 2866

Affects:
dEQP-VK.transform_feedback.simple.multiquery*

Change-Id: Ib8c943a53542f4e21167f6afb0005200043477c6

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Tue, 27 Jul 2021 11:34:05 +0000 (13:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I1e865999cbff46e84b9045400eb2dde830296094

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Tue, 27 Jul 2021 10:25:19 +0000 (12:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I22fcd718aadfed74408323615cc4bf58618d979a

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Tue, 27 Jul 2021 09:29:33 +0000 (11:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: If23bb885846d42651d7ac77b375b6c44ea02fa93

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Tue, 27 Jul 2021 08:01:37 +0000 (10:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: If1bb9f63d56815c3ced2ac72d17d4e55ec090f39

3 years agoFix early destruction of VkPipelineLayout
Samuel Iglesias Gonsálvez [Thu, 15 Jul 2021 10:15:09 +0000 (12:15 +0200)]
Fix early destruction of VkPipelineLayout

Components: Vulkan
VK-GL-CTS issue: 3004

Affected:

    dEQP-VK.sparse_resources.shader_intrinsics.*

Change-Id: Id5508fac89961c5bb934005257d2caa26d32f2dd
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
3 years agoFix validation errors in AHB tests
Ari Suonpaa [Wed, 9 Sep 2020 11:27:26 +0000 (14:27 +0300)]
Fix validation errors in AHB tests

AHB protected memory tests were also removed as the test
tried to use protected memory without creating a device
and queue that would support protected operations.

VK-GL-CTS Issue: 2508

Affects:

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

Components: Vulkan
Change-Id: I307e7450d06d20b6497f2a529e5724ae0538e5a9

3 years agoClean ExternalMemoryUtil
Piotr Byszewski [Thu, 9 Apr 2020 11:41:09 +0000 (13:41 +0200)]
Clean ExternalMemoryUtil

This change separates choosing of memory type from
allocateExportableMemory utility function. This makes
use of this functions more clear.
Previous implementation needed to be done ASAP and
involved passing of non-const reference to
allocateExportableMemory which was then filled.
This workaround made code unnecessarily hard to follow.

Components: Vulkan

VK-GL-CTS issue: 587

Affects:
dEQP-VK.api.external.memory.*
dEQP-VK.synchronization.signal_order.*
dEQP-VK.synchronization.cross_instance.*

Change-Id: I781388db390f13c7c03785dd0ae34ae0128ec31c

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Fri, 16 Jul 2021 07:01:36 +0000 (09:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I73e4fbe8f154f15a77498121181c6a48028203fe

3 years agoRemove tests with too many overlapping instances in the accelleration structure
Sławomir Cygan [Thu, 15 Jul 2021 13:22:26 +0000 (15:22 +0200)]
Remove tests with too many overlapping instances in the accelleration structure

These tests generate a grid of random triangles and assign them to the large
number of instances in the acceleration structure. Because of the randomness,
all instances overlap with each other and the accelleration structure is extremely
slow to trace - as each ray must traverse through all instances.

This change removes some tests cases with 65536 instances and tests cases with
1048576 instances to avoid device timeouts.

The tests apply only to implementations with host accelleration structure builds
supported.

Components: Vulkan

VK-GL-CTS Issue: 3005

Change-Id: I94bcde596cd097672cf8e00c6fe018328998cb37
Affects: dEQP-VK.ray_tracing_pipeline.build.*

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 8 Jul 2021 19:01:12 +0000 (21:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I8cfb44dac31df4a46280d3c050e561c5f9c84538

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Thu, 8 Jul 2021 18:08:17 +0000 (20:08 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I41d5f00d649218e1418c13591f50885858624198

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 8 Jul 2021 17:09:43 +0000 (19:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I166b558acc75b2d9259620be5fb8ba89eaa10841

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 8 Jul 2021 16:27:33 +0000 (18:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Ic61d3218b466b8fd2c50127867a0cfdb77c07637

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 8 Jul 2021 15:37:58 +0000 (17:37 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I7c0abe6efdeab69b5928cc0e67a6365f15b1e5c5

3 years agoCall computeFixedPointError only for fixed point case
Mohankumar Nekkarakalaya [Wed, 7 Jul 2021 23:00:03 +0000 (16:00 -0700)]
Call computeFixedPointError only for fixed point case

Calling computeFixedPointError for integer case (numAccurateBits=32)
is incorrect and causes crash.
Added assert to make sure numAccurateBits is in legal range.

Affected tests: dEQP-VK.sparse_resources.image_sparse_residency.*

Components: Vulkan

VK-GL-CTS issue: 2994

Change-Id: Ib357cbbbda0f7980ec2d7115053cabc6825a18d3

3 years agoAvoid overflowing arrays in GLSL atomic tests
Iago Toral Quiroga [Tue, 6 Jul 2021 09:10:04 +0000 (11:10 +0200)]
Avoid overflowing arrays in GLSL atomic tests

Tilers may need to execute vertex pipeline stages more than once,
leading to additional shader invocations. This is a problem for atomic
tests, since their result depends on the number of shader invocations
executed.

This is already handled properly for vertex shaders but not for other
vertex pipeline stages.

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

Components: Vulkan
VK-GL-CTS issue: 2987

Co-authored-by: Ricardo Garcia <rgarcia@igalia.com>
Change-Id: Iab08e3fb2ef40fc29dcf073817e5fd5dd49e7875

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 1 Jul 2021 15:12:58 +0000 (17:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Iffe181f31ff661ead2142e7e7f0abb314bf1a2e1

3 years agoFix semaphore leak in image atomic operations test
Sławomir Cygan [Fri, 25 Jun 2021 14:08:23 +0000 (16:08 +0200)]
Fix semaphore leak in image atomic operations test

The class 'Image', being base class for `SparseImage` class needs to be
marked as virtual, so objects of SparseImage type can be owned and
destroyed through a pointer of `Image` type.  Without that the implicit
destructor of `SparseImage` class is never called.

As SparseImage class has a semaphore member, this fixes the
semaphore VK object leak.

Components: Vulkan

VK-GL-CTS Issue: 2981

Change-Id: Ice24f7018cf9144f4c1adbb8987b730d5f1ca2aa
Affects: dEQP-VK.image.atomic_operations.*

3 years agoFix use of binary semaphore in signaled state
Lars-Ivar Hesselberg Simonsen [Fri, 23 Apr 2021 10:04:44 +0000 (12:04 +0200)]
Fix use of binary semaphore in signaled state

Vulkan spec specifies that binary semaphore waits and signals should
occur in discrete 1:1 pairs.

This change ensures that the binary semaphore signaled by
synchronizationWrapper[SECOND] is waited on before being used again,
which resolves the corresponding validation layer error.

In addition, the change fixes an issue where the second submission pair
did not correctly swap semaphore info.

Components: Vulkan

Affects:
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue_typed
dEQP-VK.synchronization.basic.timeline_semaphore.multi_queue

VK-GL-CTS Issue: 2910

Change-Id: Id2fb2211a43150e3acb5c07dd6c205c7a42296d5
(cherry picked from commit a017db3c0d1fbf89f30253254d57fb869f57a430)

3 years agoFix wait semaphore count value
Samuel Iglesias Gonsálvez [Tue, 1 Jun 2021 10:46:49 +0000 (12:46 +0200)]
Fix wait semaphore count value

Components: Vulkan
VK-GL-CTS issue: 2949
Fixes: a47665a6e "Generalize synchronization tests"

Affected tests:

   dEQP-VK.synchronization.op.single_queue.binary_semaphore.*

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

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Tue, 29 Jun 2021 07:24:05 +0000 (09:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I820d94d27c30ea492dd04637b805dd78db2353d8

3 years agoProperly enable Sample Shading in Fragment Shading Rate tests
Sebastiano Cucinotta [Mon, 14 Jun 2021 15:15:40 +0000 (17:15 +0200)]
Properly enable Sample Shading in Fragment Shading Rate tests

Vulkan spec states:

> Sample shading is enabled for a graphics pipeline:
>
> * If the interface of the fragment shader entry point of the graphics
>   pipeline includes an input variable decorated with SampleId or
>   SamplePosition. In this case minSampleShadingFactor takes the value
>   1.0.
> * Else if the sampleShadingEnable member of the
>   VkPipelineMultisampleStateCreateInfo structure specified when
>   creating the graphics pipeline is set to VK_TRUE. In this case
>   minSampleShadingFactor takes the value of
>   VkPipelineMultisampleStateCreateInfo::minSampleShading.
>
> Otherwise, sample shading is considered disabled.

This change ensures that sample shading is properly enabled in the
Fragment Shading Rate tests relying on it by using gl_SampleId.

Components: Vulkan

Affects:
dEQP-VK.fragment_shading_rate.sampleshadinginput.*

VK-GL-CTS Issue: 2966

Change-Id: I7fad0ed7694a2d26ef7db9ea268fa5d6f93264a6

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Wed, 16 Jun 2021 08:16:56 +0000 (10:16 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I2e92c964d1df15e5abfc47567f8a914892fc7cd9

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Wed, 16 Jun 2021 07:43:06 +0000 (09:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I01d6cedef0b807be928ba68d3aab64fd3d045d8d

3 years agoFix dEQP-VK.info.device_extensions not working
Ricardo Garcia [Wed, 9 Jun 2021 11:28:55 +0000 (13:28 +0200)]
Fix dEQP-VK.info.device_extensions not working

The test is using the list of extension dependencies for instances
instead of devices, so it's actually not checking anything in most
cases.

Affected tests:
dEQP-VK.info.device_extensions

Components: Vulkan
VK-GL-CTS issue: 2959

Change-Id: I8ee2ea10f98e1dd45590edc2b5cc8e0c3e21890b

3 years agoSPIR-V 1.4 test fixes
Ricardo Garcia [Wed, 9 Jun 2021 10:11:56 +0000 (12:11 +0200)]
SPIR-V 1.4 test fixes

This commit fixes a couple of SPIR-V 1.4 tests that had inconsistent
requirements in the Amber script and in the CTS side. In one case we're
dropping the requirement from Amber and in the other one we're adding
the requirement to CTS.

Affected tests:
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.variable_pointers_vars_wg_not_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.hlsl_functionality1.member_decorate_string

Components: Vulkan
VK-GL-CTS issue: 2958

Change-Id: If1e58bc028ce3756623a241bb259024ef077c815

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Wed, 16 Jun 2021 06:52:23 +0000 (08:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I89ac6a1c9b0b7d908be65033c47371f60cc880cb

3 years agoDo not exceed heap size when allocating memory
Slawomir Cygan [Wed, 19 May 2021 15:18:48 +0000 (17:18 +0200)]
Do not exceed heap size when allocating memory

It is invalid to make larger allocations than heap size.

Components: Vulkan

VK-GL-CTS Issue: 2927

Change-Id: I738356254d95a152a2bb89d711eb6b3f047b405c
Affects: dEQP-VK.memory.mapping

3 years agoOptimize the AS build tests to not use host uncached memory
Slawomir Cygan [Tue, 11 May 2021 14:53:20 +0000 (16:53 +0200)]
Optimize the AS build tests to not use host uncached memory

Use userspace host memory for scratch buffer (instead mapped device memory)
and try using HOST_CACHED memory (if supported) for the accelleration structure.

Components: Vulkan

VK-GL-CTS Issue: 2922

Affects:
dEQP-VK.ray_tracing_pipeline.build.*
dEQP-VK.ray_tracing_pipeline.*

Change-Id: I7592c3f93f2e10766cd1276f37ca51924e1cc16f

3 years agoAdd missing cull flags when counting intersections of rays with triangle-based cubes
Sławomir Cygan [Fri, 4 Jun 2021 15:49:38 +0000 (17:49 +0200)]
Add missing cull flags when counting intersections of rays with triangle-based cubes

Add a cull flags, so each convex geometry is counted once, instead of twice.

Components: Vulkan

VK-GL-CTS Issue: 2890

Affects:
    dEQP-VK.ray_tracing_pipeline.misc.*stress*
    dEQP-VK.ray_tracing_pipeline.misc.cullmask*
    dEQP-VK.ray_tracing_pipeline.misc.mixedPrimTL

Change-Id: Ie2e74149be8bb710c7ae3afb77f5854dca247aca

3 years agoRevert "Move the hit counting from any hit to closest hit shader stage"
Slawomir Cygan [Fri, 4 Jun 2021 15:45:39 +0000 (15:45 +0000)]
Revert "Move the hit counting from any hit to closest hit shader stage"

The problem with this test was in cull flags, rather than counting
in 'any hit' shader stage.

This reverts commit 2f33c7beac25308ef85a1856032d7a5936197f83.

VK-GL-CTS Issue: 2890

Change-Id: I066fac55a80ff4f4a93748425517785df8777d06
Affects: dEQP-VK.ray_tracing_pipeline.misc.*stress*

3 years agoAllow Vulkan CTS 1.2.6.2
Alexander Galazin [Thu, 3 Jun 2021 11:57:54 +0000 (13:57 +0200)]
Allow Vulkan CTS 1.2.6.2

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: Ie6657c70c6a1c51911361570977dd2fb205bd6c1

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 3 Jun 2021 15:15:02 +0000 (17:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Id8117502d12cca36e3a414da3df7b8a3bb661cf5

3 years agoFix several issues in swapchain tests
Ricardo Garcia [Fri, 28 May 2021 11:53:56 +0000 (13:53 +0200)]
Fix several issues in swapchain tests

This commit fixes the following issues found in the swapchain tests:

- The initial image layout in some render passes did not match the
  actual image layout when starting the render pass.

- image_swapchain_create_info tests were using VK_KHR_bind_memory2
  functions without activating the extension on the device or making
  sure it was core in the used Vulkan API version.

- Many devices were being created with the wrong instance, using the
  context instance instead of the custom instance created for the tests.

- Several tests using VK_SHARING_MODE_CONCURRENT did not check for the
  availability of two queues or were always using one, which is invalid.

- VkDeviceGroupSwapchainCreateInfoKHR had a wrong sType.

- Swapchain resize tests were calling vkBeginCommandBuffer() on active
  command buffers without waiting for them to complete execution.

- Typos and other minor issues.

Affected tests:
dEQP-VK.wsi.*.swapchain.*

Components: Vulkan
VK-GL-CTS issue: 2941

Change-Id: I54d5f46cbcb76617260439a59bf3aef4028309bb

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Fri, 28 May 2021 08:37:34 +0000 (10:37 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Ia66e6fb7a5444ffd1f1a5f14ef456c5129e0fd8f