platform/upstream/VK-GL-CTS.git
5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 17 Jul 2019 14:56:33 +0000 (16:56 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Id12a00bbda70fad868cca67e2b94959c35a99554

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Wed, 17 Jul 2019 13:59:49 +0000 (15:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: I7511a56dec3ae742774a2f6d76f103410e81eb94

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Tue, 16 Jul 2019 16:34:23 +0000 (18:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Ic5126bd75b2616bdd9525d65eca95dc170475ced

5 years agoAdd compatible memory type check for given handle
Igor Ostrowski [Mon, 15 Apr 2019 07:56:39 +0000 (09:56 +0200)]
Add compatible memory type check for given handle

Affects:
dEQP-VK.synchronization.win32_keyed_mutex.*

Components: Vulkan
VK-GL-CTS issue: 1866

Change-Id: I982bcd2e2ac15aa5cae403fcec859b28bcaf7999

5 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Tue, 16 Jul 2019 11:54:24 +0000 (13:54 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: Ica01d13044d1c2a570bd692742327b096d80e9b3

5 years agoUpdate Vulkan headers to 1.1.115
Jeff Bolz [Mon, 15 Jul 2019 15:57:10 +0000 (10:57 -0500)]
Update Vulkan headers to 1.1.115

Should be no functional change, just brings the header up to date
to ease submitting new tests for those extensions.

Components: Vulkan
Change-Id: I9ed667ccf4eba57b057ff30d7117832516feb380

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Mon, 15 Jul 2019 11:34:07 +0000 (13:34 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I84e7ad3f3b21dfd8aaf4a5cda04946ba274a0d14

5 years agoAdd tests for VK_EXT_shader_subgroup_ballot
Samuel Iglesias Gonsálvez [Mon, 3 Jun 2019 10:57:58 +0000 (12:57 +0200)]
Add tests for VK_EXT_shader_subgroup_ballot

Add tests for read*InvocationsARB() and other defines added by
VK_EXT_shader_subgroup_ballot extension.

Tests are based on the existing ones for subgroup's ballot feature but
adapted to the extension.

These tests don't check the gl_SubGroup*MaskARB variables, they will
be added in other CL.

New tests:

dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.*
dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.*

Components: Vulkan
VK-GL-CTS issue: 1692

Change-Id: Ic694c371245ebde5883f507c26cd6caead15ed87

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 12 Jul 2019 16:20:31 +0000 (18:20 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ic48b694d4bd7df7cb8f593479a9b750320b9d2e2

5 years agoFix image layouts in descriptor indexing tests
Slawomir Cygan [Fri, 12 Jul 2019 13:02:16 +0000 (15:02 +0200)]
Fix image layouts in descriptor indexing tests

This is a fix for regression introduced in 4301d73b3
- in fact this is a partial revert of that change.

After 4301d73b3, the current image layout (READ_ONLY_OPTIMAL) was
different than image layout used in descriptor set bindings
(GENERAL), what is invalid.

As some of these descriptor set binding are used for STORAGE_IMAGEs,
which require images in GENERAL layout, the simplest fix was to revert
back to using GENERAL layouts.

Components: Vulkan

VK-GL-CTS Issue: 1881

Change-Id: Idac940135bafe6be6e456d0ec554d5cc3c3fc8e7
Affects: dEQP-VK.descriptor_indexing.*

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Fri, 12 Jul 2019 10:27:44 +0000 (12:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: Idbcbb73a767b6d267c0c2215d6bdc9739b2096eb

5 years agoUpdate KC CTS
Alexander Galazin [Fri, 12 Jul 2019 09:00:34 +0000 (11:00 +0200)]
Update KC CTS

Components: Framework

Affects: dEQP-GL.*

Change-Id: I213498330f160e0d1b8e8c2bdd58d8b521a10be7

5 years agoFix random generation for isinf/isnan tests
Graeme Leese [Wed, 19 Jun 2019 14:14:45 +0000 (15:14 +0100)]
Fix random generation for isinf/isnan tests

There were two copies of the generator that were essentially the same,
so I've used a function for it. No normal values were ever being
generated that had the top bit of the exponent set or that had the top
bit of the mantissa unset. This meant that silly errors like testing the
wrong set of bits might not be caught by the tests.

The new generator still only generates quiet Nans, which may be a
mistake.

Components: Vulkan
Affects: dEQP-VK.glsl.builtin.function.common.isinf.*
         dEQP-VK.glsl.builtin.function.common.isnan.*

Change-Id: I7ca64dbcb327b4bbf6687ebb2d61a47c328d514b

5 years agoAdd QueryIndexed tests when streamId is zero
Samuel Iglesias Gonsálvez [Mon, 13 May 2019 08:31:44 +0000 (10:31 +0200)]
Add QueryIndexed tests when streamId is zero

In the case where streamID==0, it is legal to use cmdBeginQuery paired
with cmdEndQueryIndexedEXT (and vice versa).

Added tests:

   dEQP-VK.transform_feedback*queryindexed*

Components: Vulkan
VK-GL-CTS issue: 1772

Change-Id: I701916c4dc38826e9874976649f4ae57cac42614

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Fri, 12 Jul 2019 08:56:38 +0000 (10:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I3ee381095ae5e6ffe4c3d581fd4de06cf1f7c8ec

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Fri, 12 Jul 2019 07:47:09 +0000 (09:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I01ed4686a43801a91df0459b821fd047f4858940

5 years agoRemove conformance version test from Android
Boris Zanin [Mon, 8 Jul 2019 13:27:50 +0000 (15:27 +0200)]
Remove conformance version test from Android

Removes conformance version tests from android CTS.

Split tests designed to validate VK_KHR_driver_properties
into several smaller tests.

Add three more records into knownDriverIds.

Add:
 * dEQP-VK.api.driver_properties.*

Remove:
 * dEQP-VK.api.driver_properties

Components: vulkan

VK-GL-CTS issue: 1839

Change-Id: I9b591778c9833fd890c9af46cb87d9f5eb695dbd

5 years agoFix Android WSI incremental present image tests
Mike Byrne [Mon, 1 Jul 2019 10:53:36 +0000 (11:53 +0100)]
Fix Android WSI incremental present image tests

The pipeline for Android WSI incremental present image tests was not
provided with a valid scissor rect. This caused the tests to perform
incorrectly (and violates Vulkan requirements).

Affects: dEQP-VK.wsi.android.incremental_present.*

VK-GL-CTS Issue: 1867

Change-Id: I257ab8ae59a13e24fb299b6b47e925f3c105aecb
Components: Vulkan, AOSP

5 years agoUpdate glslang
David Neto [Thu, 11 Jul 2019 15:21:43 +0000 (11:21 -0400)]
Update glslang

Pulls in https://github.com/KhronosGroup/glslang/pull/1832:
Avoid generating 8/16-bit constants when 8/16-bit arithmetic extensions
aren't enabled.

Glslang commit is protected by tag
https://gitlab.khronos.org/GLSL/glslang/tags/GL_EXT_shader_subgroup_extended_types-2019-07-11

Change-Id: Ib90fd91d5b14d441bae07de13200cf8951dbb2fb

5 years agodEQP-VK.graphicsfuzz.color-write-in-loop
Paul Thomson [Mon, 1 Jul 2019 14:16:09 +0000 (15:16 +0100)]
dEQP-VK.graphicsfuzz.color-write-in-loop

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.color-write-in-loop

Change-Id: I1f5450fbfa7d421eb61d2b0ed9d4fbb90e126137

5 years agodEQP-VK.graphicsfuzz.matrices-and-return-in-loop
Paul Thomson [Mon, 1 Jul 2019 14:12:19 +0000 (15:12 +0100)]
dEQP-VK.graphicsfuzz.matrices-and-return-in-loop

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.matrices-and-return-in-loop

Change-Id: I17a8ccf8ea2c5e8f1914d27fa7bc0d3bceb130ad

5 years agoExclude dEQP-VK.ssbo.layout.random.scalar.75
Alex Walters [Thu, 11 Jul 2019 14:17:53 +0000 (15:17 +0100)]
Exclude dEQP-VK.ssbo.layout.random.scalar.75

Remove dEQP-VK.ssbo.layout.random.scalar.75 from mustpass, added to
excluded test list. The shader length is quite extreme resulting in an
overly high runtime where certain devices can easily hit the watchdog.

Affects:

dEQP-VK.ssbo.layout.random.scalar.75

Components: Vulkan
VK-GL-CTS Issue: 1829

Change-Id: I57627fc895ed4a0e023e9f81e0cc6cdc203d2485

5 years agodEQP-VK.graphicsfuzz.early-return-and-barrier
Paul Thomson [Mon, 1 Jul 2019 14:17:58 +0000 (15:17 +0100)]
dEQP-VK.graphicsfuzz.early-return-and-barrier

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.early-return-and-barrier

Change-Id: I72818ac38bb0552f286a70b82f23907ada8a7059

5 years agodEQP-VK.graphicsfuzz.if-and-switch
Paul Thomson [Mon, 1 Jul 2019 14:08:31 +0000 (15:08 +0100)]
dEQP-VK.graphicsfuzz.if-and-switch

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.if-and-switch

Change-Id: Ifc16e1b2a77c8ca2b564d31d7ba30c23b615c4b9

5 years agoTest DMA buffers as external image memory
Ricardo Garcia [Tue, 2 Jul 2019 15:30:19 +0000 (17:30 +0200)]
Test DMA buffers as external image memory

Enable external image memory tests for DMA buffers.

New tests:
dEQP-VK.api.external.memory.dma_buf.*.image.*

Components: Vulkan
VK-GL-CTS issue: 1863

Change-Id: I62037a64aad24638ff52ac664505837ab1e4af3b

5 years agodEQP-VK.graphicsfuzz.dead-barriers-in-loops
Paul Thomson [Mon, 1 Jul 2019 14:41:35 +0000 (15:41 +0100)]
dEQP-VK.graphicsfuzz.dead-barriers-in-loops

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.dead-barriers-in-loops

Change-Id: I74a9f7375bef8d59b9948f7c94237c6ec6e2a40f

5 years agodEQP-VK.graphicsfuzz.barrier-in-loop-with-break
Paul Thomson [Mon, 1 Jul 2019 13:07:03 +0000 (14:07 +0100)]
dEQP-VK.graphicsfuzz.barrier-in-loop-with-break

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.barrier-in-loop-with-break

Change-Id: I862dc3cbf2f739123c2f0628159e92db2f8fd748

5 years agoTest 32-bit timestamp query results
Ricardo Garcia [Tue, 25 Jun 2019 11:46:25 +0000 (13:46 +0200)]
Test 32-bit timestamp query results

Obtain timestamp query results as both 32-bit and 64-bit numbers, using
both vkCmdCopyQueryPoolResults() and vkGetQueryPoolResults(). Verify all
results match and the lower 32 bits of the 64-bit results match the
32-bit results.

In addition, add a missing barrier in one of the timestamp tests and
refactor the way the timestamp validity bits are checked across
different tests.

New tests:
dEQP-VK.pipeline.timestamp.misc_tests.consistent_results

Components: Vulkan
VK-GL-CTS issue: 1849

Change-Id: I76769e8a3cf9fbfa5de9beefbc0993ffb2f2bef9

5 years agoAdd tests for VK_EXT_shader_subgroup_ballot
Samuel Iglesias Gonsálvez [Mon, 3 Jun 2019 10:57:58 +0000 (12:57 +0200)]
Add tests for VK_EXT_shader_subgroup_ballot

Add tests for read*InvocationsARB() and other defines added by
VK_EXT_shader_subgroup_ballot extension.

Tests are based on the existing ones for subgroup's ballot feature but
adapted to the extension.

These tests don't check the gl_SubGroup*MaskARB variables, they will
be added in other CL.

New tests:

dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.*
dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.*

Components: Vulkan
VK-GL-CTS issue: 1692

Change-Id: Ic694c371245ebde5883f507c26cd6caead15ed87

5 years agoTest vkCmdCopyQueryPoolResults with transform feedback queries
Ricardo Garcia [Thu, 20 Jun 2019 15:48:33 +0000 (17:48 +0200)]
Test vkCmdCopyQueryPoolResults with transform feedback queries

Add tests to get transform feedback query results using
vkCmdCopyQueryPoolResults in addition to vkGetQueryPoolResults.

New tests:
dEQP-VK.transform_feedback.simple.query_copy*

Components: Vulkan
VK-GL-CTS issue: 1840

Change-Id: Ia5f5737be68a3af6ded71f0a93b3a398a7f99a97

5 years agoUpdate glslang
Alexander Galazin [Thu, 11 Jul 2019 09:29:37 +0000 (11:29 +0200)]
Update glslang

Components: Framework

Affects: dEQP-VK.*

Change-Id: I7b26c3f09bf33797b511dc127c878222f0a1c815

5 years agoFix for windows heights that are not a multiple of 4
Robert Tray [Fri, 7 Jun 2019 20:48:08 +0000 (14:48 -0600)]
Fix for windows heights that are not a multiple of 4

Adjust the number of rows in the buffer comparison to avoid going
too far when the window height is not a multiple of 4.

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

Affects : KHR-GLES31.core.draw_indirect.advanced-primitiveRestart-elements

Change-Id: I61d4ec93546171a45b17c5861996646023956eb3

5 years agoVK_EXT_fragment_shader_interlock tests
Jeff Bolz [Thu, 16 May 2019 04:27:53 +0000 (23:27 -0500)]
VK_EXT_fragment_shader_interlock tests

Components: Vulkan
New Tests: dEQP-VK.fragment_shader_interlock.*
VK-GL-CTS issue: 1856

Change-Id: I0246519ac51fcb2eb30fa264b02eb1f30c763e24

5 years agoExtra tests for SPIR-V 1.4
Alan Baker [Thu, 20 Jun 2019 17:46:57 +0000 (13:46 -0400)]
Extra tests for SPIR-V 1.4

New tests
 * OpPtrEqual and OpPtrNotEqual comparisons against different buffers
 * NonWritable on a function variable in a non-entrypoint function
 * Select between arrays
 * Select between nested arrays and structs
 * Select between pointers
 * Selet between vectors with vector condition

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.nonwritable.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opselect.*

VK-GL-CTS issue: 1855

Change-Id: Ie49d7a914cd7346d7da83d02f515a2772ae5bf94

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Alexander Galazin [Wed, 10 Jul 2019 11:15:12 +0000 (13:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master

Change-Id: Idcaa01ac910fd68a5f429ffb833990b25bec0622

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Wed, 10 Jul 2019 09:12:51 +0000 (11:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I34d0c949c112eb56427e54f1b0f34f730a1d0b27

5 years agoAdd support for building with Visual Studio 2019
Slawomir Cygan [Tue, 9 Jul 2019 10:19:26 +0000 (12:19 +0200)]
Add support for building with Visual Studio 2019

Components: Framework

Change-Id: I52c92750e9e2874b86fd7bceea0070ad609909c1

5 years agoDon't filter out 'duplicate' device features
Jeff Bolz [Tue, 9 Jul 2019 05:16:37 +0000 (00:16 -0500)]
Don't filter out 'duplicate' device features

Features that are actually duplicates will just have an 'alias' line
in the header file, and get automatically filtered out. Once we have
similarly named structures that differ only in suffix, we need to allow
duplicates and have the regex match by extension suffix as well

Components: Vulkan
Change-Id: I889d4f0bdd3dd8204122484c2ba07ec40a8e5cd0

5 years agoUpdate Vulkan headers to 1.1.114
Jeff Bolz [Tue, 9 Jul 2019 04:18:07 +0000 (23:18 -0500)]
Update Vulkan headers to 1.1.114

Should be no functional change, just brings the header up to date
to ease submitting new tests for those extensions.

Components: Vulkan
Change-Id: Iee09105fbc827b3445f295e62fd46d1d888c4d20

5 years agoFix VK_KHR_imageless_framebuffer tests
Boris Zanin [Mon, 17 Jun 2019 07:49:36 +0000 (09:49 +0200)]
Fix VK_KHR_imageless_framebuffer tests

Formats are referred to by a pointer to a variable allocated on
stack, which will become invalid before its usage.
Use permanent variable and pointer to it.

Update tests:
 * dEQP-VK.imageless_framebuffer.*

Components: Vulkan

VK-GL-CTS issue: 1477

Change-Id: Ic8ab76ec576168fd0bfc3aef9a08f6bab2392584
(cherry picked from commit 92c1b600fad9925a305e346b7de5fa5b6587008e)

5 years agoAdd tests for VK_KHR_imageless_framebuffer
Boris Zanin [Fri, 11 Jan 2019 13:08:43 +0000 (14:08 +0100)]
Add tests for VK_KHR_imageless_framebuffer

Implement imageless framebuffer extension tests.

Add tests:
 * dEQP-VK.imageless_framebuffer.color
 * dEQP-VK.imageless_framebuffer.depth_stencil
 * dEQP-VK.imageless_framebuffer.color_resolve
 * dEQP-VK.imageless_framebuffer.depth_stencil_resolve
 * dEQP-VK.imageless_framebuffer.multisubpass

Components: Vulkan

VK-GL-CTS issue: 1477

Change-Id: I2baa0614369a98afe2c028788824f50505bb291b
(cherry picked from commit 656826a55cb17850a0f33dacf671490715020efa)

5 years agoUpdate SPIRV Tools and Headers
Alexander Galazin [Fri, 5 Jul 2019 09:47:28 +0000 (11:47 +0200)]
Update SPIRV Tools and Headers

Components: Framework

Affects: dEQP-VK.*

Change-Id: Icc4789c9953d1e5e2240a36e9dcac52a59323126

5 years agoUpdate README
Alexander Galazin [Fri, 5 Jul 2019 09:44:59 +0000 (11:44 +0200)]
Update README

Components: Vulkan

Change-Id: Iaef83303332cc02b6c645252a976881532a9c481

5 years agoWhitelist Vulkan CTS 1.1.5.0
Alexander Galazin [Fri, 5 Jul 2019 09:36:02 +0000 (11:36 +0200)]
Whitelist Vulkan CTS 1.1.5.0

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: I5493e4a3cf0007c761a339d4e281d3fd94724023

5 years agoSPIR-V assembly tests require Invocations in Geometry shaders
Juan A. Suarez Romero [Tue, 2 Jul 2019 13:55:01 +0000 (15:55 +0200)]
SPIR-V assembly tests require Invocations in Geometry shaders

Validation layers are complaining about the lack of Invocation count in
several of the geometry spirv assembly tests.

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

Components: Vulkan

VK-GL-CTS issue: 1862

Change-Id: I3c3f44574bef0ad2d61b27f0b3d94f9e24924a92

5 years agoAllows initialisation of float16 values for comparison tests by casting.
Tom Cooper [Thu, 27 Jun 2019 16:14:22 +0000 (17:14 +0100)]
Allows initialisation of float16 values for comparison tests by casting.

Affects:
dEQP-VK.glsl.builtin.precision_fp16_storage32b.*

Components: Vulkan
VK-GL-CTS issue: 1860

Change-Id: I0e211dacf31a91d2cff2912440d4283bb5a2e492

5 years agoFix more 16bit denorms in precision tests
Graeme Leese [Thu, 27 Jun 2019 10:31:36 +0000 (11:31 +0100)]
Fix more 16bit denorms in precision tests

The denorm code that was fixed in: https://gerrit.khronos.org/#/c/4135/
still persisted in a different function that I hadn't noticed. Update it
there as well.

Because this function is being called on fixed floats, rather than on
random ones, I don't think the brokenness of the old code will cause a
practical problem, but the new version is simpler and more correct, so
I've changed it anyway.

Components: Vulkan
VK-GL-CTS issue: 1843
Affects: dEQP-VK.glsl.builtin.precision_fp16_storage32b.*

Change-Id: I6d6d7f8678f6edf41255e194650648c865b71e76

5 years agoCast invocation ID correctly in allequal tests
Graeme Leese [Fri, 28 Jun 2019 08:36:22 +0000 (09:36 +0100)]
Cast invocation ID correctly in allequal tests

The gl_SubgroupInvocationID was not being cast to the appropriate type
in the vote.allequal tests, so every type was testing the uint version.
The ARB extension tests worked around this by specifically casting to
bool because there is no uint version in the ARB extension. This version
casts the invocation ID to the appropriate type for the test. This part
of the test is skipped for boolean types because there may not be an
invocation with ID 0, so the results may all be equal ( == true),
contrary to the test's expectation.

Component: Vulkan
VK-GL-CTS issue: 1845
Affects: dEQP-VK.subgroups.vote.*

Change-Id: I98a01fa2398cc4cdc18125af2cc64f59a5d559ca

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 4 Jul 2019 12:16:40 +0000 (14:16 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I6982769529f0f4afdaf0d08c516526397d011784

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Thu, 4 Jul 2019 10:11:42 +0000 (12:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: I02390abaef46d2859360a3757a7e14dd830853ae

5 years agoForbid non-ascii symbols in source files
Boris Zanin [Wed, 19 Jun 2019 16:39:31 +0000 (18:39 +0200)]
Forbid non-ascii symbols in source files

Enforce usage of ascii symbols only by adding one more check
into check-all target. Adds check_encdoing.py file into scripts.

More details please see in the issue.

Components: Framework

VK-GL-CTS issue: 1836

Change-Id: I702d1338bf1ee7180b87e51151b26a5ac17afbdd

5 years agoTest image load/store with packed formats
Toni Merilehti [Wed, 5 Jun 2019 13:05:10 +0000 (16:05 +0300)]
Test image load/store with packed formats

This CL adds image load/store tests for the packed formats
requiring the StorageImageExtendedFormats SPIR-V capability.
The thresholds in the result verification are now based
on the channel class and bit depths of the components.

The shader generation is modified to store also negative
values on signed formats.

New tests:

dEQP-VK.image.store.*pack32*
dEQP-VK.image.load_store.*pack32*
dEQP-VK.image.format_reinterpret.*pack32*

Affects:

dEQP-VK.image.store.*
dEQP-VK.image.load_store.*
dEQP-VK.image.format_reinterpret.*
dEQP-VK.image.qualifiers.restrict.*

Components: Framework, Vulkan

VK-GL-CTS issue: 1814

Change-Id: Ia2d061dbfd9c19ade8057398dd78692b5a28c029

5 years agoEnable strong-typed DE_LENGTH_OF_ARRAY for every compiler
Ricardo Garcia [Mon, 24 Jun 2019 09:22:56 +0000 (11:22 +0200)]
Enable strong-typed DE_LENGTH_OF_ARRAY for every compiler

The C++ strong-typed version of DE_LENGTH_OF_ARRAY should work with
every C++ compiler. This commit removes the restriction of being used
only with the Microsoft compiler.

Components: Framework
VK-GL-CTS issue: 1848

Change-Id: Id28c02ab4dfecefa84093578afca0da50b0bdd65

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 4 Jul 2019 07:34:10 +0000 (09:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Id458e912df4bb49e821279d353b056d4baaac114

5 years agoSplit shared_presentable_image tests into more dimensions to avoid timeout
Yiwei Zhang [Sat, 22 Jun 2019 02:14:25 +0000 (19:14 -0700)]
Split shared_presentable_image tests into more dimensions to avoid timeout

Components: Vulkan

VK-GL-CTS Issue: 1842

Affects: dEQP-VK.wsi.*.shared_presentable_image.*

Change-Id: I957c106b756fab4be5b17f7d0a6d9ad2a14fce75

5 years agoFix Android WSI shared presentable image test OOM
Mike Byrne [Mon, 24 Jun 2019 06:44:23 +0000 (07:44 +0100)]
Fix Android WSI shared presentable image test OOM

The dEQP-VK.wsi.android.shared_presentable_image.scale_down tests fail
intermittently with OOM errors. A simliar fix as implemented for
WSI incremental presentable image tests resolves this.

Affects: dEQP-VK.wsi.android.shared_presentable_image.scale_down.*

Components: Vulkan, AOSP

VK-GL-CTS Issue: 1858

Change-Id: Iee7a31560e46b6c449d14ec6e7c75d7406ae6d82

5 years agoFix Android WSI shared presentable image tests
Mike Byrne [Tue, 25 Jun 2019 13:39:53 +0000 (14:39 +0100)]
Fix Android WSI shared presentable image tests

The pipeline for Android WSI shared presentable image tests was not
provided with a valid scissor rect. This caused the tests to perform
incorrectly (and violates Vulkan requirements).

Affects:

dEQP-VK.wsi.android.shared_presentable_image.scale_down.demand
dEQP-VK.wsi.android.shared_presentable_image.scale_down.continuous

VK-GL-CTS Issue: 1857

Change-Id: I060c12d7192945ecbe01dfcc8e89c03874b9b218
Components: Vulkan, AOSP

5 years agoAdd tests for OpPtrAccessChain on Workgroup storage
Graeme Leese [Wed, 1 May 2019 13:46:46 +0000 (14:46 +0100)]
Add tests for OpPtrAccessChain on Workgroup storage

OpPtrAccessChain is supposed to work differently on workgroup storage
than on any other storage class but there were no tests for it. Add some
very basic testing.

Components: Vulkan
New Tests: dEQP-VK.spirv_assembly.instruction.compute.ptr_access_chain.*

Change-Id: I91d95fb239d3be6bfb86db88f842e19101f5976d

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 3 Jul 2019 12:16:17 +0000 (14:16 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I7bb66dcca57f576b1755468bdbffe38e28efb1e2

5 years agoSpeed up hierarchy traversal, part 1
Jari Komppa [Tue, 18 Jun 2019 12:15:09 +0000 (15:15 +0300)]
Speed up hierarchy traversal, part 1

Some of the tests do premature heavy work during test hierarchy
traversal, meaning that they waste time regardless of whether the tests
are run or not. These changes move some of that heavy work to later
stage of the test run.

Affects:

dEQP-VK.ubo.*
dEQP-VK.ssbo.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1830

Change-Id: I437e55ee2d57efc69edf62a213f7476a22b1a2f0

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 3 Jul 2019 09:45:41 +0000 (11:45 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I356a60237ea585102d543cd71d54d0ff43df5040

5 years agoFix feature requirements of sample mask tests
Ilkka Saarelainen [Wed, 26 Jun 2019 09:02:15 +0000 (12:02 +0300)]
Fix feature requirements of sample mask tests

Some multisample sample mask tests required sampleRateShading feature
even though it is not actually needed.

This CL removes the feature requirement from those tests.

Following tests don't actually depend on the feature and no longer
require it:
dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.pattern.*
dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.write.*

Affects:
dEQP-VK.pipeline.multisample_shader_builtin.sample*

Components: Vulkan

VK-GL-CTS issue: 1745

Change-Id: Ib894149c9991edd10ae1961e7aaf6678eb0e6b5a

5 years agoFix derivate dynamic tests to check shader stage support
Jeff Leger [Tue, 25 Jun 2019 21:19:33 +0000 (17:19 -0400)]
Fix derivate dynamic tests to check shader stage support

The tests used subgroup ballot operations but didnt
check if the fragment shader stage was supported. This lead
the application to run unsupported tests.

Affects:

dEQP-VK.glsl.derivate.*

Components: Vulkan

VK-GL-CTS issue: 1852

Change-Id: I43b80dc03d0944c407cd86b1df4ae0b9a633c680

5 years agoFix rounding when casting to integer
Nicolas Capens [Wed, 19 Jun 2019 21:33:02 +0000 (17:33 -0400)]
Fix rounding when casting to integer

Normalized values that were sampled from textures and have been scaled
by their maximum magnitude will be close to their unnormalized integer
value but may be slightly less. Subsequent casting to integer (with
rounding towards zero) may therefore result in a value one-off from the
original.

Use round-to-nearest to ensure the correct integer value is produced.

Fixes: #151
VK-GL-CTS public issue: 151
VK-GL-CTS issue: 1853
Affects: dEQP-VK.memory.pipeline_barrier.all.*
Components: Vulkan
Change-Id: I435d41145c83957db15c74ea394e89faf142c2a3

5 years agoFix template usage in precision tests
Graeme Leese [Tue, 25 Jun 2019 14:55:26 +0000 (15:55 +0100)]
Fix template usage in precision tests

The definitions were duplicated for float and deFloat16 even though that
is one of the template parameters. Use the parameters properly and we
only need one copy.

Components: Vulkan
Affects (trivially): dEQP-VK.glsl.builtin.precision*

Change-Id: Ic5487f43944cd6b8f8e8b04430a85df90b0407f4

5 years agoEnable OpFMod testing for 16-bit
Graeme Leese [Thu, 20 Jun 2019 10:21:28 +0000 (11:21 +0100)]
Enable OpFMod testing for 16-bit

This is currently disabled, so enable a 16-bit version of the 32-bit
tests.

Component: Vulkan
VK-GL-CTS issue: 1354
New tests: dEQP-VK.glsl.builtin.precision_fp16_storage16b.mod.*
           dEQP-VK.glsl.builtin.precision_fp16_storage32b.mod.*

Change-Id: I78dcb9fe55201a0ab26de9973405c3fe3121f668

5 years agoCheck every available device and host time domains
Ricardo Garcia [Thu, 20 Jun 2019 11:59:45 +0000 (13:59 +0200)]
Check every available device and host time domains

Use every available device and host time domains in calibrated timestamp
tests, as well as every combination of device and host domains in tests
that combine both.

Affected tests:
dEQP-VK.pipeline.timestamp.calibrated.*

Components: Vulkan
VK-GL-CTS issue: 1837

Change-Id: I947a865f1a6a1ee48b8446fe575a324097f2bcae

5 years agoFix memory commitment tests for devices with no lazily allocated memory
Ricardo Garcia [Fri, 21 Jun 2019 09:30:02 +0000 (11:30 +0200)]
Fix memory commitment tests for devices with no lazily allocated memory

Make every memory commitment test fail with NotSupportedError when the
physical device does not support lazily allocated memory.

In addition, check memoryTypeCount and memoryHeapCount in every call to
getPhysicalDeviceMemoryProperties so as to be able to iterate safely
over the result later.

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

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

Change-Id: I527eb9176cb7450fbb7acccae94478e27159da79

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Wed, 3 Jul 2019 07:43:53 +0000 (09:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: Id80ae8bccbc3cac86a28160830c777ac13ac7cdc

5 years agoFix vertex binding stride in rasterization.primitive_size.points
Maciej Jesionowski [Tue, 25 Jun 2019 16:31:04 +0000 (18:31 +0200)]
Fix vertex binding stride in rasterization.primitive_size.points

The graphics pipeline is using two vertex input attributes: position and color.
The vertex binding stride was incorrectly set to only the size of position,
rather than the size of position and color.

Components: Vulkan
VK-GL-CTS issue: 1851

Affects:
dEQP-VK.rasterization.primitive_size.points.*

Change-Id: I9a55386652788672c94547938933b4969407ac86

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Wed, 3 Jul 2019 07:36:53 +0000 (09:36 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ia8d86834f1f832b02b10ece9e715524513e32020

5 years agoReformat and share the subgroup vote shader source
Graeme Leese [Tue, 2 Jul 2019 16:12:40 +0000 (17:12 +0100)]
Reformat and share the subgroup vote shader source

There were multiple copies of this code all over the place, but they
were formatted differently so that I couldn't even cut-and-paste fixes
between them!

Format them all the same, and use a common function for the two that
were (trivial mistakes aside) actually identical.

Components: Vulkan
Affects (trivially): dEQP-VK.subgroups.vote.*

Change-Id: Ic858717114f01fcb0783882057e4a95cfb8d8cad

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 2 Jul 2019 10:44:34 +0000 (12:44 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I6cbad2a23fab5565af2ed612b0262abefd5b649f

5 years agoFix Clang 8 and GCC 9 warnings
Mika Väinölä [Tue, 9 Apr 2019 13:28:45 +0000 (16:28 +0300)]
Fix Clang 8 and GCC 9 warnings

Rename some TYPE_LAST and STATE_LAST enums that produce variable
shadowing warnings with Clang 8. Reimplement tcu::Format::Hex methods
using stringstream and IO manipulators instead of format strings
and add a cast to deUint32 to fix warnings on GCC 9.

Component: Framework

VK-GL-CTS issue: 1631

Change-Id: Ide4b25c106810b725c5ed7caaaf676f02e81b368
(cherry picked from commit 31dd7a0b3c38181ebdaf10bdc95f8c591734c342)

5 years agoMerge vk-gl-cts/mater into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 2 Jul 2019 09:06:34 +0000 (11:06 +0200)]
Merge vk-gl-cts/mater into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I9a8afe4b1d257bf17a6ee3e6326819b99a0b0759

5 years agoAdd spacing for upcoming GraphicsFuzz tests
Paul Thomson [Mon, 1 Jul 2019 13:01:53 +0000 (14:01 +0100)]
Add spacing for upcoming GraphicsFuzz tests

Components: Vulkan

Affects (trivially): dEQP-VK.graphicsfuzz.*

Change-Id: I2495fd57223e932a895b01385f27aa12ad18b233

5 years agoReformat and share the subgroup vote shader source
Graeme Leese [Thu, 27 Jun 2019 16:25:48 +0000 (17:25 +0100)]
Reformat and share the subgroup vote shader source

There were multiple copies of this code all over the place, but they
were formatted differently so that I couldn't even cut-and-paste fixes
between them!

Format them all the same, and use a common function for the two that
were (trivial mistakes aside) actually identical.

Components: Vulkan
Affects (trivially): dEQP-VK.subgroups.vote.*

Change-Id: Ic858717114f01fcb0783882057e4a95cfb8d8cad

5 years agoRemove unneeded casts from EXT subgroup vote tests
Graeme Leese [Thu, 27 Jun 2019 15:57:11 +0000 (16:57 +0100)]
Remove unneeded casts from EXT subgroup vote tests

There were a lot of casts to bool that weren't actually required, and
were somewhat hiding an issue with something that should have been cast
but was not.

Components: Vulkan
VK-GL-CTS issue: 1845
Affects (trivially):
  dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.*allinvocationsequalarb*

Change-Id: I38f999cfaa2d578ac3e6b43934fa2735ea1b2b09

5 years agoFix install_apk.py Python 3 migration
Tim Van Patten [Wed, 19 Jun 2019 15:49:56 +0000 (09:49 -0600)]
Fix install_apk.py Python 3 migration

The current install_apk.py hits errors with Python3 which this attempts
to address.

VK-GL-CTS issue: 1665

Change-Id: I38cb2ffc991f19a8cb95cef4d102a968c4a78bf2

5 years agoRemove unary plus operator tests
Graeme Leese [Wed, 19 Jun 2019 10:47:34 +0000 (11:47 +0100)]
Remove unary plus operator tests

There's no such operator in SPIR-V, so it doesn't make sense to test the
handling of it in Vulkan drivers.

Components: Vulkan
Removed tests: dEQP-VK.glsl.operator.unary_operator.plus.*

Change-Id: Id470a3eab7e3a2ddab1e7c55252a3c45a666020c

5 years agoAdd more image dimensions to image clearing tests
Ari Suonpaa [Thu, 18 Apr 2019 11:43:00 +0000 (14:43 +0300)]
Add more image dimensions to image clearing tests

Image clearing tests now cover pot, npot, odd, and
even dimensions.

New tests:

dEQP-VK.api.image_clearing.*

Components: Vulkan

VK-GL-CTS issue: 1718
Change-Id: Ibe53aa8cc10c9c7e804119b11308c3ed047bec95

5 years agoClean up historical mustpasses for Android CTS
Chris Forbes [Thu, 27 Jun 2019 17:08:15 +0000 (10:08 -0700)]
Clean up historical mustpasses for Android CTS

These are a maintenance burden with very little benefit. We have not
done historical mustpasses for the O, P, or Q releases, and there were
no issues.

Change-Id: I5404cc8370bcce27d8afb25c5a143eb1aede89f6

5 years agogles2: Add tests for EXT_clip_control
Gert Wollny [Wed, 15 May 2019 10:12:06 +0000 (12:12 +0200)]
gles2: Add tests for EXT_clip_control

These teste are a port of gl4cClipControlTests.cpp/hpp to GLES2.

Apart from requiring EXT_clip_control the depth range tests also make
use of functionality from NV_read_depth.

v2: - Fix include protector
    - test NV_read_depth in init function instead of using the constructor
    - squash commits into one (alegal-arm)

v3: - Fix copy-paste error (Tapani Pälli)
    - Update license year

v4: Add new tests to Khronos test list (Alexandros Galazin)

v5: Correct GLES version in comment (Alexander Galazin)

v6: - Fix comment for header guard
    - Replace use of NV_read_depth by a resolve draw of the depth buffer
      to a RGBA surface (James Glanville)

Change-Id: Ib6610552798b5a48445f4e2d490c72421460d4cf
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
5 years agoDifferentiate shader storage blocks needed for VS and FS
Alejandro Piñeiro [Tue, 18 Jun 2019 08:43:58 +0000 (10:43 +0200)]
Differentiate shader storage blocks needed for VS and FS

Opengl ES shader image load/store tests includes tests for VS and FS,
and it uses SSB for checking the outcome. But right now, when checking
if supported, it checks for the same required value on VS and FS
shaders, even if the test only requires for one or the other. This
leads to some unneeded skips on some drivers (for example, in some
drivers where the supported SSB for VS are 0, but it is supported for
FS).

This commit changes the method that checks the required SSB needed in
order to pass two required parameters (one for VS, other for FS),
instead of one common. This is what it is already done for image
uniforms.

Components: OpenGL-ES

VK-GL-CTS issue: 1834

Affects:
KHR-GLES31.core.shader_image_load_store.*

Change-Id: I30dda05f1f670a779fc8f08c331245559896dd0d

5 years agoFix build for concurrent draw tests
Graeme Leese [Thu, 27 Jun 2019 09:23:15 +0000 (10:23 +0100)]
Fix build for concurrent draw tests

These tests didn't build following the change to consolidate the helper
functions.

Components: Vulkan
Affects: dEQP-VK.draw.concurrent.compute_and_triangle_list

Change-Id: Ide173aa67ce7e2db77c66ab7ff299b9a275fdf01

5 years agoAdd test for concurrent draw and compute
Jari Komppa [Wed, 3 Apr 2019 11:59:23 +0000 (14:59 +0300)]
Add test for concurrent draw and compute

Added test that performs compute and drawing at the same time.

New tests:

dEQP-VK.draw.concurrent.compute_and_triangle_list

Components: Vulkan

VK-GL-CTS issue: 1661

Change-Id: I956ceafa705c6648df887f0cd1866ce7c9d902ce

5 years agoRemove duplicate floating-point precision testing
Graeme Leese [Thu, 6 Jun 2019 17:03:49 +0000 (18:03 +0100)]
Remove duplicate floating-point precision testing

The canonical testing for these operations is in the precision test
set (dEQP-VK.glsl.builtin.precision.*)

Components: Vulkan
Removed tests: dEQP-VK.glsl.operator.angle_and_trigonometry.*
               dEQP-VK.glsl.operator.exponential.*
               dEQP-VK.glsl.operator.common_functions.abs.*
               dEQP-VK.glsl.operator.common_functions.sign.*
               dEQP-VK.glsl.operator.common_functions.floor.*
               dEQP-VK.glsl.operator.common_functions.trunc.*
               dEQP-VK.glsl.operator.common_functions.roundEven.*
               dEQP-VK.glsl.operator.common_functions.ceil.*
               dEQP-VK.glsl.operator.common_functions.fract.*
               dEQP-VK.glsl.operator.common_functions.mod.*
               dEQP-VK.glsl.operator.common_functions.min.*_float_*
               dEQP-VK.glsl.operator.common_functions.min.*_vec?_*
               dEQP-VK.glsl.operator.common_functions.max.*_float_*
               dEQP-VK.glsl.operator.common_functions.max.*_vec?_*
               dEQP-VK.glsl.operator.common_functions.clamp.*_float_*
               dEQP-VK.glsl.operator.common_functions.clamp.*_vec?_*
               dEQP-VK.glsl.operator.common_functions.mix.*
               dEQP-VK.glsl.operator.common_functions.step.*
               dEQP-VK.glsl.operator.common_functions.smoothstep.*
               dEQP-VK.glsl.operator.geometric.*
               dEQP-VK.glsl.builtin.function.common.abs.float_*
               dEQP-VK.glsl.builtin.function.common.abs.vec?_*
               dEQP-VK.glsl.builtin.function.common.sign.float_*
               dEQP-VK.glsl.builtin.function.common.sign.vec?_*
               dEQP-VK.glsl.builtin.function.common.floor.*
               dEQP-VK.glsl.builtin.function.common.trunc.*
               dEQP-VK.glsl.builtin.function.common.round.*
               dEQP-VK.glsl.builtin.function.common.roundeven.*
               dEQP-VK.glsl.builtin.function.common.ceil.*
               dEQP-VK.glsl.builtin.function.common.fract.*
               dEQP-VK.glsl.builtin.function.common.modf.*
               dEQP-VK.glsl.builtin.function.common.frexp.*
               dEQP-VK.glsl.builtin.function.common.ldexp.*
               dEQP-VK.glsl.builtin.function.common.fma.*

Change-Id: I0275ef991f5ab857468f02b0860d7f25718543c0

5 years agoCheck consistency of GetPhysicalDeviceSparseImageFormatProperties
Chris Forbes [Wed, 5 Jun 2019 01:33:42 +0000 (18:33 -0700)]
Check consistency of GetPhysicalDeviceSparseImageFormatProperties

This function should not advertise any support if the device does not
support the sparseBinding feature at all.

Components: Vulkan

Affects: dEQP-VK.api.info.sparse_image_format_properties2.*

VK-GL-CTS Issue: 1816

Change-Id: I2037ac1a0096def401820670d510a6807d7bdf58

5 years agoFix denorm code for fp16-as-32 tests
Graeme Leese [Mon, 24 Jun 2019 14:35:12 +0000 (15:35 +0100)]
Fix denorm code for fp16-as-32 tests

The tests for 16-bit operations with 32-bit storage were attempting to
remove values that would become denormal in fp16 but they weren't doing
it properly.

Components: Vulkan
VK-GL-CTS issue: 1843
Affects: dEQP-VK.glsl.builtin.precision_fp16_storage32b.*

Change-Id: Idc08a2c75640dcc8f373b410e868ac07c37c2695

5 years agoAdd flags to check whether tests are supported
Sebastiano Cucinotta [Thu, 20 Jun 2019 13:14:13 +0000 (15:14 +0200)]
Add flags to check whether tests are supported

The function checkSupport was not receiving all the required testFlags,
which led the application to run not supported tests.

Affects:

dEQP-VK.draw.shader_draw_parameters.draw_index.*

Components: Vulkan

VK-GL-CTS issue: 1838

Change-Id: I0a89afe4c5e56d255a18a39c410ef4f1fe95b210

5 years agoFix depth stencil multisample image usage validation error
Samuel Iglesias Gonsálvez [Thu, 20 Jun 2019 06:46:56 +0000 (08:46 +0200)]
Fix depth stencil multisample image usage validation error

Usage for depth stencil multisample image must have
VK_IMAGE_USAGE_TRANSFER_SRC_BIT since multisampleAttachment's
finalLayout is VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL.

Affected tests:

  dEQP-VK.renderpass2.depth_stencil_resolve.*

Components: Vulkan
VK-GL-CTS issue: 1835

Change-Id: I1e6b6e8883ad276e8eb817449f2fffba2d1840e4

5 years agoFix protected memory swapchain tests
Piotr Byszewski [Fri, 14 Jun 2019 10:50:57 +0000 (12:50 +0200)]
Fix protected memory swapchain tests

This change resolves assertion hits that are generated by
protected memory swapchain tests when NOT_PROTECTED debug
flag is set.

Components: Vulkan

VK-GL-CTS issue: 1734

Affects:
dEQP-VK.protected_memory.*.swapchain.*

Change-Id: I5cc49330e5957c91632eaa0290394ccf3f01a0de

5 years agoReduce memory consumption in log parsing scripts
Fabio [Tue, 4 Jun 2019 15:09:17 +0000 (17:09 +0200)]
Reduce memory consumption in log parsing scripts

Updated .qpa to .xml conversion scripts to reduce memory consumption.

Before, the script was reading the whole .qpa file and storing it all in
memory. On top of that, it created xml.dom.minidom objects for each
testcase in the .qpa which were also stored in memory.

With this change, we create the .xml file at the same time that we parse
the .qpa which results in only one xml.dom.minidom object being created at
a time.

Components: Scripts

VK-GL-CTS issue: 1813

Change-Id: Iba4cb3bf6a94f57c481eb98a324b28638924075e

5 years agoFix typo in precision tests
Graeme Leese [Thu, 20 Jun 2019 10:06:25 +0000 (11:06 +0100)]
Fix typo in precision tests

The typedef is obviously for a vec2, not a vec1. This name isn't used
elsewhere in the tests, so this should not affect any actual tests.

Components: Vulkan
Affects: None

Change-Id: Ic425bce4f2f9ae52e6080cda02d64947d1336296

5 years agoFix wrong image usage flags in api feature info tests
Szymon Szczyrbak [Mon, 24 Jun 2019 07:21:33 +0000 (09:21 +0200)]
Fix wrong image usage flags in api feature info tests

According to spec:
  "If usage includes VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, usage must
   also contain at least one of VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
   VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, or
   VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT."

This change adds isValidImageUsageFlagCombination() checks, so invalid
usage flag combinations are not used in test.

VK-GL-CTS Issue: 1850

Components: Vulkan

Affects:
    dEQP-VK.api.info.image_format_properties2.*
    dEQP-VK.api.info.sparse_image_format_properties2.*

Change-Id: Ibc0249686c6ee91ab3758918ab4067694730134c

5 years agoRemove unessential non-ascii symbols from source
Boris Zanin [Fri, 21 Jun 2019 08:58:59 +0000 (10:58 +0200)]
Remove unessential non-ascii symbols from source

Several files contain symbols like zero width space,
unusual apostrophe, dash and several national symbols
instead of English.

This might be error prone (please see more details
in the issue).

Replace them to allow upcoming non-ascii validator
to pass.

Components: Framework

VK-GL-CTS issue: 1836

Change-Id: I3a274f14d117d5b1362f6ceeb20f096c8680b362

5 years agoPython3 compatibility: whitespace validation fix
Boris Zanin [Wed, 19 Jun 2019 13:39:57 +0000 (15:39 +0200)]
Python3 compatibility: whitespace validation fix

Make encoding independend from environment by enforcing ascii.
And ignore decoding errors (i.e. bytes with code greater 127)
due to they are not essential for whitespace validation.

Components: Framework

VK-GL-CTS issue: 1665

Change-Id: I140ed7ff520c651d38d53ff1a99665242c71d54b

5 years agoAdd more SPIR-V 1.4 tests based on Amber
David Neto [Wed, 27 Mar 2019 00:45:28 +0000 (20:45 -0400)]
Add more SPIR-V 1.4 tests based on Amber

Tests:
- New instructions: OpPtrDiff, OpPtrEqual, OpPtrNotEqual,
  OpDecorateString
- New decorations: UniformId, NonWritable, UserSemantic, CounterBuffer,
  NoSignedWrap, NoUnsignedWrap
- OpCopyMemory can have two sets of memory access operands
- OpEntryPoint lists all module-scope variables
- New loop controls
- New cases for OpSelect
- UConvert in OpSpecConstantOp for Shader modules

Local fixes:
- Update Amber to newer version that handles push constants.
  With MSVC, force Amber to use shared C Runtime DLL
- Modified the entrypoint tessellation control and evaluation tests to
  set TessLevelInner and TessLevelOuter.
- Modified the tessellation control tests to fix typos and apply Patch
  decoration.
- Artificially make all values within a buffer the same type, to
  accommodate a new Amber limitation.
  See https://github.com/google/amber/issues/497
- Loop control tests:
  - Reduce iteration count to match sample data, adjust loop control
  values
  - Make loop control match test file name
  - Use int data instead of float, so we can read int iteration count
    from storage.
  - Fix comment on all loop control tests
- Use StorageBuffer/Block instead of Uniform/BufferBlock
- Modify to use binding 0:
   comp_pc_entry_point.amber,
   wg_comparisons_equal.amber
   wg_comparisons_not_equal.amber
- Fix typo for TessLevelOuter builtin
- Fix method name on call to vkt::Context::getVariablePointersFeatures
- Fix whitespace issues in C++ code
- variable_pointers_vars_ssbo_2_diff.amber only needs
  VariablePointersStorageBuffer
- Fetch newer amber, fixing invalid requirement for fragment shader
  https://github.com/google/amber/issues/553

Extend vkt::AmberTestCase so it can track instance extensions, device
extensions, and feature bits.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.hlsl_functionality1.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.loop_control.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.nonwritable.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opcopymemory.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrdiff.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.opselect.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.uconvert.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.uniformid.*
dEQP-VK.spirv_assembly.instruction.spirv1p4.wrap.*

VK-GL-CTS issue: 1705

Change-Id: I1e0adde2258a4c5a313609f7f1d7b2b51be1a373

5 years agoPrevent fetch_sources.py from slaying the main repo
Slawomir Cygan [Tue, 18 Jun 2019 15:23:26 +0000 (17:23 +0200)]
Prevent fetch_sources.py from slaying the main repo

This fixes the unlikely case, when external/src/<foo>/.git folders
are missing, but <foo> folders somehow do exist.

Without this change fetch_sources.py would assume the <foo> folder
is a proper git checkout and just emit git commands in it - destroying
the main dEQP repository.

Instead, the git clone would just abort now.

Components: Framework

Change-Id: I226cd9e0771480f73fcf323b5e5f7313bc81fa8e

5 years agoCTS for EXT_texture_shadow_lod
Billy Clack [Tue, 9 Apr 2019 17:40:20 +0000 (10:40 -0700)]
CTS for EXT_texture_shadow_lod

This is a modified port of the es3fShaderTextureFunctionTests from the
dEQP suite. This MR ports that test over to the openglcts glesext
location and modifies it to only exercise spec functions defined in the
proposed EXT_texture_shadow_lod extension
(https://gitlab.khronos.org/opengl/WG-Docs/merge_requests/37).
Additionally cube map array support is added to the glcShaderRenderCase
source to support exercising the shadow cube map array functions.

The compare image fuzz value in glcShaderRenderCase.cpp is bumped from
0.5 to 0.7 to match a similar change made to
modules/glshared/glsShaderRenderCase.cpp after glcShaderRenderCase.cpp
was already ported over from that file.

Add KHR-GLES32.core.ext_texture_shadow_lod.texture.sampler2darrayshadow_vertex
to exclusion list of mustpass due to ASOP bug 21620051

The following tests are added:

KHR-GL30.ext_texture_shadow_lod.*
KHR-GL31.ext_texture_shadow_lod.*
KHR-GL32.ext_texture_shadow_lod.*
KHR-GL33.ext_texture_shadow_lod.*
KHR-GL40.ext_texture_shadow_lod.*
KHR-GL41.ext_texture_shadow_lod.*
KHR-GL42.ext_texture_shadow_lod.*
KHR-GL43.ext_texture_shadow_lod.*
KHR-GL44.ext_texture_shadow_lod.*
KHR-GL45.ext_texture_shadow_lod.*
KHR-GL46.ext_texture_shadow_lod.*
KHR-GLES32.core.ext_texture_shadow_lod.*
KHR-GLESEXT.ext_texture_shadow_lod.*

Excluding the following test:
KHR-GLES32.core.ext_texture_shadow_lod.texture.sampler2darrayshadow_vertex

Change-Id: If81179ce4f7b088a009c883a82cb6915fc06c8e6