platform/upstream/VK-GL-CTS.git
3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 1 Apr 2021 16:57:27 +0000 (19:57 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I373a9df4f575b5f9d90b2c9f651c1a69b9265f1d

3 years agoFix test does not return failure status
Marcin Kantoch [Tue, 30 Mar 2021 14:47:11 +0000 (16:47 +0200)]
Fix test does not return failure status

Affected tests:
dEQP-VK.wsi.display_control.register_device_event

Components: Vulkan
VK-GL-CTS issue: 2864

Change-Id: I282ffc5e7b910209a509ae57ee8e38c662b97815

3 years agoFixes Fragment Shading Rate layered tests
Matthew Netsch [Wed, 31 Mar 2021 15:08:41 +0000 (11:08 -0400)]
Fixes Fragment Shading Rate layered tests

Test was exporting Layer and ViewportIndex
decorations in Vertex Shader in the
Geometry Shader tests without checking
for support.

Components: Vulkan
VK-GL-CTS Issue: 2865

Affects:
dEQP-VK.fragment_shading_Rate.srlayered.*.gs
dEQP-VK.fragment_shading_Rate.colorlayered.*.gs

Change-Id: Idbf6be2c14bb8409feec2d7262efb9a402cf35a2

3 years agoAllow more conservative coverage for degenerate triangles
Piers Daniell [Wed, 24 Mar 2021 22:53:56 +0000 (16:53 -0600)]
Allow more conservative coverage for degenerate triangles

Some implementations of conservative rasterization with degenerate
triangles produce more than one pixel worth of coverage, which is
allowed by the Vulkan specification.

This CL modifies the test to allow some extra coverage so it works
on these implementations.

Affects:

dEQP-VK.rasterization.conservative.overestimate.*.triangles.degenerate.*

Components: Vulkan

VK-GL-CTS issue: 2859

Change-Id: I65c6508813c04d5faa2312e26832efe16e44cea2

3 years agoFix insufficient BLAS indirect buffer size
Neslisah Torosdagli [Sat, 27 Mar 2021 03:27:06 +0000 (23:27 -0400)]
Fix insufficient BLAS indirect buffer size

BLAS indirect buffer size is not set correctly. It is set to
sizeof(VkAccelerationStructureBuildRangeInfoKHR) however
geometries number times sizeof(VkAccelerationStructureBuildRangeInfoKHR)
indirect buffer space is needed.

Components: Vulkan

https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2862

Affects: dEQP-VK.ray_tracing_pipeline.indirect.build_structure
Change-Id: I2b5df039aac6c3f2a51177c8bf9f5095ae5c7886

3 years agoChange format used in pipeline cache control tests
James Fitzpatrick [Tue, 23 Mar 2021 11:39:48 +0000 (11:39 +0000)]
Change format used in pipeline cache control tests

The format used as a colour attachment by the pipeline creation cache
control tests is not required to be supported as a color attachment and
the tests do not query for it being supported.

Change it to R8G8B8A8 which is required to be supported as the specific
format is not important for this test.

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

Components: Vulkan

VK-GL-CTS issue: 2856

Change-Id: I7ecfc4de8584dba6824101cb717313247070f12f

3 years agoInclude sys/system_properties.h in teglAndroidUtil.cpp
Tim Van Patten [Thu, 18 Mar 2021 22:15:34 +0000 (16:15 -0600)]
Include sys/system_properties.h in teglAndroidUtil.cpp

The following CL added a call to __system_property_get():
https://github.com/KhronosGroup/VK-GL-CTS/commit/8a537a0c916e1a10e134f648801f0812c4c749ba

However, it's failing to build:

  ../../third_party/angle/third_party/VK-GL-CTS/src/modules/egl/teglAndroidUtil.cpp:78:3:
  error: use of undeclared identifier '__system_property_get'
                __system_property_get("ro.build.version.sdk", value);

This is caused by teglAndroidUtil.cpp not including
sys/system_properties.h. Including the file fixes the error.

Change-Id: I0e63fcc9dfe0e872832da07e3b8d7f2f78f9d835
(cherry picked from commit 968b6ee77b11267cb6afb6fdbd9bef847eb14868)

3 years agoAllow Vulkan CTS 1.2.6.0
Alexander Galazin [Thu, 18 Mar 2021 18:04:32 +0000 (21:04 +0300)]
Allow Vulkan CTS 1.2.6.0

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: Ia8779d2c3ac92ec1a90d43225b551b7efabef023

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Thu, 18 Mar 2021 17:22:15 +0000 (20:22 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: Ie1fb3817afbffd0b18a695230594c2790f6a5d8c

3 years agoAllow false positive hits from build-in AABBs intersector
Sławomir Cygan [Tue, 16 Mar 2021 16:07:16 +0000 (17:07 +0100)]
Allow false positive hits from build-in AABBs intersector

This change allows the test to execute any hit shader,
in case of AABB geometry is used and the ray falsely 'intersects'
it.

This is needed, as the test does not calculate the proper
intersection in 'intersection' stage - it uses a shader that always
reports TRUE. Hence the test relies on build-in AABB
intersector, which may report false positives according to the
specification.

VK-GL-CTS Issue: 2848

Components: Vulkan

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

Change-Id: Ib90f45227a7cd4c412fd4d1c97598f32a80eb6ca

3 years agoFix required features checks in shaderRecordExplicitScalarOffset_6 test case
Sławomir Cygan [Fri, 12 Mar 2021 09:27:57 +0000 (10:27 +0100)]
Fix required features checks in shaderRecordExplicitScalarOffset_6 test case

Due to typo in ShaderRecordBlockTest::isTest(), the test case was not
checked for optional features, required by ShaderRecordBlockTest class.

Components: Vulkan

VK-GL-CTS Issues: 2845

Affects: dEQP-VK.ray_tracing_pipeline.misc.shaderRecordExplicitScalarOffset_6
Change-Id: I437637e69294f10343f69d9f5b9a0abfe3acc7a5

3 years agoAdd VK_EXT_headless_surface surface tests
Tom Cooper [Mon, 20 Jul 2020 09:53:28 +0000 (11:53 +0200)]
Add VK_EXT_headless_surface surface tests

Adds vulkan_headless target which uses VK_EXT_headless_surface
for swapchain surface creation.

New tests:
dEQP-VK.image.swapchain_mutable.headless.*
dEQP-VK.wsi.headless.*
dEQP-VK.protected_memory.interaction.wsi.headless.*

Components: Vulkan

VK-GL-CTS issue: 2825

Change-Id: I21536c41c839b7bb795f05a17cbea68f8125133a

3 years agoFix robust buffer access result checking for partially out of bound cases
Junda Liu [Tue, 9 Mar 2021 08:21:32 +0000 (16:21 +0800)]
Fix robust buffer access result checking for partially out of bound cases

The spec says:
Out-of-bounds buffer loads will return any of the following values:
...
Values from anywhere within the memory range(s) bound to the buffer (possibly including bytes of memory past the end of the buffer, up to the end of the bound range).
...

So partially out of bound load may return memory content for the in bound part. E.g., loading a 64-bit value from a buffer with 3B size (allocated 4B size), the first 4B can be value within the buffer.

Affected tests:
dEQP-VK.robustness.buffer_access.through_pointers.*

Change-Id: I1fab8d3819cf4d5935904a1c7762c3660c67379b

3 years agoRemove the tests with too large device AS build workload
Sławomir Cygan [Tue, 16 Mar 2021 15:40:21 +0000 (16:40 +0100)]
Remove the tests with too large device AS build workload

This removes the tests that submit accelleration structure
builds with 1048576 instances * geometries * 'squares'.

The accelleation structure builds performed by these tests
were too long and may hit the device timeout imposed by
the operating system.

Components: Vulkan

VK-GL-CTS Issue: 2849

Removed Tests:

dEQP-VK.ray_tracing_pipeline.build.gpu*_1_1_1048576
dEQP-VK.ray_tracing_pipeline.build.gpu*_1_1048576_1
dEQP-VK.ray_tracing_pipeline.build.gpu*_1_1048576_1
dEQP-VK.ray_tracing_pipeline.build.gpu*_4_4_65536
dEQP-VK.ray_tracing_pipeline.build.gpu*_4_65536_4
dEQP-VK.ray_tracing_pipeline.build.gpu*_65536_4_4

Change-Id: Ief53cc01da4f749fd8a030bd8e2ebb5652208ce4

3 years agoUse linear tiling with external_memory_host tests
Tapani Pälli [Tue, 16 Feb 2021 14:58:19 +0000 (16:58 +0200)]
Use linear tiling with external_memory_host tests

With linear, app can query the image's memory layout with
vkGetImageSubresourceLayout. With optimal tiling there is no way for app
to query or provide memory layout, therefore we must use linear.

Component: Vulkan
Affects: dEQP-VK.memory.external_memory_host*
VK-GL-CTS issue: 2794

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

3 years agoFix precision issue in NearestEdgeTests shaders
Ancheng Qiao [Mon, 22 Feb 2021 10:25:25 +0000 (18:25 +0800)]
Fix precision issue in NearestEdgeTests shaders

We should also use the calculated offset in shader.

Affects:
KHR-GLES32.core.nearest_edge.*

Components: OpenGL ES

VK-GL-CTS issue: 2651

Change-Id: I9427d3a95a98e3be58dd7ea16a2bf96822f33450

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Wed, 17 Mar 2021 15:53:06 +0000 (18:53 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I8e05ada30678a379a588756779ae4faf6a41851c

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Wed, 17 Mar 2021 15:26:27 +0000 (18:26 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: If51e7d93c6b84f7d3fde339f35ae351d8443a7ce

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Wed, 17 Mar 2021 14:28:28 +0000 (17:28 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Id84d297899a981b1fae39d923280446925730cd0

3 years agoEnable shadow filtering tests for non-filterable formats
Graeme Leese [Thu, 4 Mar 2021 21:29:59 +0000 (21:29 +0000)]
Enable shadow filtering tests for non-filterable formats

The spec says that you don't need to be able to filter the actual format
in order to filter the results of a shadow comparison. Enable this in
the texture tests.

Component: Vulkan
VK-GL-CTS issue: 2834
Affects: dEQP-VK.texture.shadow.*

Change-Id: I0879d8e77b84493d0be9677e9b4811a240c812b5

3 years agoAdd BGR and BGRA formats to image view tests
Ricardo Garcia [Tue, 9 Mar 2021 10:12:37 +0000 (11:12 +0100)]
Add BGR and BGRA formats to image view tests

Test image views, including sampling and swizzling, with BGR and BGRA
formats so as to make sure the ordering of color components in image
memory does not affect the meaning of color component names.

New tests:
dEQP-VK.pipeline.image_view.*b8g8r8*

Components: Vulkan
VK-GL-CTS issue: 2841

Change-Id: I6005ab518e78d40d3e590882ebdedc102fb70d38

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Wed, 17 Mar 2021 13:01:48 +0000 (16:01 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I6bad956acaf784565692e1ea539a219064deed57

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Alexander Galazin [Wed, 17 Mar 2021 12:24:52 +0000 (15:24 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I2a972a234184ede3227a4dc55758407a447483f0

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Wed, 17 Mar 2021 12:14:31 +0000 (15:14 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I64b979022925b98680602154ad32b13080a04871

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Alexander Galazin [Wed, 17 Mar 2021 11:34:22 +0000 (14:34 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: Ied31bf3a3891e6809c3472c70598ac7448a31066

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Wed, 17 Mar 2021 11:33:21 +0000 (14:33 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: If6077d356659193696b2e41c318b5bda2f5ca1d1

3 years agoAdd tests for standard multisample positions
Jari Komppa [Fri, 19 Feb 2021 12:59:04 +0000 (14:59 +0200)]
Add tests for standard multisample positions

This set of tests renders a triangle per multisample position
and then checks whether the correct colors can be found in
the samples.

New tests:
dEQP-VK.pipeline.multisample.standardsampleposition.*

Components: Vulkan
VK-GL-CTS issue: 2755

Change-Id: I79e941f330952b0473c978554f178c09bfc84af2

3 years agoPush constant overwrite tests
Ricardo Garcia [Thu, 25 Feb 2021 14:55:55 +0000 (15:55 +0100)]
Push constant overwrite tests

Add tests that update constant data ranges using multiple commands and
vary data values between draw or dispatch calls.

In addition, add a convenience function to create compute pipelines.
Many other tests use a similar custom function, but this commit does not
attempt to replace previous uses.

New tests:
dEQP-VK.pipeline.push_constant.*.overwrite

Components: Vulkan
VK-GL-CTS issue: 2805

Change-Id: I4358250940639a0812aeb81c51649ebb27c8bd8d

3 years agoTest large command buffers with many draw commands
Ricardo Garcia [Mon, 1 Mar 2021 13:59:22 +0000 (14:59 +0100)]
Test large command buffers with many draw commands

Test recording a large number of draw commands in primary and secondary
command buffers, making sure every command is recorded and executed
properly.

New tests:
dEQP-VK.api.command_buffers.record_many_draws_*

Components: Vulkan
VK-GL-CTS issue: 2813

Change-Id: Ife8957242fd5a0babc5e525f28a4014d46b29d3d

3 years agoTest barycentric coordinates in ray tracing hits
Ricardo Garcia [Tue, 2 Mar 2021 08:49:27 +0000 (09:49 +0100)]
Test barycentric coordinates in ray tracing hits

Add some tests to check the reported barycentric coordinates both in hit
attributes when ray tracing and also in ray queries have the expected
values and correspond to factors b and c in the barycentric coordinates
equation:

  p = a pa + b pb + c pc

New tests:
dEQP-VK.ray_tracing_pipeline.barycentric_coordinates.*
dEQP-VK.ray_query.barycentric_coordinates.*

Components: Vulkan
VK-GL-CTS issue: 2812

Change-Id: I1beba46045ea4efdfe7dab2318c331c4046d2d1d

3 years agoAdd missing mandatory features
Ricardo Garcia [Fri, 5 Mar 2021 11:49:13 +0000 (12:49 +0100)]
Add missing mandatory features

This commit fixes several missing mandatory feature checks:

* shaderSampledImageArrayDynamicIndexing was missing as mandatory when
  descriptorIndexing is supported.

* Ditto for shaderStorageBufferArrayDynamicIndexing.

* The ray tracing extensions were missing many mandatory features.

Affected tests:
dEQP-VK.info.device_mandatory_features

Components: Vulkan
VK-GL-CTS issue: 2829

Change-Id: I90896df608cdca228fb357b2feabc4deea393db2

3 years agoEnsure WSI colorspace has no effect on image contents
Vihanakangas [Mon, 23 Nov 2020 13:23:34 +0000 (15:23 +0200)]
Ensure WSI colorspace has no effect on image contents

This test makes sure that rendering is invariant
with regards to the swapchain colorspace.
Fixes validation errors on dEQP-VK.wsi.*.colorspace.* tests.

Affects:

dEQP-VK.wsi.*.colorspace.*

New tests:

dEQP-VK.wsi.*.colorspace_compare.*

Components: Vulkan

VK-GL-CTS issue: 1915

Change-Id: Ic8d4c52e182bbef73c1cfe85be9ea054545c86d8

3 years agoreset minSampleShading only with OpenGL Core 4.0+
Tapani Pälli [Wed, 3 Mar 2021 07:47:56 +0000 (09:47 +0200)]
reset minSampleShading only with OpenGL Core 4.0+

This fixes crashes seen with many tests when context state is
reset and gl.minSampleShading is NULL.

Affects: KHR-GL*

Components: OpenGL

VK-GL-CTS issue: 2827

Fixes: 327ee5674 ("Support GL 4.5 in various multisample tests")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I4b67a30264d4bdb6de8a5f7e811ae8bb8ee8a696

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Alexander Galazin [Tue, 16 Mar 2021 11:07:53 +0000 (14:07 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: Id15497476682a03dd2b2fe4c0e5f9ea5d27d27e7

3 years agoUpdate Vulkan/GL Readme
Alexander Galazin [Mon, 22 Feb 2021 09:14:11 +0000 (10:14 +0100)]
Update Vulkan/GL Readme

Update the Readme files to point to the new
submission verifcation script

Components: Vulkan, OpenGL

Change-Id: I6fb35a383fcc49e543ae67822be22d744c5fcd9c
(cherry picked from commit 412f5a3363eb228ca1a63be337de172a2e622571)

3 years agoUpdate Vulkan/GL Readme
Alexander Galazin [Mon, 22 Feb 2021 09:14:11 +0000 (10:14 +0100)]
Update Vulkan/GL Readme

Update the Readme files to point to the new
submission verifcation script

Components: Vulkan, OpenGL

Change-Id: I6fb35a383fcc49e543ae67822be22d744c5fcd9c
(cherry picked from commit 412f5a3363eb228ca1a63be337de172a2e622571)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Tue, 16 Mar 2021 06:57:18 +0000 (09:57 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I49df5c172965f67acfc561b8055a6fe9dd4c75de

3 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Tue, 16 Mar 2021 06:16:52 +0000 (09:16 +0300)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Ia707d071b963951d00f6836be3f24fd1a0877cca

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Mon, 15 Mar 2021 15:50:59 +0000 (18:50 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I07fc25f375c0228279e54582fc909876a370d251

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Mon, 15 Mar 2021 14:58:34 +0000 (17:58 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I78e06ea1256567bd761e1ffa5678338eb1f7aa85

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Mon, 15 Mar 2021 14:09:42 +0000 (17:09 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I15d9b2b0dbaab175d891a824c190198bbcda1b20

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Mon, 15 Mar 2021 12:55:47 +0000 (15:55 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: Iccb63bb8842b2d3b8ae22b78853a0534500aebdf

3 years agoEnable validation for all custom devices
Ricardo Garcia [Fri, 5 Mar 2021 15:31:07 +0000 (16:31 +0100)]
Enable validation for all custom devices

This commit changes some tests that use custom devices so they rely on
the custom device helper functions to create these custom devices with
the validation layers enabled if requested from the command line.

In addition, some "createDevice" functions are renamed so a simple
search for "createDevice" only reports uses of the createDevice instance
interface method and RefUtil helper function.

The affected tests should only behave differently with validation
enabled. Running these tests without validation should not result in any
changes.

Affected tests:
dEQP-VK.api.buffer_marker.*
dEQP-VK.api.info.vulkan1p2.feature_bits_influence
dEQP-VK.draw.concurrent.compute_and_triangle_list
dEQP-VK.ray_tracing_pipeline.capture_replay.*
dEQP-VK.synchronization*.signal_order.*
dEQP-VK.synchronization.timeline_semaphore.*
dEQP-VK.synchronization2.timeline_semaphore.*

Components: Vulkan
VK-GL-CTS issue: 2835

Change-Id: I6e8028428faa69d92ab9a8a0e8ba25540d04810f

3 years agoRemove multiview requirement in extended dyn state tests
Ricardo Garcia [Fri, 5 Mar 2021 12:17:57 +0000 (13:17 +0100)]
Remove multiview requirement in extended dyn state tests

VK_KHR_multiview was wrongly being required for extended dynamic states
using several viewports, when the only needed check is to verify the
number of viewports does not exceed the maxViewports limit.

Affected tests:
dEQP-VK.pipeline.extended_dynamic_state.*2_viewports*
dEQP-VK.pipeline.extended_dynamic_state.*2_scissors*

Components: Vulkan
VK-GL-CTS issue: 2832

Change-Id: I72b2c09153ed2303b7d64bdd78c756ddfa838137

3 years agoFix recursion depth requirement in complexcontrolflow
Boris Zanin [Mon, 8 Mar 2021 10:25:12 +0000 (11:25 +0100)]
Fix recursion depth requirement in complexcontrolflow

Checks recursion depth required is supported
(i.e. is lower than maxRayRecursionDepth).
Also properly specifies maxPipelineRayRecursionDepth
in VkRayTracingPipelineCreateInfoKHR.

Updates tests:
 * dEQP-VK.ray_tracing_pipeline.complexcontrolflow.*.trace_ray.chit
 * dEQP-VK.ray_tracing_pipeline.complexcontrolflow.*.trace_ray.miss

Affects tests:
 * dEQP-VK.ray_tracing_pipeline.complexcontrolflow.*

Components: Vulkan

VK-GL-CTS issue: 2836

Change-Id: Ieb2854e3980ac729344a780dc4efaaf7a33c64a0

3 years agoCheck image extent support in watertightness tests
Ricardo Garcia [Tue, 9 Mar 2021 11:55:36 +0000 (12:55 +0100)]
Check image extent support in watertightness tests

"Closed fan" watertightness ray tracing tests may use 3D images with
large depth dimensions that go over the minimum value for the maximum
depth as required by the spec, so they need to check if such an extent
is supported.

Additionally, this commit fixes two other issues:

* The result verification logic was incorrect for cases with quality
  warnings (i.e. when the miss shader was executed).

* Output buffer memory invalidation triggered validation errors in some
  implementations due to not using VK_WHOLE_SIZE when attempting to
  invalidate the whole range.

Affected tests:
dEQP-VK.ray_tracing_pipeline.watertightness.*

Components: Vulkan
VK-GL-CTS issue: 2833

Change-Id: I607dd9d46f5212a71cf109a711e418ae05011b69

3 years agoRead deserealization size from stream
Boris Zanin [Mon, 8 Mar 2021 14:49:41 +0000 (15:49 +0100)]
Read deserealization size from stream

Deserialization should read deserialized data size
from serialized data stream, rather than use serialized
data size. To allow reading of this data from stream
command buffer recording should be completed and restarted.

Updates tests:
 * dEQP-VK.ray_tracing_pipeline.acceleration_structures.operations.serialization.*
 * dEQP-VK.ray_tracing_pipeline.capture_replay.acceleration_structures.serialization.*
 * dEQP-VK.ray_query.acceleration_structures.operations.*.serialization.*

Components: Framework, Vulkan

VK-GL-CTS issue: 2545

Change-Id: I460d82ae9ebfe8e43f24b4478154854a01491602

3 years agoFix flush/invalidate in mismatched_write_op tests
Graeme Leese [Thu, 25 Feb 2021 17:40:04 +0000 (17:40 +0000)]
Fix flush/invalidate in mismatched_write_op tests

The memory flush/invalidate logic was incorrect, causing memory updates
to be lost. Having access functions do invalidates makes it difficult to
reuse the code (because the accessor can only be used when no writes are
outstanding, but this is not obvious from the naming), so put these
operations explicitly in around the device commands that need them.

Components: Vulkan
VK-GL-CTS issue: 2817
Affects: dEQP-VK.image.mismatched_write_op.mismatched_vector_sizes.*

Change-Id: I594c6dd9911b2d2a21b2ba88e9570eb4fe09ebd4

3 years agoFix sync validation for mismatched_write_op tests
Graeme Leese [Thu, 25 Feb 2021 17:17:53 +0000 (17:17 +0000)]
Fix sync validation for mismatched_write_op tests

The pipeline stages and accesss bits were incorrect in some cases and
the validation layer was complaining about write-after-write hazards.

Components: Vulkan
VK-GL-CTS issue: 2817
Affects: dEQP-VK.image.mismatched_write_op.mismatched_vector_sizes.*

Change-Id: I254ab3b65342552d71fd3890da271e8586eb1fab

3 years agoCheck if image sample count supported by VkSampleCountFlags
Tapani Pälli [Tue, 2 Mar 2021 09:43:57 +0000 (11:43 +0200)]
Check if image sample count supported by VkSampleCountFlags

There might be limitations based on format, usage and sample count set.

VK-GL-CTS Issue: 2824

Components: Vulkan

Affects: dEQP-VK.synchronization.cross_instance.*multisample*

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

3 years agoAlways accumulate errors in desc set random tests
Ricardo Garcia [Mon, 22 Feb 2021 15:03:35 +0000 (16:03 +0100)]
Always accumulate errors in desc set random tests

Tests using DEPENDENT and RUNTIME_SIZE index types were overwriting the
value of the accumulated error with each load operation. This has two
problems:

* Sometimes the result of a load operation would not be used in the next
  load operation. This happens when the next descriptor to check is not
  an array. In these cases the implementation may remove load
  operations, which means they would not be checked.

* As long as the implementation does not crash and the last load
  operation works as expected, the implementation was allowed to load
  incorrect values in those operations, because only the last load would
  be taken into account to decide if the output storage image will have
  a "good" or "bad" value.

This commit makes all test variants accumulate errors in the "accum"
variable that's used at the end of each test.

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

Components: Vulkan
VK-GL-CTS issue: 2763

Change-Id: I4de1bd4525d378b5ec2b7aad3faae81d956a9d7d

3 years agoFix missing barrier in compute test
Shahbaz Youssefi [Wed, 24 Feb 2021 03:13:34 +0000 (22:13 -0500)]
Fix missing barrier in compute test

The test does:

- Draw with transform feedback
- Dispatch using the same buffer as storage buffer

This is a WaR hazard that needs a glMemoryBarrier.

VK-GL-CTS issue: 2809

Affects:
KHR-GLES31.core.compute_shader.pipeline-post-xfb
KHR-GL43.compute_shader.pipeline-post-xfb
KHR-GL44.compute_shader.pipeline-post-xfb
KHR-GL45.compute_shader.pipeline-post-xfb
KHR-GL46.compute_shader.pipeline-post-xfb

Change-Id: I18202640e307490352c0c6a6f42e145b054aedd8

3 years agoFix missing barrier in texture buffer test
Shahbaz Youssefi [Fri, 19 Feb 2021 19:44:01 +0000 (14:44 -0500)]
Fix missing barrier in texture buffer test

The test does:

- Draw with transform feedback
- Dispatch using the same buffer as imageBuffer

This is a WaR hazard that needs a glMemoryBarrier.

VK-GL-CTS issue: 2809

Affects:
KHR-GLES31.core.texture_buffer.texture_buffer_operations_transform_feedback

Change-Id: Id092229708421002fe1b8df38028f9c6a359c242

3 years agoReplace libUI with native Android AHB API
Ari Suonpaa [Fri, 19 Feb 2021 13:42:56 +0000 (15:42 +0200)]
Replace libUI with native Android AHB API

EGL AHB tests were using libUI which isn't accessible
using public Android builds. This change maps to the
public AHB API in a similar way Vulkan CTS is already
doing.

The supported AHB formats differ from the libUI ones,
so the tested formats have also changed.

VK-GL-CTS Issue: 2785

Affects:

dEQP-EGL.functional.image.*

Components: EGL, Framework
Change-Id: Ieb9e88106c3a4c42e516f71a0c48d99ca8a59a90

3 years agoUpdate Amber
Ari Suonpaa [Mon, 22 Feb 2021 12:30:21 +0000 (14:30 +0200)]
Update Amber

Amber was updated to include a fix for Vulkan pointer
loading that broke CTS when using Vulkan 1.0 device.

VK-GL-CTS Issue: 2802

Affects: All Amber tests

Components: Vulkan, Framework
Change-Id: I2ceaa8b569112f2e32e8a3a4e74d82ef1e4d0a67
(cherry picked from commit e3a5a50e44c4d078d8fd2b97c6a9b4fecc97d1ce)

3 years agoAdd a waiver for depth bias on some Broadcom GPUs
Graeme Leese [Tue, 23 Feb 2021 18:12:28 +0000 (18:12 +0000)]
Add a waiver for depth bias on some Broadcom GPUs

VK-GL-CTS issue: 2804

Components: Vulkan

Change-Id: I85498d58d5701d6c86392efd9eb0a189e26eea54

3 years agoUpdate Vulkan/GL Readme
Alexander Galazin [Mon, 22 Feb 2021 09:14:11 +0000 (10:14 +0100)]
Update Vulkan/GL Readme

Update the Readme files to point to the new
submission verifcation script

Components: Vulkan, OpenGL

Change-Id: I6fb35a383fcc49e543ae67822be22d744c5fcd9c

3 years agoUpdate Amber
Ari Suonpaa [Mon, 22 Feb 2021 12:30:21 +0000 (14:30 +0200)]
Update Amber

Amber was updated to include a fix for Vulkan pointer
loading that broke CTS when using Vulkan 1.0 device.

VK-GL-CTS Issue: 2802

Affects: All Amber tests

Components: Vulkan, Framework
Change-Id: I2ceaa8b569112f2e32e8a3a4e74d82ef1e4d0a67

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Alexander Galazin [Wed, 10 Mar 2021 07:35:45 +0000 (10:35 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: Ib3539ff9e52891171eb4cac8cc569390adb5d425

3 years agoAllow wildcards in waiver vendor strings
Mika Väinölä [Mon, 8 Feb 2021 11:01:23 +0000 (13:01 +0200)]
Allow wildcards in waiver vendor strings

Use wildcard matching instead of exact string comparison for GL
waiver vendor attributes. Use "Google*" prefix for ANGLE XFB
waiver and remove a duplicate ANGLE waiver.

VK-GL-CTS issue: 2770

Components: Framework, OpenGL

Change-Id: I0ffc54af6aaa4c562bf1e8b5077e365da71f9a3e
(cherry picked from commit 074fc201162b347720c4ba3a013101837edf2a8d)

3 years agoFix bad merge in DeqpTestRunner.java
Paul Thomson [Wed, 3 Mar 2021 12:29:11 +0000 (12:29 +0000)]
Fix bad merge in DeqpTestRunner.java

Components: Android

Change-Id: Ib557d85deb85dc528fde2765e8c6442bffe67fc4

3 years agoAdd a batch of Graphicsfuzz tests
Toni Salmivalli [Thu, 26 Nov 2020 12:44:05 +0000 (14:44 +0200)]
Add a batch of Graphicsfuzz tests

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.stable-binarysearch-tree-fragcoord-less-than-zero
dEQP-VK.graphicsfuzz.stable-colorgrid-modulo-double-always-false-discard
dEQP-VK.graphicsfuzz.stable-mergesort-for-always-false-if-discard

Change-Id: I684c033f23f167334a6f3b69653ac8450c936eb0

3 years agoRay query hitT direction length tests
Ricardo Garcia [Tue, 2 Mar 2021 12:17:20 +0000 (13:17 +0100)]
Ray query hitT direction length tests

Add tests to check the hit distance is proportional to length of the
direction vector specified when using ray queries.

New tests:
dEQP-VK.ray_query.direction_length.*

Components: Vulkan
VK-GL-CTS issue: 2776

Change-Id: If83b97a5f32a565d6000904f4a70483e3d5b6445

3 years agoVerify submit with wait on timeline semaphore with 0 value
Lionel Landwerlin [Thu, 11 Feb 2021 21:17:37 +0000 (23:17 +0200)]
Verify submit with wait on timeline semaphore with 0 value

We have test that verifies a vkWaitSemaphores() on a timeline
semaphore value of 0. Because a timeline semaphore always has a 0
value initially, the wait should return immediately.

We can also verify that a vkQueueSubmit on the same semaphore value is
not blocked on anything.

VK-GL-CTS Issue: 1827

Affects: dEQP-VK.synchronization.timeline_semaphore.device_host.misc.initial_value

Change-Id: Ifcfe053206e9f5f836aa25c7b6edd8fa7fdfb540

3 years agoTest timeline semaphore with two threads
Piotr Byszewski [Thu, 18 Feb 2021 16:25:07 +0000 (17:25 +0100)]
Test timeline semaphore with two threads

This test waits for timeline semaphore on first thread
and signals it from second thread. Next this is repeated
but other way around.

Components: Vulkan

VK-GL-CTS issue: 2514

New test:
dEQP-VK.synchronization.basic.timeline_semaphore.two_threads

Change-Id: I6df83b03683ecb0115110c229da5e758591c5198

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Sat, 6 Mar 2021 10:02:20 +0000 (13:02 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: Ia5144460255a06cadbf70faa9f7f30d00526a8e9

3 years agoSupport GL 4.5 in the Texture Filtering Tests
Alexander Galazin [Fri, 5 Feb 2021 10:45:31 +0000 (11:45 +0100)]
Support GL 4.5 in the Texture Filtering Tests

Components: AOSP

Affects:
dEQP-GLES31.functional.texture.filtering.*
dEQP-GL45.functional.texture.filtering.*

Change-Id: I2951a60bc628ee891e410091a7ee7e1eb6d6b00b

3 years agoSupport GL 4.5 in the sRGB skip decode tests
Alexander Galazin [Fri, 5 Feb 2021 10:32:07 +0000 (11:32 +0100)]
Support GL 4.5 in the sRGB skip decode tests

Components: AOSP

Affects:
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*
dEQP-GL45.functional.srgb_texture_decode.skip_decode.*

Change-Id: Ica1dcf5ddf61b104f749b10c84501cc2182768f7

3 years agoUse SPV_KHR_physical_storage_buffer extension
Ilkka Saarelainen [Thu, 25 Feb 2021 07:29:33 +0000 (09:29 +0200)]
Use SPV_KHR_physical_storage_buffer extension

dEQP-VK.spirv_assembly.instruction.compute.physical_pointers.compute.*
tests were using SPV_EXT_physical_storage_buffer extension, while
SPV_KHR_physical_storage_buffer should be used instead. Using the old
EXT-version causes validation errors, because the related Vulkan
extension VK_EXT_buffer_device_address is not enabled.

Affects:
dEQP-VK.spirv_assembly.instruction.compute.physical_pointers.compute.*

Components: Vulkan

VK-GL-CTS issue: 2808

Change-Id: Ic870fe32a81f6dbacb72c4f0d95e8f62e6e72ee3

3 years agoFix build indirect structure tests
Boris Zanin [Thu, 11 Feb 2021 12:31:20 +0000 (13:31 +0100)]
Fix build indirect structure tests

Incorrect number of instances has been specified for
top level structure.

Affected tests:
 * dEQP-VK.ray_tracing_pipeline.indirect.build_structure

Components: Vulkan

VK-GL-CTS issue: 2767

Change-Id: I11f9c42dd5d1b919c8de250abdae426c9c584a69

3 years agoFix reordering vertices in geometry shader in ray_query AS test
Sławomir Cygan [Fri, 26 Feb 2021 12:34:23 +0000 (13:34 +0100)]
Fix reordering vertices in geometry shader in ray_query AS test

This fixes the shader to write reordered vertice data into sequential
(unordered) store image indices

The change from 48f12336 was incomplete and misses the change to
the image store indices.

Components: Vulkan

VK-GL-CTS Issue: 2764

Affects: dEQP-VK.ray_query.acceleration_structures.*.geometry_shader.*
Change-Id: Ifd51d77e94c607e860e5c9efdefe2cb5a5ee97ff

3 years agoFix source blit image size
Marcin Kańtoch [Thu, 25 Feb 2021 16:23:31 +0000 (17:23 +0100)]
Fix source blit image size

Changed the way source blit image size is calculated,
so that in all circumstances width > 0 and height > 0.

Affects:
dEQP-VK.memory.pipeline_barrier.host_read_transfer_dst.1024

Components: Vulkan

VK-GL-CTS issue: 2816

Change-Id: Id23a8e613b013e9e40b0075822b80c78b9ca418c

3 years agoFix wrong semaphore type being queried
Sean Risser [Fri, 26 Feb 2021 19:46:50 +0000 (14:46 -0500)]
Fix wrong semaphore type being queried

Signal order tests were always checking for external timeline
semaphore support even for binary semaphore tests.

Affects:

dEQP-VK.synchronization.signal_order.*

Components: Vulkan
Google bug: 180025687
VK-GL-CTS public issue: 242

Change-Id: Ic15cb246a5cf8919282c16568bac2ec109c5fdbc

3 years agoFix fragment shading rate validation errors
Ricardo Garcia [Fri, 26 Feb 2021 09:26:13 +0000 (10:26 +0100)]
Fix fragment shading rate validation errors

The depth/stencil attachment was not being transitioned properly to
VK_IMAGE_LAYOUT_GENERAL.

Affected tests:
dEQP-VK.fragment_shading_rate.fragdepth.*
dEQP-VK.fragment_shading_rate.fragstencil.*

Components: Vulkan
VK-GL-CTS issue: 2815

Change-Id: Id2a64d79c9368227dc137863f66be6293c3d6aba

3 years agoFix missing check for supported device features
Mohd Faisal [Thu, 18 Feb 2021 16:53:53 +0000 (16:53 +0000)]
Fix missing check for supported device features

This change add the feature check for shaderInt64 which was missing.
Adding capability and types for Int64 only for 64 bit images.
Removed the float64 capability and types, not used.

VK-GL-CTS Issue: 2807

Affects: dEQP-VK.image.mismatched_write_op.*

Components: Vulkan
Change-Id: I82d7b6a2f629147156fc15884286e6c085043177

3 years agoAllow OOM for maxImageExtent swapchain cases
Tom Cooper [Fri, 19 Feb 2021 15:11:50 +0000 (15:11 +0000)]
Allow OOM for maxImageExtent swapchain cases

Do not report a quality warning for swapchain creation failure with OOM
when the swapchain extent is VkSurfaceCapabilitiesKHR::maxImageExtent.

This aligns dEQP-VK.wsi.*.swapchain.simulate_oom.image_extent with
dEQP-VK.wsi.*.swapchain.create.image_extent changes from
https://gerrit.khronos.org/c/vk-gl-cts/+/4084.

Affects: dEQP-VK.wsi.*.swapchain.simulate_oom.image_extent

Components: Vulkan

VK-GL-CTS issue: 2806

Change-Id: I38ebb72a2121734d4917de630efeb7e445556940

3 years agoDecrease required subgroup size
Ilkka Saarelainen [Wed, 17 Feb 2021 11:33:22 +0000 (13:33 +0200)]
Decrease required subgroup size

dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point
test assumed that the subgroupSize is >= 8. The test failed if the
supported subgroupSize is less than 8.

This CL lowers the required subgroup size to 4.

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

Components: Vulkan

VK-GL-CTS issue: 2698

Change-Id: I9931dab7a57c0b6b73530e72bca0c0d9cc90f87d

3 years agoAdd needed extension and feature checks in mismatched_write_op test
Sławomir Cygan [Wed, 17 Feb 2021 16:32:38 +0000 (17:32 +0100)]
Add needed extension and feature checks in mismatched_write_op test

This change adds required extension and feature checks for the extensions
and capabilites used by the shader in this test.

Moreover, this change removes enabling of SPV_EXT_shader_image_int64
extension where not needed, so some test cases would run on implementations
not supporting it.

VK-GL-CTS Issue: 2796

Affects: dEQP-VK.image.mismatched_write_op.*

Components: Vulkan
Change-Id: I8cd908048e97c65f667b50f7fd9b52d937184608

3 years agoFix decoration_group tests
Piotr Byszewski [Mon, 15 Feb 2021 13:37:45 +0000 (14:37 +0100)]
Fix decoration_group tests

Specification states that: Variable decorated with Invariant must
only be identified with the Input or Output storage class in Vulkan
environment. Purpose of the test wasn't to test invariance, but to
use three decorations on group3. This change replaces Invariant
with Flat decoration so that validation error is not triggered.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.decoration_group.*

Change-Id: I460b54988f2991e007fee27f1e96c39dbbcec74e

3 years agoAdds local multi device present mode support check
Matthew Netsch [Wed, 3 Mar 2021 22:21:05 +0000 (17:21 -0500)]
Adds local multi device present mode support check

Test calls vkGetPhysicalDevicePresentRectanglesKHR even if
driver does not support
VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR

Components: Vulkan
VK-GL-CTS Issue: 2828

Affects:
dEQP-VK.wsi.wayland.surface.query_devgroup_present_modes

Change-Id: I91ac8d2820318d1553e28fe71a4d2488a0fead5d

3 years agoRemove dubious const-casting in mismatched_write_ops tests
Graeme Leese [Thu, 25 Feb 2021 17:53:04 +0000 (17:53 +0000)]
Remove dubious const-casting in mismatched_write_ops tests

The upload function was changing the layout of the image, so having the
function called const and casting the const away seems dodgy.

Components: Vulkan
Affects: dEQP-VK.image.mismatched_write_op.mismatched_vector_sizes.*

Change-Id: Ie31b63a72ff3c28029b628fca2f3f92d5df0f78a

3 years agoIncluding testing zw components with fragcoord_msaa tests
Piers Daniell [Wed, 17 Feb 2021 20:18:22 +0000 (13:18 -0700)]
Including testing zw components with fragcoord_msaa tests

This extends the fragcoord_msaa coverage added in
https://gerrit.khronos.org/c/vk-gl-cts/+/6761 to also include
testing of the gl_FragCoord.z and gl_FragCoord.w components.

Coverage includes both explicitly enabled per-sample shading
and implicit per-sample input shading.

Component: Vulkan

Change-Id: I834f6a273b26dd889a7bba8e8b8bd373808b8844
Affects: dEQP-VK.glsl.builtin_var.fragcoord_msaa*

3 years agoRay tracing hitT direction length tests
Ricardo Garcia [Mon, 22 Feb 2021 09:57:14 +0000 (10:57 +0100)]
Ray tracing hitT direction length tests

Add tests to check the hit distance is proportional to length of the
direction vector specified when tracing rays.

New tests:
dEQP-VK.ray_tracing_pipeline.direction_length.*

Components: Vulkan
VK-GL-CTS issue: 2776

Change-Id: I3fd0eec54acbbd9b19b7d932708aab4fa00886e0

3 years agoDon't forget to enable KHR_fragment_shading_rate
Lionel Landwerlin [Mon, 22 Feb 2021 13:02:52 +0000 (15:02 +0200)]
Don't forget to enable KHR_fragment_shading_rate

Component: Vulkan
VK-GL-CTS Issue: 2803

Affected tests: dEQP-VK.fragment_shading_rate.pixel_consistency.*

Change-Id: I1b9c0dd5e6e69642b89a0830bc1fd5639119445e

3 years agoFix compute binding storage buffer alignment
Ricardo Garcia [Mon, 22 Feb 2021 13:50:32 +0000 (14:50 +0100)]
Fix compute binding storage buffer alignment

The fix for VK-GL-CTS issue #2661 missed some compute push descriptor
binding tests that are not respecting minStorageBufferOffsetAlignment.
This commit fixes those remaining cases.

Affected tests:
dEQP-VK.pipeline.push_descriptor.compute.*

Components: Vulkan
VK-GL-CTS issue: 2797

Change-Id: Ic22abe8d2d4fe37b1126d1c1fd7b5851029f708f

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Tue, 2 Mar 2021 12:58:46 +0000 (15:58 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I2e280bdbfd5b4e186161cfda4ed84ebc3f1f95ec

3 years agoUpdate dEQP test runner
Alastair Donaldson [Thu, 11 Feb 2021 18:12:41 +0000 (18:12 +0000)]
Update dEQP test runner

Updates the dEQP test runner to account for the
android.software.opengles.deqp.level feature flag. This generalises
the logic that previously checked whether a Vulkan test list should be
skipped depending on the value of the analogous Vulkan feature flag.

Bug: 169021525

Change-Id: I00e04b6cda698c0649e4dcd2923e87156539e5c0

3 years agoAdd Android test lists for OpenGL ES
Alastair Donaldson [Wed, 10 Feb 2021 13:00:21 +0000 (13:00 +0000)]
Add Android test lists for OpenGL ES

Adds two new test lists for each of OpenGL ES 2.0, OpenGL ES 3.0 and
OpenGL ES 3.1, corresponding to dEQP snapshots for Android
versions. The full master test lists for OpenGL ES are no longer run
by default.

Bug: 169021525

Change-Id: I86eea5263f074fa8e6b826e7ded458953ebfb17c

3 years agoFix Windows build
Yuly Novikov [Fri, 26 Feb 2021 00:02:09 +0000 (19:02 -0500)]
Fix Windows build

Missing #include for std::min in glcFramebufferCompleteness.cpp

Components: OpenGL

VK-GL-CTS issue: 2699

Change-Id: Ia00bcf77f1d5be0b9b6c3fa368f8cd14244351f2

3 years agoAdd new Vulkan test list and update test list generation
Alastair Donaldson [Tue, 9 Feb 2021 15:42:03 +0000 (15:42 +0000)]
Add new Vulkan test list and update test list generation

Adds a test list capturing the Vulkan dEQP tests frozen for Android
11, and changes the test list generator to use this list.

Due to various tests having been renamed or removed, list generation
does not yet work.

Bug: 169021525

Change-Id: Icab9e25d1acc24d121feacdf8720d14e8db69d91

3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 1 Mar 2021 15:15:15 +0000 (18:15 +0300)]
Update Vulkan headers

Components: Vulkan

Change-Id: Ifd91260d3f552ac8690d91ac3d8007362f725df0

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Thu, 25 Feb 2021 19:24:52 +0000 (20:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: Idb438276e8940dbe921b2a331a58a0ebebd4ad9c

3 years agoPipeline bind point tests
Ricardo Garcia [Tue, 16 Feb 2021 15:48:23 +0000 (16:48 +0100)]
Pipeline bind point tests

Test binding different objects (sets and pipelines) to different bind
points and verify nothing breaks and each batch of work is dispatched as
expected using the right resources.

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

Components: Vulkan
VK-GL-CTS issue: 2789

Change-Id: Ifab3b375724b14654f6c7f9fd95ca8c317383a4c

3 years agoAdd tests for sparseImageFloat32Atomics
Ricardo Garcia [Fri, 5 Feb 2021 14:56:21 +0000 (15:56 +0100)]
Add tests for sparseImageFloat32Atomics

This commit adds image atomic operation tests using sparse images in
order to check the sparseImageFloat32Atomics feature.

In addition, it addresses several issues with the image atomic operation
tests, related to the tests behaving differently depending on which
features the implementation supported:

* If supported, transfer operations were performed on storage images,
  with a code path containing a fallback using shaders.

* 64-bit formats always used shaders instead of transfer operations.

* When reading values back from images using shaders, if the
  implementation supported shaderResourceResidency, values were read
  back using sparseImageLoadARB instead of normal reads.

These behaviors are now encoded in the test parameters and combined,
producing a higher number of variants without losing test coverage.

Also in addition, this commit adds the de::dataOrNull function to obtain
a vector's data pointer or a null pointer when the vector is empty.
Similar functions and checks are commonly performed in many tests, but
this commit does not attempt to replace existing uses.

Affected and new tests:
dEQP-VK.image.atomic_operations.*

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

Change-Id: I5c77eb42990ad57fdd43e6e4a7e74b7c149f8e14

3 years agoFix more spurious failures in KHR-GL*.transform_feedback.api_errors_test
Eric Anholt [Wed, 3 Feb 2021 20:33:46 +0000 (12:33 -0800)]
Fix more spurious failures in KHR-GL*.transform_feedback.api_errors_test

It was checking for extensions (or not even checking!), then using the
corresponding core GLSL versions in the programs when trying to test
GS and tess.  Just skip these shader stage tests if we don't have the
core GL version necessary to compile our programs.

Fixes spurious failures on softpipe (which has GS) on the KHR-GL32
variant of the test, and on freedreno (which has tess but only GL 3.3)
on the KHR-GL33 variant.

Components: OpenGL
Affects: KHR-GL3*.transform_feedback.api_errors_test
Change-Id: Iaccd402c0a8420a5ce698d9befd54ec05b23c869

3 years agoFix spurious failures on KHR-GL30.transform_feedback.api_errors_test
Eric Anholt [Wed, 3 Feb 2021 20:08:33 +0000 (12:08 -0800)]
Fix spurious failures on KHR-GL30.transform_feedback.api_errors_test

The list of valid prims was missing that compat contexts have GL_QUADS
as a valid prim type, so the GL30/31 tests would fail, or later
contexts that include ARB_compat by default.

This addition follows the existing model of the GS primitive types
where we always avoid them when looking for an invalid prim enum,
rather than tess's model where we make a point of picking GL_PATCHES
if the test thinks tess is unsupported.

VK-GL-CTS issue: 2717

Components: OpenGL

Affects: KHR-GL3*.transform_feedback.api_errors_test
Change-Id: Ie8f3a554d7de9efb4ca7356fefff5028c9ffa45f

3 years agoPrint ints for pixel values instead of chars in error message
Tapani Pälli [Thu, 21 Jan 2021 12:47:31 +0000 (14:47 +0200)]
Print ints for pixel values instead of chars in error message

This changes following error output in results log:

   "Reference pixel [@, <80>, <FF>,  ] is different ..."

to better formattted:

   "Reference pixel [64, 128, 255, 32] is different ..."

VK-GL-CTS Issue: 2783

Affects:
   KHR-GLES31.core.geometry_shader.layered_framebuffer.clear_call_support

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

3 years agoFix exit code for cts-runner
Thomas Spurden [Mon, 8 Feb 2021 15:30:15 +0000 (15:30 +0000)]
Fix exit code for cts-runner

The runner used m_summary.isConformant to determine the exit code after
m_summary had been cleared by TestRunner::deinit, so it was always
exiting with a failure code.

Don't clear m_summary so that isConformant is valid after deinit.

Affects:

cts-runner

Components: Framework

VK-GL-CTS issue: 1982

Change-Id: I665017f7b11985f1e639971e4a9a627045f3664a
(cherry picked from commit 0f2a50e88aad4dae6330168f01c224b3de5bb629)

3 years agoFix exit code for cts-runner
Thomas Spurden [Mon, 8 Feb 2021 15:30:15 +0000 (15:30 +0000)]
Fix exit code for cts-runner

The runner used m_summary.isConformant to determine the exit code after
m_summary had been cleared by TestRunner::deinit, so it was always
exiting with a failure code.

Don't clear m_summary so that isConformant is valid after deinit.

Affects:

cts-runner

Components: Framework

VK-GL-CTS issue: 1982

Change-Id: I665017f7b11985f1e639971e4a9a627045f3664a

3 years agoTests for GLES3 framebuffer completeness
Mikko Tiusanen [Mon, 4 Jan 2021 13:41:21 +0000 (15:41 +0200)]
Tests for GLES3 framebuffer completeness

Added tests for OpenGL ES 3.0 framebuffer completeness.

New tests: KHR-GLES3*.framebuffer_completeness.*

Components: OpenGL

VK-GL-CTS issue: 2699

Change-Id: If3eeda3fe39ce8ed04af9062c0013b8e9c35936b