platform/upstream/VK-GL-CTS.git
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 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 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

5 years agoRemove duplicate code from vktRenderPassTests.cpp
Graeme Leese [Tue, 18 Jun 2019 11:11:00 +0000 (12:11 +0100)]
Remove duplicate code from vktRenderPassTests.cpp

No functional change.

Components: Vulkan
Affects: dEQP-VK.renderpass{,2}.*

Change-Id: I5a929de896ebb851369de94073f456dd0f788158

5 years agoOnly test precision in compute stages
Graeme Leese [Wed, 5 Jun 2019 09:28:35 +0000 (10:28 +0100)]
Only test precision in compute stages

These functions are unlikely to be implemented differently in different
shader stages, so only test them in a single stage. This makes the code
quite a bit simpler.

This change also removes a significant amount of duplicated code and
code that is never used.

Component: Vulkan
Affects: dEQP-VK.glsl.builtin.precision*
Tests removed: dEQP-VK.glsl.builtin.precision*vertex.*
               dEQP-VK.glsl.builtin.precision*fragment.*

Change-Id: Id3d9a17b16796e70e20703fffe6dd8c0f2fecfd1

5 years agoFix synchronization issues in descriptor_indexing tests
Pawel Ksiezopolski [Wed, 12 Jun 2019 19:21:27 +0000 (21:21 +0200)]
Fix synchronization issues in descriptor_indexing tests

Some of the operations in descriptor_indexing caused image contents to be discarded.

Affects tests:
dEQP-VK.descriptor_indexing.*

Components: Vulkan

VK-GL-CTS issue: 1803

