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