platform/upstream/VK-GL-CTS.git
3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 29 Mar 2021 08:26:40 +0000 (11:26 +0300)]
Update Vulkan headers

Components: Vulkan

Change-Id: I1f2650958b9ec4d9af8eb5e6310afa3c72395880

3 years agoSupport GL 4.5 in the geometry shading tests
Alexander Galazin [Tue, 16 Mar 2021 11:13:47 +0000 (14:13 +0300)]
Support GL 4.5 in the geometry shading tests

Components: AOSP

Affects:
dEQP-GLES31.functional.geometry_shading.*
dEQP-GL45.functional.geometry_shading.*

Change-Id: I6dd14a7339e29ddf55ea762c729934fe6fc277ba

3 years agoSupport GL 4.5 in the tessellation tests
Alexander Galazin [Tue, 16 Mar 2021 08:27:49 +0000 (11:27 +0300)]
Support GL 4.5 in the tessellation tests

Components: AOSP

Affects:
dEQP-GLES31.functional.tessellation.*
dEQP-GL45.functional.tessellation.*

Change-Id: I875246c095b91e8011f6170d19901f5aab69b8b8

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

Change-Id: I02d3645912b70e9c7c807d9f08a3896079d0f9e6

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Tue, 30 Mar 2021 06:22:14 +0000 (09:22 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: I532c8c99ffbca33a036d2a458f6f5f8c8f44b02c

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Alexander Galazin [Tue, 30 Mar 2021 06:21:00 +0000 (09:21 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: If1bdcafe2e19121b0d5d7f89bf44f89db1877f74

3 years agoRevise the render_list string of angle vulkan waiver
junxu01 [Mon, 15 Mar 2021 08:07:54 +0000 (16:07 +0800)]
Revise the render_list string of angle vulkan waiver

Use 'ANGLE (*Vulkan *' to replace 'ANGLE (Vulkan*'.

Components: OpenGL ES
VK-GL-CTS issue: 2770

Change-Id: I8e5c8a86a81a538b829873a7c133a4c14b181087

3 years agoSupport GL 4.5 in the copy image tests
Alexander Galazin [Mon, 15 Mar 2021 08:59:56 +0000 (11:59 +0300)]
Support GL 4.5 in the copy image tests

Components: AOSP

Affects:
dEQP-GLES31.functional.copy_image.*
dEQP-GL45.functional.copy_image.*

Change-Id: I22e6789a5e1d9c82c955f22808aa71c0191a3a69

3 years agoAdded tests for most-negative snorm values in images
michal_jakubek [Tue, 8 Dec 2020 09:25:22 +0000 (10:25 +0100)]
Added tests for most-negative snorm values in images

This commit adds test for most-negative snorm values in images when using linear filtering.
Component: Vulkan

New tests:
  dEQP-VK.texture.conversion.snorm_clamp_linear.*

VK-GL-CTS issue: 2618

Change-Id: I414ab5aac47307e135563a3eb9870fa1484b7ba9

3 years agoNotice of withdrawal of Vulkan CTS 1.2.2.x
Alexander Galazin [Fri, 26 Mar 2021 07:23:05 +0000 (10:23 +0300)]
Notice of withdrawal of Vulkan CTS 1.2.2.x

Components: Vulkan

Change-Id: Ifda4ec091ba5e8e3b362aa7d828837dd3bad2202

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

3 years agoAdd a batch of GraphicsFuzz tests
Alastair Donaldson [Thu, 26 Nov 2020 16:04:36 +0000 (16:04 +0000)]
Add a batch of GraphicsFuzz tests

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.spv-stable-bubblesort-flag-complex-conditionals
dEQP-VK.graphicsfuzz.spv-stable-maze-O-dead-code
dEQP-VK.graphicsfuzz.spv-stable-maze-O-memory-accesses
dEQP-VK.graphicsfuzz.spv-stable-mergesort-dead-code
dEQP-VK.graphicsfuzz.spv-stable-quicksort-dontinline
dEQP-VK.graphicsfuzz.spv-stable-sampler-loop-extra-instructions
dEQP-VK.graphicsfuzz.spv-stable-sampler-polar-simple-O-access-chain

Change-Id: Id21ca55bcbc067b29105bb0b66f78b15f2a52a8d

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Alexander Galazin [Thu, 25 Mar 2021 10:15:11 +0000 (13:15 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: Ic5abe4e31f3520d5ba7d02a31f38c256a26b56f2

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

Change-Id: I5517ebda304e88850ec6cd29bebce290aa237723

3 years agoQPA image viewer updates
Ricardo Garcia [Wed, 24 Mar 2021 14:19:50 +0000 (15:19 +0100)]
QPA image viewer updates

This commit fixes two issues with the HTML QPA image viewer tool:

* Make Firefox use nearest scaling for images.
* Add a "clear text" button to the text paste input field.

Change-Id: I3eb4222c4962c0de90978b580c768c1157abb1f4

3 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

3 years agoAdd an option to terminate after first failure, update READMEs
Sławomir Cygan [Fri, 5 Mar 2021 16:02:06 +0000 (17:02 +0100)]
Add an option to terminate after first failure, update READMEs

New command line argument: --deqp-terminate-on-fail=enable

Moreover update the READMEs:
 - update the command line documentation in OpenGL CTS Readme
 - add a chapter on Vulkan CTS command line
 - Move --deqp-runner-type= from chapter describing allowed CTS command line

Components: Framework

VK-GL-CTS Issue 2844

Change-Id: I4c6b339838a50fc2ddc0d493ac905f502179792d

3 years agoTerminate with an error if unrecognized arguments are passed to dEQP executable
Slawomir Cygan [Wed, 10 Mar 2021 16:50:37 +0000 (17:50 +0100)]
Terminate with an error if unrecognized arguments are passed to dEQP executable

de::cmdline seems to support options (starting with '-' or '--') and generic
arguments.

It seems the command line interface of dEQP, which wraps de:cmdline,  was
not making any use of the arguments, but at the same time ignored them.
This made a possibility for unrecognized command line arguments to be
completely ignored, instead of throwing and error

Components: Framework

VK-GL-CTS Issue: 2727

Change-Id: Ibea7413edec2899d33484ac8bb8183c4f4d398ac

3 years agoEnsure only Unix paths are added to deqp.apk
Vihanakangas [Mon, 15 Mar 2021 13:07:25 +0000 (15:07 +0200)]
Ensure only Unix paths are added to deqp.apk

Workaround for adding paths to deqp.apk
when using Windows as a build platform.

Components: Framework, Android

VK-GL-CTS issue: 2810

Change-Id: Id37cb13f3ab8a2636e43454ed0e00275a0e2ff52

3 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Fri, 19 Mar 2021 11:05:09 +0000 (12:05 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I228e2d537618b1c9b6b0cd631bd0fd1f8db13d82

3 years agoMerge pull request #216 from werman/tests/xfb_explicit_location
Alexander Galazin [Fri, 19 Mar 2021 11:04:23 +0000 (14:04 +0300)]
Merge pull request #216 from werman/tests/xfb_explicit_location

Add tests for XFB output of matrices/arrays/structs with explicit location (GL_ARB_enhanced_layouts)

3 years agoAdd tests to exercise 'readonly' SSBOs
Jeff Bolz [Thu, 3 Dec 2020 13:55:34 +0000 (07:55 -0600)]
Add tests to exercise 'readonly' SSBOs

Extend the robustness2 and ssbo test groups to have 'readonly'
SSBO variants. These declare the SSBO variable as 'readonly' and
skip the stores.

Change the SSBO tests from 'result = result && compare()' to
'result = compare() && result'. This puts multiple loads in the
same basic block and makes vectorization more likely, which makes
the tests more stressful.

Component: Vulkan
Affects: dEQP-VK.robustness.robustness2.*
Affects: dEQP-VK.ssbo.*
Change-Id: Ic35fdb00a382cf0d2911e51da7ab9fc50846340d

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
(cherry picked from commit b5328021844d8fcca5d0facc327f1e31785ed880)

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*