Change-Id: If368012d5b8524ef81dd07da8d9be2f1cfb9a907

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Wed, 19 Jun 2019 09:22:06 +0000 (11:22 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: I9be40b4aedc4dcc5ddfbbb6fe04250f9855183ef

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Wed, 19 Jun 2019 08:26:43 +0000 (10:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I790b99605bc605884329e9c71d58ce998443afe2

5 years agoAdd VK_EXT_shader_subgroup_vote extension tests
Samuel Iglesias Gonsálvez [Wed, 29 May 2019 14:42:29 +0000 (16:42 +0200)]
Add VK_EXT_shader_subgroup_vote extension tests

They are a subset of dEQP-VK.subgroups.vote* tests that check
invocationAnyARB(), invocationsAllARB() and invocationsAllEqualARB()
GLSL functions added by VK_EXT_shader_subgroup_vote on Vulkan.

Added tests:

  dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.*

Components: Vulkan
VK-GL-CTS issue: 1693

Change-Id: Iab549f5d470d58a3212f6161bbd257025060c2b5

5 years agoTest vkCmdClearAttachments with unused attachments
Ricardo Garcia [Thu, 16 May 2019 12:10:06 +0000 (14:10 +0200)]
Test vkCmdClearAttachments with unused attachments

As described in VK-GL-CTS issue #1771, it is possible to call
vkCmdClearAttachments with an aspect mask set but while the
corresponding attachment reference in the subpass is set to
VK_ATTACHMENT_UNUSED. The color clearing operation should ignore that
attachment.

New tests:
dEQP-VK.renderpass*.unused_clear_attachments.*

Components: Vulkan
VK-GL-CTS issue: 1771

Change-Id: I09b31d3090444cfc09afb03c57c66a857deed1fe

5 years agoMerge common util functions, part 2
Ilkka Saarelainen [Wed, 5 Jun 2019 10:25:42 +0000 (13:25 +0300)]
Merge common util functions, part 2

Many tests have their own util functions for creating commonly used
Vulkan objects.
This CL moves the following helper functions to the framework:

- makePipelineLayout()
- makeFramebuffer()
- makeCommandPool()

Affects: dEQP-VK.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1709

Change-Id: Ibf57e036ba7475bef17d9c17e4a56f95d2d4c767

5 years agoFixes DeviceFeatures long execution time
Matthew Netsch [Wed, 12 Jun 2019 19:47:26 +0000 (15:47 -0400)]
Fixes DeviceFeatures long execution time

Components: Framework
VK-GL-CTS Issue: 1828

Affects:
dEQP-VK.*

Change-Id: I43be4194aa7ef79b79d2fadd7ea4c7d12bfe5610

5 years agoSupport validation layers in push descriptor tests
Ricardo Garcia [Tue, 11 Jun 2019 10:08:36 +0000 (12:08 +0200)]
Support validation layers in push descriptor tests

Push descriptor tests created custom instances and devices without
taking into account the --deqp-validation command line option.

This commit exposes a couple of getValidationLayers() functions from
vktTestCase that were previously internal and allow easily obtaining the
list of validation layers from any point in the application.

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

Components: Vulkan
VK-GL-CTS issue: 1825

Change-Id: Ie35ffcbbc368e90755ff72c0579145aecadb036b

5 years agoFix sample read tests to use sample rate shading
Chris Forbes [Fri, 14 Jun 2019 19:38:05 +0000 (12:38 -0700)]
Fix sample read tests to use sample rate shading

- The first shader uses gl_SampleID, so needs to run with sample rate
shading.
- Require the sampleRateShading device feature

Affects: dEQP-VK.renderpass*.sampleread.*

Components: Vulkan

VK-GL-CTS Issue: 1832

Change-Id: Ic99ac60581a546deb674db273d6438af8b5b7595

5 years agoPull in TOT Vulkan headers
Jeff Bolz [Fri, 24 May 2019 18:55:44 +0000 (13:55 -0500)]
Pull in TOT Vulkan headers

Components: Vulkan, Framework

Affects: dEQP-VK.*

Change-Id: I36739ae4a5f5101712090767561cb5d50c2d6dab

5 years agoAdd tests without color buffer and with vertex only pipe
Ari Suonpaa [Fri, 17 May 2019 07:48:05 +0000 (10:48 +0300)]
Add tests without color buffer and with vertex only pipe

Modifies the existing depth, stencil, and query tests
to include variants where a color buffer and a fragment
shader are disabled. Added a new test for a vertex
only pipeline where a vertex position is written
into an SSBO.

Backported Amber feature checking from vulkan-cts-next-dev.

Affects:

dEQP-VK.pipeline.depth.*
dEQP-VK.pipeline.stencil.*
dEQP-VK.query_pool.statistics_query.vertex_only.*

New tests:

dEQP-VK.pipeline.vertex_only.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1770
Change-Id: Ie715583d850a6ab0c72775a2667ea06dbb139b21

5 years agoFix validation errors in YCbCr array layer tests
Mika Väinölä [Tue, 11 Jun 2019 13:46:08 +0000 (16:46 +0300)]
Fix validation errors in YCbCr array layer tests

An unused array layer 0 produced image layout errors. Make sure it is
in the valid layout but different from layer 1 by zero filling it.

Affects: dEQP-VK.ycbcr.format.*array*

Components: Vulkan

VK-GL-CTS issue: 1790

Change-Id: I4e2002961095642a17f326530d66bdf49e4fa3bd

5 years agoFix parameters given to getSyncAttribFunc
Tapani Pälli [Tue, 11 Jun 2019 05:53:12 +0000 (08:53 +0300)]
Fix parameters given to getSyncAttribFunc

EGL spec does not allow giving NULL as a value for the call. Patch
changes call parameters so that we give a proper value and invalid
parameter for fence that results in EGL_BAD_PARAMETER as expected
by the test.

VK-GL-CTS issue: 1812

Affects:
dEQP-EGL.functional.fence_sync.invalid.get_invalid_value

Change-Id: Iabec0c274cdcbff0ec4c7eaee5bcdc3a287f28ba
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
5 years agoFix texture limits in negative API tests
Graeme Leese [Mon, 3 Jun 2019 09:55:34 +0000 (10:55 +0100)]
Fix texture limits in negative API tests

The tests were using MAX_TEXTURE_SIZE where MAX_ARRAY_TEXTURE_LAYERS was
intended.

Components: OpenGL
VK-GL-CTS issue: 1804
Affects: dEQP-GLES3.functional.negative_api.texture.*max_width_height_depth
         dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.*max_width_height_depth

Change-Id: I8ba0bf7171b5b3e8a5d82211e926aa9dd2fff1bd

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Sun, 16 Jun 2019 19:18:26 +0000 (21:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: I919586de04b62658b2c75a9500bf7cab2eea99b0

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Sun, 16 Jun 2019 18:19:44 +0000 (20:19 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I98bb1ccddd45a95d1f146e3b37d77c89e712034b

5 years agoFix validation errors in buffer_device_address tests
Jeff Bolz [Sun, 9 Jun 2019 17:25:42 +0000 (12:25 -0500)]
Fix validation errors in buffer_device_address tests

These tests could violate the per-stage descriptor limits. Create an
empty descriptor set to use in place of the non-empty set if we run
out of space.

Components: Vulkan
Affects: dEQP-VK.binding_model.buffer_device_address.*
Change-Id: I7c252da604e7316f040fd3cc44091bfd405fc883

5 years agoEarly support check for tests (part 1)
Ari Suonpaa [Thu, 6 Jun 2019 12:14:36 +0000 (15:14 +0300)]
Early support check for tests (part 1)

Moved feature and extension checks into checkSupport function
which gets called before initPrograms. This speeds up the
test execution in case a test is not supported.

This change is divided into multiple parts to avoid touching
all test groups at once.

Affects:

dEQP-VK.rasterization.*
dEQP-VK.protected_memory.*
dEQP-VK.sparse_resources.*
dEQP-VK.api.*
dEQP-VK.conditional_rendering.*
dEQP-VK.descriptor_indexing.*
dEQP-VK.device_group.*
dEQP-VK.draw.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1786
Change-Id: Ib8ff54e501a843b346ac15c037e0e46e1eed2a24

5 years agoMake depth less predictable in renderpass tests
Boris Zanin [Tue, 4 Jun 2019 07:51:23 +0000 (09:51 +0200)]
Make depth less predictable in renderpass tests

Tests were using quite standard depths of 0.0 and 1.0.
Test now designed to use some value in between that implementations
have likely no fast clear shortcut for.

Update tests:
 * dEQP-VK.renderpass.*

Components: Vulkan

VK-GL-CTS issue: 1034

Change-Id: I32eb19fb86ad24d496e5832e4ed041bcf657ee97

5 years agoPython3 compatibility: silence gen_all.py and gen_egl.py
Boris Zanin [Fri, 7 Jun 2019 07:50:18 +0000 (09:50 +0200)]
Python3 compatibility: silence gen_all.py and gen_egl.py

Return back Python 2 behavior, suppressing messages generated
by gen_all.py and gen_egl.py.  These warnings seems make few
sense and most likely were blocked in Python2 for that reason.

Though they need to be analyzed, as some of them really reveal
inconsistencies in gl.xml and egl.xml files.

Components: Framework

VK-GL-CTS issue: 1665
VK-GL-CTS issue: 1820

Change-Id: I9858c374a251e84f85b3290158399e04a6d6ab76

5 years agoAdd VK_EXT_depth_range_unrestricted tests
Samuel Iglesias Gonsálvez [Tue, 23 Apr 2019 09:20:47 +0000 (11:20 +0200)]
Add VK_EXT_depth_range_unrestricted tests

Added tests check that depth values outside [0.0f, 1.0f] range are
properly supported by the drivers on different situations:
viewport depth range and clear value for depth buffer.

Also, it checks it works for different depth formats, if depth clamp is
enabled or disabled and for different values of W component of the
vertices.

Added new tests:

   dEQP-VK.pipeline.depth_range_unrestricted.*

Components: Vulkan
VK-GL-CTS issue: 1754

Change-Id: I7e16c22ebb468392b4c3dd710f4358595c4ef297
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
5 years agoRemove subpass clear colors initialization
Boris Zanin [Thu, 30 May 2019 09:28:37 +0000 (11:28 +0200)]
Remove subpass clear colors initialization

Subpass clear colors initialization is not used anywhere.
Attachment clears between subpass either makes no sense
or unimplemented. This code present since year 2015.
I doubt anyone need it.

Affects:
 * dEQP-VK.renderpass.*

Components: Vulkan

VK-GL-CTS issue: 1034

Change-Id: Ic0cd9be027b6b6c9523e8504a484266b383ea988

5 years agoSimplify precisions in GLSL precision tests
Graeme Leese [Mon, 3 Jun 2019 18:04:12 +0000 (19:04 +0100)]
Simplify precisions in GLSL precision tests

The legacy_precision functions obscured the fact that almost all of the
precisions for 32-bit are the same with the float16_int8 and without.
Preserve the switch only where there was a functioal difference in the
old code.

Also, remove some parts that are dealing with lowp. They're never used,
so they're just making the code more complicated.

Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision*.exp.*
         dEQP-VK.glsl.builtin.precision*.exp2.*
         dEQP-VK.glsl.builtin.precision*.log.*
         dEQP-VK.glsl.builtin.precision*.log2.*
         dEQP-VK.glsl.builtin.precision*.sin.*
         dEQP-VK.glsl.builtin.precision*.cos.*
         dEQP-VK.glsl.builtin.precision*.acos.*
         dEQP-VK.glsl.builtin.precision*.atan.*

Change-Id: I1361ffb9ca7cd7327a2511f3b53ce2986c12a038

5 years agoFix random number generation in GLSL precision tests
Graeme Leese [Wed, 5 Jun 2019 14:40:41 +0000 (15:40 +0100)]
Fix random number generation in GLSL precision tests

The random number generator was producing -1.0f with a probability of
15/16.

Component: Vulkan
VK-GL-CTS issue: 1815
Affects: dEQP-VK.glsl.builtin.precision.*

Change-Id: Ic740a78656b427acbb51ad15085bc53ed45a86dd

5 years agoRaise CMake required version to 3.0
Alexander Galazin [Thu, 6 Jun 2019 07:25:19 +0000 (09:25 +0200)]
Raise CMake required version to 3.0

SPIR-V Projects are raising CMake version to 3.0

Components: Framework

Affects: dEQP-VK.*, dEQP-GL*, dEQP-EGL.*

Change-Id: Ic281a482038684940926474a9cc0bca23d934ef9

5 years agoFix image_extent test to handle OOM errors
Alex Walters [Tue, 11 Jun 2019 15:42:33 +0000 (16:42 +0100)]
Fix image_extent test to handle OOM errors

The image_extent tests attempt to create a window with the maximum
supported extents, though it is not always possible to create such
a window due to platform memory constraints.

As long as the error was an out of memory error, allow the test to
pass. This fix only applies to the image_extent sub-test.

Affects:

dEQP-VK.wsi.*.swapchain.create.image_extent

Components: Vulkan

VK-GL-CTS issue: 1780

Change-Id: I5ac5439417424d101f6dc8d4f92da79b8fda2313

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 7 Jun 2019 09:15:43 +0000 (11:15 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I3133019d090b8a674bb8cbeba493c65e62e768f9

5 years agoImprove VK_KHR_swapchain coverage
Piotr Byszewski [Wed, 20 Feb 2019 14:45:18 +0000 (15:45 +0100)]
Improve VK_KHR_swapchain coverage

This change adds two tests that use two structures that were not used
till now in cts. Those structures are: VkImageSwapchainCreateInfoKHR
and VkBindImageMemorySwapchainInfoKHR.
image_swapchain_create_info test just creates swapchain images for
single device.
device_group2 test creates swapchain images for device group
consisting out of two devices. Half of each presentable imaga
is aliased to memory of diferent device in group.

Components: Vulkan

VK-GL-CTS issue: 1577

Affects:
dEQP-VK.wsi.*.swapchain.*.image_swapchain_create_info
dEQP-VK.wsi.*.swapchain.render.device_group2

Change-Id: I5927c607c808da5163655b4cc7a5fad5b595012c

5 years agoWhitelist Vulkan CTS 1.1.4.2
Alexander Galazin [Tue, 21 May 2019 08:31:32 +0000 (10:31 +0200)]
Whitelist Vulkan CTS 1.1.4.2

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I67bcb51a4bde4253c8cd81735729459cea3d0f24

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Thu, 6 Jun 2019 15:49:37 +0000 (17:49 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: I593e042d8a7ac25a1d09b07d3a222fe51bef4ebf

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 6 Jun 2019 15:10:54 +0000 (17:10 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Id4adb91216cbc973009a884cf29f1d6fa4412980

5 years agoHandle 1.0 vs 1.1 differences for VK_KHR_device_group
Joerg Wagner [Sun, 2 Jun 2019 16:11:57 +0000 (18:11 +0200)]
Handle 1.0 vs 1.1 differences for VK_KHR_device_group

Several entry points are expected to be enabled through
VK_KHR_device_group under Vulkan 1.0 but were moved to
VK_KHR_swapchain under Vulkan 1.1

Account for the subtle difference by taking the apiVersion
into account when checking extension entry point exposure.

Affects:

dEQP-VK.api.version_check.entry_points

Components: Framework, Vulkan

VK-GL-CTS issue: 1802

Change-Id: Ic47d53cd4dcac24282d054eeae671464509235c9

5 years agoCheck for toplevel sparse binding support bit in sparse pipeline tests
Chris Forbes [Mon, 3 Jun 2019 14:38:47 +0000 (07:38 -0700)]
Check for toplevel sparse binding support bit in sparse pipeline tests

VK-GL-CTS Issue: 1806
Components: Vulkan
Bug: b/130838280
Affects: dEQP-VK.pipeline.multisample.*sparse
Change-Id: I18f0960228e24dddcfee6d85c2c4ae647439a3c6

5 years agoAdd smoke test with unknown extension structure
Ricardo Garcia [Wed, 29 May 2019 15:28:00 +0000 (17:28 +0200)]
Add smoke test with unknown extension structure

Create a smoke test that uses a non-existant dummy extension structure
as the pNext field in many API calls to draw a basic rectangle. This
extension structure must be ignored by implementations and everything
must work as if a null pointer had been passed instead.

New tests:
dEQP-VK.api.smoke.triangle_ext_structs

Components: Vulkan
VK-GL-CTS issue: 1799

Change-Id: Ie39b9ec74940e273a19e6784d82dce02c1b0c7d1

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Thu, 6 Jun 2019 13:33:21 +0000 (15:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: I63bcf7eb6c51188f2098111ac80cac947e294bfa

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 6 Jun 2019 12:14:06 +0000 (14:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Iacf5cbc1f08c49bf71e46b0959514ee9dcfeb21f

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Thu, 6 Jun 2019 11:25:43 +0000 (13:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Ie2fcbf82b366c324d4b48ddeaffd0b5654cf2d60

5 years agoAdd a checker for vkQueuePresent returning VK_SUBOPTIMAL_KHR
Yiwei Zhang [Tue, 4 Jun 2019 02:18:13 +0000 (19:18 -0700)]
Add a checker for vkQueuePresent returning VK_SUBOPTIMAL_KHR

Components: Vulkan

VK-GL-CTS Issue: 1811

Affects: dEQP-VK.wsi.*
Affects: dEQP-VK.protected_memory.interaction.wsi.*

Change-Id: I81320fb9fee34c6d1ec006d0a66d482eb2f8fb7c

5 years agoFix more sampleShading issues in dEQP-VK.pipeline.multisample_shader_builtin.*
Chris Forbes [Mon, 3 Jun 2019 17:45:28 +0000 (10:45 -0700)]
Fix more sampleShading issues in dEQP-VK.pipeline.multisample_shader_builtin.*

The `pattern` case here does not require per-sample shading, and the
request for the feature is easily disabled. The `write` case could
potentially also run without per-sample shading, but is plumbed
differently, so I have not adjusted it to run per-pixel.

All remaining cases which used per-sample shading have been
adjusted to check for the sampleShading feature efore running.

VK-GL-CTS Issue: 1807
Affects: dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.*
Components: Vulkan

Change-Id: Iab86205fa89ace6f55ad00ba3fc51e2745a28744

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Wed, 5 Jun 2019 11:18:31 +0000 (13:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: I6543c42627662dc3872bef9ada5fb523f1bddd03

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Wed, 5 Jun 2019 10:38:33 +0000 (12:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Idfd64426bcfb647d1725a05becd0e0a30f59768b

5 years agoPython3 compatibility: Fix build_apk.py
Boris Zanin [Mon, 3 Jun 2019 12:14:17 +0000 (14:14 +0200)]
Python3 compatibility: Fix build_apk.py

The files build_apk need to be updated ti run under Python 3.

Components: Framework

VK-GL-CTS issue: 1665

Change-Id: I0c21e7114f2f4d55ebf31353c270cadfbe98dd96

5 years agoFix for SSBO offset alignment
Martin Freebody [Fri, 24 May 2019 13:30:32 +0000 (14:30 +0100)]
Fix for SSBO offset alignment

Affects: dEQP-VK.ssbo.unsized_array_length.*

Components: Vulkan

VK-GL-CTS issue: 1796

Change-Id: I8953c2a58fe90a3165aa3255e542336a0c6d0a1e
(cherry picked from commit eaa8fbf9c0e15e36e7c202947fbc13216761dbf6)

5 years agoFix for SSBO offset alignment
Martin Freebody [Fri, 24 May 2019 13:30:32 +0000 (14:30 +0100)]
Fix for SSBO offset alignment

Affects: dEQP-VK.ssbo.unsized_array_length.*

Components: Vulkan

VK-GL-CTS issue: 1796

Change-Id: I8953c2a58fe90a3165aa3255e542336a0c6d0a1e

5 years agoCompile only necessary shaders in texture tests
Ari Suonpaa [Fri, 10 May 2019 07:11:26 +0000 (10:11 +0300)]
Compile only necessary shaders in texture tests

Some of the texture tests were compiling multiple
fragment shaders. Now only the correct one is added.

Affects:

dEQP-VK.texture.filtering.*
dEQP-VK.texture.mipmap.*

Components: Vulkan

VK-GL-CTS issue: 1749
Change-Id: Icf959b0e2ba6f95584f37f5704aa831e54901b66

5 years agoUpdate glslang SPIR-V Tools and Headers
Alexander Galazin [Tue, 4 Jun 2019 07:14:01 +0000 (09:14 +0200)]
Update glslang SPIR-V Tools and Headers

Components: Framework

Affects: dEQP-VK.*

Change-Id: Ifda49531bdb250276bb903991739628af1c3845b

5 years agoPython3 compatibility: fix check_build_sanity.py
Boris Zanin [Mon, 20 May 2019 13:23:49 +0000 (15:23 +0200)]
Python3 compatibility: fix check_build_sanity.py

Update dependend scripts to allow check_build_sanity.py to
run under python 3.

Changes:
 * Fixed registry functions to avoid crashes
 * Hash calculation of downloaded xml files
 * Version check comparision function

After the changes check_build_sanity.py is able to run
under python 3 and generates same derivative source files
with exception of two following:
 * framework/egl/wrapper/eglwEnums.inl
 * framework/egl/wrapper/eglwEnumsC.inl

Five defines in these two files are different from previous.
These changes seems reasonable, because they remove
duplicated defines.

Under python 3 a lot of warnings and messages are issued by
check_build_sanity.py. These messages are not the result of
introduced changes, but a result of different handling of
badly configured logging facility in python 3. These messages
are hidden under python 2 with two oneline messages:

  No handlers could be found for logger "khr_util.registry"

These messages can be revealed under python 2 by adding
following line into khr_util/registry.py:

 * logging.basicConfig()

These messages are subject of another issue, probably
within OpenGL/ES subsystem.

Affects: dEQP-VK.*, dEQP-EGL.*, dEQP-GL*, builds

Components: Framework

VK-GL-CTS issue: 1665

Change-Id: I4e7eb1e90aa36c7142e824b7824bdc5e40d3e656

5 years agoMake check_all.py run on windows/python3
Jeff Bolz [Thu, 30 May 2019 01:58:08 +0000 (20:58 -0500)]
Make check_all.py run on windows/python3

This is mostly handling the more strict text vs binary file distinction
in python 3.x.

Components: Framework
VK-GL-CTS issue: 1665

Change-Id: If02ab24a825e7a5f3b2169d57a442c66f17eaf5c

5 years agoAdd VK_EXT_host_query_reset tests for transform feedback stream queries
Samuel Iglesias Gonsálvez [Mon, 25 Mar 2019 11:01:34 +0000 (12:01 +0100)]
Add VK_EXT_host_query_reset tests for transform feedback stream queries

New tests:

dEQP-VK.transform_feedback.simple.host_query_reset_*

Components: Vulkan
VK-GL-CTS issue: 1653

Change-Id: I9e4c6cc9aa57ed07d3ba68a56be4d5cbcddd4e6c
(cherry picked from commit 577b36b7e6e26ca9b69a8ba4eb1b72772fd074d4)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Fri, 31 May 2019 12:04:50 +0000 (14:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: Iede8b9b3af634f8d4c1779345aef30a1d04556c3

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Fri, 31 May 2019 09:59:41 +0000 (11:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I9d51446c4b7c61633be355ded691af9785645802

5 years agoSplit incremental_present tests into more dimensions to avoid timeout
Yiwei Zhang [Thu, 16 May 2019 05:22:36 +0000 (22:22 -0700)]
Split incremental_present tests into more dimensions to avoid timeout

Components: Vulkan

VK-GL-CTS Issue: 1778

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

Bug: 132817706
Test: dEQP-VK.wsi.android.incremental_present.*

Change-Id: I54168fe61bda31654696fcfbd71b37ce29fc7ba4

5 years agoAutogenerate check(Device|Instance)Extensions
Piotr Byszewski [Thu, 23 May 2019 10:13:37 +0000 (12:13 +0200)]
Autogenerate check(Device|Instance)Extensions

This change generates lists of allowed device and instance extensions.

Components: Framework

VK-GL-CTS issue: 1769

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

Change-Id: I1e45b7367b562b28b89500ebf4242fcf6d985b0f

5 years agoFix build for GCC/Clang
Mika Väinölä [Fri, 31 May 2019 07:59:54 +0000 (10:59 +0300)]
Fix build for GCC/Clang

Add missing pointSize to AlphaToCoverageColorUnusedAttachmentTest.

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

Components: Vulkan

VK-GL-CTS issue: 1800

Change-Id: Ibb9ad728e774fc780021f688e2076c70eb775121

5 years agoAdd alpha to coverage test with unused attachment
Ari Suonpaa [Thu, 9 May 2019 09:34:26 +0000 (12:34 +0300)]
Add alpha to coverage test with unused attachment

Added new tests where color output at location 0
has been set unused. Writing alpha value there
should control the coverage for pixels being
written to location 1.

New tests:

dEQP-VK.pipeline.multisample.alpha_to_coverage_unused_attachment.*

Components: Vulkan

VK-GL-CTS issue: 1586
Change-Id: If4bba7543659b08f6bdb7ff5349e1f5900e617fd

5 years agoAdd tests for VK_EXT_calibrated_timestamps
Ricardo Garcia [Fri, 5 Apr 2019 11:37:29 +0000 (13:37 +0200)]
Add tests for VK_EXT_calibrated_timestamps

Add tests to verify vkGetPhysicalDeviceCalibrateableTimeDomainsEXT and
vkGetCalibratedTimestampsEXT return reasonable values. The device time
domain is verified to be reasonable and consistent with
vkCmdWriteTimestamp, while host time domains are verified to be
reasonable and consistent with the corresponding host-native APIs.

New tests:

dEQP-VK.pipeline.timestamp.calibrated.*

Components: Vulkan
VK-GL-CTS issue: 1674

Change-Id: I3778fbd606a456a68431c6640d63b6966cdadb07

5 years agoFixes protected memory swapchain image format oom
Matthew Netsch [Tue, 28 May 2019 23:37:16 +0000 (19:37 -0400)]
Fixes protected memory swapchain image format oom

Some image format test cases (like the image extent cases)
could create configs too large for the protected heap

Components: Vulkan
VK-GL-CTS Issue: 1793

Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.image_format

Change-Id: If98f43a85ff289d091e3bb7c75d998a666efac80

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Thu, 30 May 2019 13:01:59 +0000 (15:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: I50b6ed2e152156ab2145fd5fca586655f05f32e6

5 years agoSplit compute workload into multiple submissions
Matthew Netsch [Wed, 29 May 2019 17:13:34 +0000 (13:13 -0400)]
Split compute workload into multiple submissions

Reduces workload per submission

Components: Vulkan
VK-GL-CTS Issue: 1751

Affects:
dEQP-VK.memory_model.message_passing.*

Change-Id: I4834dda74b95b802b2e39df42af9efd3c643208a

5 years agoFix vkGetPhysicalDevicePresentRectanglesKHR() call
Samuel Iglesias Gonsálvez [Fri, 12 Apr 2019 11:19:17 +0000 (13:19 +0200)]
Fix vkGetPhysicalDevicePresentRectanglesKHR() call

Removed the 'if' that forced the execution of this function when
present mode was
VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR, so now it can
be tested on other present modes.

Affected tests:

   dEQP-VK.wsi.*.surface.query_devgroup_present_modes

Components: Vulkan
VK-GL-CTS issue: 1428

Change-Id: Ife8820e4f15091e350acf60d758d983c26056e5f

5 years agoExtend image store/load tests
Toni Merilehti [Thu, 9 May 2019 12:04:44 +0000 (15:04 +0300)]
Extend image store/load tests

This CL extends the image store, load_store and format_reinterpret
tests with the extended storage image formats.

New tests:

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

Components: Vulkan

VK-GL-CTS issue: 1742
Change-Id: I000996a50cccd1f83b87ca087afb4139a9774e8a

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 30 May 2019 10:29:11 +0000 (12:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I7a134ecbc159b4f01dfbb3456ffd9c526a0d9f22

5 years agoAdd test for mandatory device features ( chapter 35.1 )
Pawel Ksiezopolski [Fri, 24 May 2019 13:08:17 +0000 (15:08 +0200)]
Add test for mandatory device features ( chapter 35.1 )

Support for some of the device features is mandatory as defined in specification ( chapter "35.1. Feature Requirements" )

New tests:

dEQP-VK.api.info.device.mandatory_features

Components: Vulkan

VK-GL-CTS issue: 1753

Change-Id: Ie5e7b502011b2e5a8ceafec05f9b1e89631df336

5 years agoRequire independentBlend in write mask tests
Toni Merilehti [Tue, 28 May 2019 10:18:53 +0000 (13:18 +0300)]
Require independentBlend in write mask tests

dEQP-VK.renderpass.*.attachment_write_mask.* tests use different
VkPipelineColorBlendAttachmentState settings for individual
attachments and therefore require independentBlend feature.

Affects:

dEQP-VK.renderpass.*.attachment_write_mask.*

Components: Vulkan

VK-GL-CTS issue: 1774

Change-Id: I6e9e6f052c76c32205c19583e47f4828e218bb51

5 years agoRequire variablePointersStorageBuffer feature in pointer_parameter tests
Chris Forbes [Tue, 28 May 2019 16:32:39 +0000 (09:32 -0700)]
Require variablePointersStorageBuffer feature in pointer_parameter tests

These tests declare OpCapability VariablePointersStorageBuffer but don't
check for the feature.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.graphics.pointer_parameter.buffer_memory_variable_pointers*
VK-GL-CTS Issue: 1792

Change-Id: I81fb83b473c484b151caf212ecd2348c72494f1d