platform/upstream/VK-GL-CTS.git
4 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Sun, 27 Oct 2019 18:13:30 +0000 (19:13 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ia2c5b71c6849b5306169097223726e8afd37223f

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Sat, 26 Oct 2019 07:15:50 +0000 (09:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ic06c88a4f8c25b5664a1c1fb87df125694e5b11f

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Fri, 25 Oct 2019 16:08:28 +0000 (18:08 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: I29e9c508144c70edd96aec27c6fde1e32f1c4149

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Fri, 25 Oct 2019 14:29:30 +0000 (16:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Id21fae15bb0fad00a22e2d5798f958e6640804e2

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Fri, 25 Oct 2019 11:58:22 +0000 (13:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I58c329c990cacdb992c4c9be0b95cb65aa469a80

4 years agoVkPhysicalDeviceVulkan1{1,2}Features in framework
Piotr Byszewski [Fri, 4 Oct 2019 12:17:42 +0000 (14:17 +0200)]
VkPhysicalDeviceVulkan1{1,2}Features in framework

Use VkPhysicalDeviceVulkan11Features and
VkPhysicalDeviceVulkan12Features in DefaultDevice chain.
This change also adds Context::isDeviceFunctionalitySupported and
Context::isInstanceFunctionalitySupported methods that checks if
extension are available and if proper feature bit are set (when
needed).

Components: Framework

VK-GL-CTS issue: 2005

Affects:
dEQP-VK.*

Change-Id: I81cf677fe46ae5bd870fde37253e97bdfcc4ae3a

4 years agoUpdate Amber
Ari Suonpaa [Wed, 23 Oct 2019 04:45:27 +0000 (07:45 +0300)]
Update Amber

Updated Amber to get support for new image comparison features.

Components: Framework
Change-Id: I9b750912dd0324395a5b8c43f6317f341121e9e9

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 24 Oct 2019 17:50:37 +0000 (19:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I32be1e098131623df73a3c70ed5fc7fac2f9e3a6

4 years agoFix incorrect assumption for pipeline cache hit
Arkadiusz Sarwa [Wed, 23 Oct 2019 15:15:12 +0000 (17:15 +0200)]
Fix incorrect assumption for pipeline cache hit

The test incorrectly assumes that adding a pipeline creation flag bit
VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT to only one pipeline
still should cause a cache hit. Fixed the problem by adding the
VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT flag bit to both pipelines.

Affects:
dEQP-VK.pipeline.creation_feedback.compute_tests.compute_stage

Components: Vulkan
VK-GL-CTS issue: 2068

Change-Id: Idb963219a4e894eee6a0bb3b1fc20797d5b0323e

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Alexander Galazin [Wed, 23 Oct 2019 10:40:52 +0000 (12:40 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master

Change-Id: Id91cbdafbce603e6cd681035b8a535e3aaa294dd

4 years agoAdd tests for uploading depth/stencil
Courtney Goeltzenleuchter [Tue, 13 Aug 2019 00:10:39 +0000 (18:10 -0600)]
Add tests for uploading depth/stencil

Components: Vulkan

Affects:
dEQP-VK.api.copy_and_blit.core.buffer_to_depthstencil.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.buffer_to_depthstencil.*

VK-GL-CTS issue: 1888
Change-Id: Id2153ef90014175f5b52811c80a905164e491735

4 years agoEnable validation layers for custom devices and instances
Ricardo Garcia [Thu, 13 Jun 2019 09:43:52 +0000 (11:43 +0200)]
Enable validation layers for custom devices and instances

Honor the --deqp-validation=enable command line option in tests using
custom devices and instances.

Affected tests:
dEQP-VK.api.buffer.*
dEQP-VK.api.device_init.*
dEQP-VK.api.external.memory.*
dEQP-VK.api.info.*
dEQP-VK.api.object_management.*
dEQP-VK.api.version_check.*
dEQP-VK.compute.basic.*
dEQP-VK.compute.device_group.*
dEQP-VK.device_group.*
dEQP-VK.image.swapchain_mutable.*
dEQP-VK.memory.allocation.*
dEQP-VK.memory.device_group_allocation.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.push_descriptor.*
dEQP-VK.protected_memory.*
dEQP-VK.robustness.*
dEQP-VK.sparse_resources.*
dEQP-VK.synchronization.basic.semaphore.*
dEQP-VK.synchronization.cross_instance.*
dEQP-VK.synchronization.internally_synchronized_objects.*
dEQP-VK.synchronization.op.multi_queue.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.synchronization.win32_keyed_mutex.*
dEQP-VK.wsi.*
dEQP-VK.ycbcr.format.*

Components: Vulkan
VK-GL-CTS issue: 1831

Change-Id: I569f2362cfbc2446ba099d38da48d58be451ebeb

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Tue, 22 Oct 2019 17:00:27 +0000 (19:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: I3cb15875a0283934251bddc35af68cab1c3394c5

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Tue, 22 Oct 2019 16:59:45 +0000 (18:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: Ic9de3ec00dbd38b2106f1c497059e40d4d361297

4 years agoFix waitSemaphoreCount value in signal ordering tests
Lionel Landwerlin [Wed, 16 Oct 2019 18:39:50 +0000 (21:39 +0300)]
Fix waitSemaphoreCount value in signal ordering tests

VK-GL-CTS Issue: 2059
Components: Vulkan
Affects: dEQP-VK.synchronization.signal_order.*timeline_semaphore.*

Change-Id: I25b86f1ae2b8e3650e061f9f2e345147c01419c6

4 years agoFix external memory import
Arkadiusz Sarwa [Thu, 17 Oct 2019 15:02:40 +0000 (17:02 +0200)]
Fix external memory import

Fix adds checking for flag
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT
when external memory is being imported.

Affects:
dEQP-VK.synchronization.signal_order.*

Components: Vulkan
VK-GL-CTS issue: 2063

Change-Id: Iebc72ba0ed89ba3ca2b83a5b97d6b24ab7871edb

4 years agoFixes VS num instances assumption
Matthew Netsch [Mon, 21 Oct 2019 15:58:29 +0000 (11:58 -0400)]
Fixes VS num instances assumption

Components: Vulkan
VK-GL-CTS Issue: 2022

Affects:
dEQP-VK.spirv_assembly.instruction.*

Change-Id: Ibb0a17d8843c03cd1cf15d2c5af1f547481e8452

4 years agoFix LAYOUT_UNDEFINED transitions in descriptor_indexing tests
Jeff Bolz [Fri, 18 Oct 2019 17:05:46 +0000 (12:05 -0500)]
Fix LAYOUT_UNDEFINED transitions in descriptor_indexing tests

Commit 7b7ba4e0 caused the UNDEFINED->COLOR layout transition to be applied four
times, corrupting 3/4 of the image. Change the tests to do the layout transition
once, right after the framebuffer is created.

VK-GL-CTS Issue: 2064
Components: Vulkan
Affects: dEQP-VK.descriptor_indexing.*

Change-Id: Ie599ba76ba75af6fee1f4163bd96ea2bd6e4c145

4 years agoFix name shadowing warning in SurfaceCountersError
Ricardo Garcia [Fri, 18 Oct 2019 15:35:37 +0000 (17:35 +0200)]
Fix name shadowing warning in SurfaceCountersError

This is a simple warning fix that should not affect any test results,
related to the previous solution to the issue below.

Components: Vulkan
VK-GL-CTS issue: 1683

Change-Id: Ifa702330768f87e25d73f7489a306b4d4a1bbfb3

4 years agoFix build issues
Alexander Galazin [Fri, 18 Oct 2019 15:07:42 +0000 (17:07 +0200)]
Fix build issues

Change-Id: I0b0da0af71d3d91e38eddf8e9c60be27b4d6ab11

4 years agodEQP-VK.graphicsfuzz.switch-if-discard
Paul Thomson [Fri, 18 Oct 2019 15:51:21 +0000 (16:51 +0100)]
dEQP-VK.graphicsfuzz.switch-if-discard

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.switch-if-discard

Change-Id: I055c4d205c0a6ce66289a1249dd8a025d4e01aa6

4 years agoReduce number of created pipelines in compute subgroups tests
Samuel Iglesias Gonsálvez [Thu, 26 Sep 2019 13:41:43 +0000 (15:41 +0200)]
Reduce number of created pipelines in compute subgroups tests

Some drivers are taking too much time to execute compute subgroups
tests, mostly because they need to build N times the same pipeline
where the only difference is the local size values passed via
specialization constants.

As there are drivers that don't take advantage of pipeline derivatives,
reducing the number of pipeline creations helps to reduce execution time.

Affected tests:

   dEQP-VK.subgroups.*compute*

Components: Vulkan
VK-GL-CTS issue: 2019

Change-Id: Ie3ccbc53390bdba691c16d51c173b0a8a16119d9

4 years agoAdded script to list changed tests
Jari Komppa [Mon, 23 Sep 2019 12:35:11 +0000 (15:35 +0300)]
Added script to list changed tests

Added script which reads git log and lists changed tests since specified
version or date.

Affects: none

Change-Id: I64e6403ed9a3bd9531c01ddb0007139950e4dda0
Components: Framework

4 years agoAdd tests for counters with command buffer scope
Natalia Sobkiewicz [Mon, 2 Sep 2019 08:33:55 +0000 (10:33 +0200)]
Add tests for counters with command buffer scope

Component: Vulkan

VK-GL-CTS Issue: 1972

Affects: dEQP-VK.query_pool.performance_query.*

Change-Id: Ibf14aaef5b76bf2b2f5dc1f78779eb577c126e23

4 years agoAdd tests for VK_EXT_blend_operation_advanced
Samuel Iglesias Gonsálvez [Fri, 28 Jun 2019 07:20:39 +0000 (09:20 +0200)]
Add tests for VK_EXT_blend_operation_advanced

There at three types of tests:

* Ops: they check that all the defined operations work
for a different set of source and destination colors, iterating over
(non)premultiplied colors and uncorrelate/disjoint/conjoint alpha
values.  The tests run on different number of color attachment as well.

* Independent: it checks that color attachments with different depth
operations do not affect the others.

* Coherent: it checks if (non)coherent blend operations work as
expected. It creates two pipelines with 2 different advanced blend ops,
first draw clears the pixel with a specified destination color and do
the blending; the second draw reuses the result of the first one as
destination color and do blending on top. In the case of noncoherent
blending, it adds a memory dependency between both advanced blend
operations.

Added tests:

   dEQP-VK.pipeline.blend_operation_advanced.*

Components: Vulkan
VK-GL-CTS issue: 1673

Change-Id: I4417e6a22e0c2882849f8bf59233c266c60e45c6

4 years agoAdd tests for sparse images using YCbCr formats
Pawel Ksiezopolski [Wed, 24 Apr 2019 16:09:08 +0000 (18:09 +0200)]
Add tests for sparse images using YCbCr formats

Sparse image tests include YCbCr image formats including multiplanar
formats and a group of previously ommited non-YCbCr image formats.

Affects tests:
dEQP-VK.sparse_resources.image_sparse_binding.*
dEQP-VK.sparse_resources.device_group_image_sparse_binding.*
dEQP-VK.sparse_resources.aligned_mip_size.*
dEQP-VK.sparse_resources.image_block_shapes.*
dEQP-VK.sparse_resources.image_sparse_residency.*
dEQP-VK.sparse_resources.mipmap_sparse_residency.*
dEQP-VK.sparse_resources.image_sparse_memory_aliasing.*
dEQP-VK.sparse_resources.shader_intrinsics.*
dEQP-VK.ycbcr.*

New tests:
dEQP-VK.sparse_resources.image_sparse_binding.*
dEQP-VK.sparse_resources.device_group_image_sparse_binding.*
dEQP-VK.sparse_resources.aligned_mip_size.*
dEQP-VK.sparse_resources.image_block_shapes.*
dEQP-VK.sparse_resources.image_sparse_residency.*
dEQP-VK.sparse_resources.mipmap_sparse_residency.*
dEQP-VK.sparse_resources.image_sparse_memory_aliasing.*
dEQP-VK.sparse_resources.shader_intrinsics.*
dEQP-VK.ycbcr.storage_image_write.*

Components: Vulkan Framework

VK-GL-CTS issue: 1419
VK-GL-CTS issue: 1084

Change-Id: I3e335840efbbabc2fc320629f5a165becdbb4f26

4 years agoHandle LPCWSTR in framework
Piotr Byszewski [Fri, 11 Oct 2019 09:43:19 +0000 (11:43 +0200)]
Handle LPCWSTR in framework

Components: Framework

VK-GL-CTS issue: 1703

Affects:
dEQP-VK.*

Change-Id: I2061de4eac657aa9453bc3143306d1670eb271aa

4 years agoReenable checking for core ballot functions
Graeme Leese [Wed, 9 Oct 2019 09:31:55 +0000 (10:31 +0100)]
Reenable checking for core ballot functions

All the subgroup ballot tests were mistakenly created as extension
tests, so none of them were testing the core functionality.

Components: Vulkan
Affect: dEQP-VK.subgroups.ballot.framebuffer.*

Change-Id: I2876ed3e04c831e90d7d605019cdcfd8ecb8e375

4 years agoUse buildOptions consistently
Graeme Leese [Mon, 30 Sep 2019 16:51:41 +0000 (17:51 +0100)]
Use buildOptions consistently

Backport the changes to buildOptions. This makes it easier to change the
build options for all the tests at the same time.

Components: Vulkan
Affects: dEQP-VK.subgroups.ballot_broadcast.*

Change-Id: Idf75d3fac002da85e800634078c11f1797ba4812

4 years agoWhitelist Vulkan CTS 1.2.0.1
Alexander Galazin [Thu, 17 Oct 2019 20:13:33 +0000 (22:13 +0200)]
Whitelist Vulkan CTS 1.2.0.1

Components: Vulkan

Change-Id: Ic95049203b246c17b535d86fcaad2ee431c6b751

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Alexander Galazin [Thu, 17 Oct 2019 19:15:25 +0000 (21:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master

Change-Id: Iae396c7a296389d754c462f1047329a70d619a7a

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Thu, 17 Oct 2019 18:33:19 +0000 (20:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: I5955793c43464b3046180ca90c1a64fa0e9379b3

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Thu, 17 Oct 2019 18:31:35 +0000 (20:31 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: Ib3cab2c6bc13dee32caf2403b9dc52492f660082

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 17 Oct 2019 17:58:35 +0000 (19:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I2aa94658d6c8b6543fd9c4899f7da481ba1120a1

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 17 Oct 2019 15:46:59 +0000 (17:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I0954d6799d7b0e4a527cd0fbbdcf61237ca7e9a7

4 years agoRemove float16 derivatives tests
Alan Baker [Sun, 25 Aug 2019 17:57:24 +0000 (13:57 -0400)]
Remove float16 derivatives tests

SPIR-V restricts derivatives to 32-floating point scalars and vectors
only.

Component: Vulkan

VK-GL-CTS Issue: 1931

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_*.*

Change-Id: Icc5341e697b797045080cc55428dbc2c02d71def
(cherry picked from commit 436d6dd5e7a0c0811bf1b6059542d1cdbccb9566)

4 years agoRemove float16 derivatives tests
Alan Baker [Sun, 25 Aug 2019 17:57:24 +0000 (13:57 -0400)]
Remove float16 derivatives tests

SPIR-V restricts derivatives to 32-floating point scalars and vectors
only.

Component: Vulkan

VK-GL-CTS Issue: 1931

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_*.*

Change-Id: Icc5341e697b797045080cc55428dbc2c02d71def

4 years agoMake texture aniso basic self tests less sensitive
Alex Walters [Mon, 14 Oct 2019 16:32:12 +0000 (17:32 +0100)]
Make texture aniso basic self tests less sensitive

The tests cases first check with a fuzzy diff that the images are more
or less the same.

The second diff then checks with a standard image comparison + tolerance
that the images are not identical.

Some of IMG's implementations produce a closer image than the test is
currently expecting - we need to lower the tolerance from 0.05 to 0.02
in order for the diff algorithm to detect that the images are
different 'enough'.

Though there is no actual spec requirement, it is 'generally going to
be the case', for any implementation, that the images will have some
amount of difference. It is potentially useful to still have this test
inplace to check againsty aniso being accidently disabled in the tested
implementation, rather than remove it altogether.

Affects:
dEQP-VK.texture.filtering_anisotropy.basic.*

Components: Vulkan

VK-GL-CTS Issue: 2047

Change-Id: Ia9148e12172ac1c4757f5007e57b3a2b3a3434eb

4 years agoRelaxes line rasterization tolerances
Matthew Netsch [Fri, 4 Oct 2019 18:57:40 +0000 (14:57 -0400)]
Relaxes line rasterization tolerances

Components: Framework
VK-GL-CTS Issue: 2033

Affects:
dEQP-VK.rasterization.*

Change-Id: Ib41552b1bb6d9aa2b25d0cbc6f02d51ce997f4e3

4 years agoRevert "Fixes VS num instances assumption"
Alexander Galazin [Thu, 17 Oct 2019 15:11:04 +0000 (11:11 -0400)]
Revert "Fixes VS num instances assumption"

This reverts commit bac8df251bb6103d7844bfeacbb29bf14011b7cb.

Change-Id: I60aa83d860b0b11ec7fc58fb97806635a1eebdca

4 years agoRemove tests that check non-zero values for reservedMustBeZero on all APIs
Alejandro Piñeiro [Fri, 11 Oct 2019 09:40:16 +0000 (11:40 +0200)]
Remove tests that check non-zero values for reservedMustBeZero on all APIs

Although initially it was agreed to keep them for the APIs that still
include that field as reserved, and only remove them when the API
defines the field (baseInstance), in the end it was agreed to remove
it completely, as it is testing an undefined behaviour.

Components: OpenGL, OpenGL ES

VK-GL-CTS issue: 2029

Affects:
KHR-GL40.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL40.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL41.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL41.draw_indirect.misc-reservedMustBeZero-elements
KHR-GLES31.core.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GLES31.core.draw_indirect.misc-reservedMustBeZero-elements

Change-Id: Iafe3e711107da818a392ebcdfe50379cf3790d17

4 years agoMerge "Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master"
Alexander Galazin [Thu, 17 Oct 2019 10:45:38 +0000 (06:45 -0400)]
Merge "Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master"

4 years agoReplace imageAtomicExchange with imageAtomicCompSwap in vertex shader
Alejandro Piñeiro [Wed, 25 Sep 2019 08:15:36 +0000 (10:15 +0200)]
Replace imageAtomicExchange with imageAtomicCompSwap in vertex shader

Recently the test was changed in order to replace a imageAtomicAdd for
a imageAtomicExchange, as the test can't assume that the vertex shader
will be executed exactly one per vertex shader (see VK-GL-CTS issue
1910).

But imageAtomicExchange is also problematic because in some
architecture/driver, specially tile-based, the test can't also assume
that all the vertex shader executions would finish before
rasterization starts (so fragment shader execution). So when using
imageAtomicExchange could happend that a vertex shader execution would
override the value that the fragment shader already started to update.

Due this two restrictions, this patch changes the atomic operation on
the vertex shader to imageAtomicCompSwap, that sets the value of the
image at the vertex shader only if it is the initial value (so
zero). That would prevent any possible execution when the
rasterization already started to override the value of such image.

This patch also adds a comment on the code explaining the situation,
to avoid any possible future change to a simpler atomic operation by
mistake.

Components: OpenGL ES

VK-GL-CTS issue: 1997

Affects:
KHR-GLES31.core.shader_image_load_store.advanced-allStages-oneImage

Change-Id: Icbc34662f33839a1ced9f728cee45a1198e4b495

4 years agoFix use of invalid HALF_FLOAT enum
Courtney Goeltzenleuchter [Wed, 11 Sep 2019 15:01:22 +0000 (09:01 -0600)]
Fix use of invalid HALF_FLOAT enum

GLES 2.0 supports GL_HALF_FLOAT_OES via the OES_texture_half_float
extension. When the enum GL_HALF_FLOAT was added in GLES 3.0,
unfortunately it did not use the same enum value as GL_HALF_FLOAT_OES.
Technically, GL_HALF_FLOAT is not supported on a GLES 2.0 implementation
even with OES_texture_half_float. Fix GLES 2.0 tests to always use
GL_HALF_FLOAT_OES to avoid the issue.

Affects:

KHR-GLES2.core.internalformat.texture2d.*_half_float_*
KHR-GLES3*.core.internalformat.texture2d.*_half_float_*

Components: OpenGL

VK-GL-CTS issue: 1923

Change-Id: I9b43091382341798a0d62b9a4ec09153e915dc5c

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Alexander Galazin [Thu, 17 Oct 2019 08:58:26 +0000 (10:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master

Change-Id: I2df30e7152844ece359dd9d4bfb90eca990a1bd8

4 years agoGenerate a non-zero exit code on test failure
Piers Daniell [Fri, 6 Sep 2019 18:27:31 +0000 (12:27 -0600)]
Generate a non-zero exit code on test failure

If there are any failed tests, or the test run was not
compelte, the process will now generate EXIT_FAILURE (1)
instead of EXIT_SUCCESS (0).

Affects:

dEQP-VK.*

Components: Framework

VK-GL-CTS issue: 1982

Change-Id: I061d9a3b6703e1f23c48ce8a31e943744f915c92
(cherry picked from commit cfa72a70ef8371eab29da003dbb4d932adba189a)

4 years agoGenerate a non-zero exit code on test failure
Piers Daniell [Fri, 6 Sep 2019 18:27:31 +0000 (12:27 -0600)]
Generate a non-zero exit code on test failure

If there are any failed tests, or the test run was not
compelte, the process will now generate EXIT_FAILURE (1)
instead of EXIT_SUCCESS (0).

Affects:

dEQP-VK.*

Components: Framework

VK-GL-CTS issue: 1982

Change-Id: I061d9a3b6703e1f23c48ce8a31e943744f915c92
(cherry picked from commit cfa72a70ef8371eab29da003dbb4d932adba189a)

4 years agoGenerate a non-zero exit code on test failure
Piers Daniell [Fri, 6 Sep 2019 18:27:31 +0000 (12:27 -0600)]
Generate a non-zero exit code on test failure

If there are any failed tests, or the test run was not
compelte, the process will now generate EXIT_FAILURE (1)
instead of EXIT_SUCCESS (0).

Affects:

dEQP-VK.*

Components: Framework

VK-GL-CTS issue: 1982

Change-Id: I061d9a3b6703e1f23c48ce8a31e943744f915c92

4 years agodEQP-VK.graphicsfuzz.always-false-if-with-discard-return
Venni Ihanakangas [Wed, 18 Sep 2019 09:40:43 +0000 (12:40 +0300)]
dEQP-VK.graphicsfuzz.always-false-if-with-discard-return

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.always-false-if-with-discard-return

Change-Id: Ib49084f32085d7a620e305637a8e75e062d7ad83

4 years agoPostpone .amber file parsing
Jari Komppa [Wed, 18 Sep 2019 10:22:44 +0000 (13:22 +0300)]
Postpone .amber file parsing

All .amber files were parsed during test indexing, so they were parsed
even if none of the tests were executed. This wasn't a big performance
hit yet, but we're likely to increase the use of amber.

Due to some chicken-and-egg issues part of the capability check was
moved to the start of iterate, but since that throws InternalError if
the check fails this shouldn't be a performance issue.

The tests themselves have not changed, just the order of when to parse
the file.

Affects: None

Components: Vulkan, Framework

VK-GL-CTS issue: 899

Change-Id: Iacdfd9a61d439e3f5dec952b2426386a2eb3451c

4 years agoTest VkCopyDescriptorSet with inline uniform blocks
Ricardo Garcia [Thu, 19 Sep 2019 16:31:25 +0000 (18:31 +0200)]
Test VkCopyDescriptorSet with inline uniform blocks

Use VkCopyDescriptorSet to copy data between inline uniform blocks
during vkUpdateDescriptorSets if VK_EXT_inline_uniform_block is
supported by the implementation.

New tests:
dEQP-VK.binding_model.descriptor_copy.*.inline_uniform_block_*
dEQP-VK.binding_model.descriptor_copy.*.mix_3
dEQP-VK.binding_model.descriptor_copy.*.mix_array1

Components: Vulkan
VK-GL-CTS issue: 2012

Change-Id: I3898f5c2f236ef62a392409791a870633b572e12

4 years agoAdd tests for VK_EXT_display_surface_counter
Ricardo Garcia [Tue, 24 Sep 2019 15:45:37 +0000 (17:45 +0200)]
Add tests for VK_EXT_display_surface_counter

This commit adds tests for VK_EXT_display_surface_counter that try to
verify vkGetPhysicalDeviceSurfaceCapabilities2EXT returns the same set
of capabilities as vkGetPhysicalDeviceSurfaceCapabilitiesKHR and the
supportedSurfaceCounters field has coherent values for display surfaces
and non-display surfaces.

Affected tests:
dEQP-VK.wsi.display.create_display_plane_surface

New tests:
dEQP-VK.wsi.*.surface.query_surface_counters
dEQP-VK.wsi.display.surface_counters

Components: Vulkan
VK-GL-CTS issue: 1683

Change-Id: I7754411c7b458201e9a7f5e8a99dfada388124d7

4 years agodEQP-VK.graphicsfuzz.switch-with-empty-if-false
Venni Ihanakangas [Wed, 25 Sep 2019 10:44:48 +0000 (13:44 +0300)]
dEQP-VK.graphicsfuzz.switch-with-empty-if-false

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.switch-with-empty-if-false

Change-Id: I42790dbee5975b301126a268c801c6a616aab721

4 years agodEQP-VK.graphicsfuzz.unreachable-return-in-loop
Mika Väinölä [Thu, 3 Oct 2019 13:02:09 +0000 (16:02 +0300)]
dEQP-VK.graphicsfuzz.unreachable-return-in-loop

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.unreachable-return-in-loop

Change-Id: I339de39006859f5396dc7397b722323f56a2222d

4 years agodEQP-VK.graphicsfuzz.disc-and-add-in-func-in-loop
Mika Väinölä [Thu, 3 Oct 2019 13:17:43 +0000 (16:17 +0300)]
dEQP-VK.graphicsfuzz.disc-and-add-in-func-in-loop

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.disc-and-add-in-func-in-loop

Change-Id: I87cbd5e5f9b0d27f9d875a1ca31d3c7aa12cb433

4 years agoDisentangle storage and arithmetic from conversions
Alan Baker [Fri, 4 Oct 2019 19:15:15 +0000 (15:15 -0400)]
Disentangle storage and arithmetic from conversions

Remove the requirement for 16-bit storage from float16 conversions
tests. Add f16 -> f32 and f32 -> f16 tests using only 16-bit storage.

Component: Vulkan

VK-GL-CTS Issue: 1931

Affects:
dEQP-VK.spirv_assembly.instruction.*.fconvert.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertftou.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertftos.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertutof.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertstof.*float16*

Change-Id: I993bdb7a6313cf19ce59b5fa43645f5168ea3cbc

4 years agoWhitelist VK_KHR_shader_subgroup_extended_types
Alexander Galazin [Thu, 17 Oct 2019 07:28:06 +0000 (09:28 +0200)]
Whitelist VK_KHR_shader_subgroup_extended_types

Components: Vulkan

Change-Id: Ie68fd0fd2606aac29ddf1e1a0c6668504a42a91a

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Alexander Galazin [Wed, 16 Oct 2019 14:02:09 +0000 (16:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master

Change-Id: I7a8febada6ebf7ad2de0f9727a5efbbcc729c3d0

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Wed, 16 Oct 2019 13:01:00 +0000 (15:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: I01ffb4e6195d7754314ec4a72be0c03f595b6e02

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Wed, 16 Oct 2019 13:00:14 +0000 (15:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I3b96cb8cde6cbfc585d717a94f2164739887726f

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Wed, 16 Oct 2019 11:44:00 +0000 (13:44 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Iea7706e036758d8a648ef7938b3d08e21321a087

4 years agoUse the correct imageType for image support checks.
Bas Nieuwenhuizen [Fri, 11 Oct 2019 01:50:02 +0000 (03:50 +0200)]
Use the correct imageType for image support checks.

Components: Vulkan

Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.depth_stencil.{1d,3d}*

VK-GL-CTS issue: 2050

Change-Id: If73d9ff3e026ae4c32fd00fcc546734eebf9990e

4 years agoFix wrong wait stage mask
Joerg Wagner [Wed, 9 Oct 2019 18:53:46 +0000 (20:53 +0200)]
Fix wrong wait stage mask

The wait stage mask wasn't accounting for the
stages the readers actually operate in, hence
being effectless.
Track the union of the reader's stage masks
and use that to block execution on the semaphore.

Affects:
dEQP-VK.synchronization.signal_order.*

Components: Vulkan
VK-GL-CTS issue: 2044

Change-Id: Ia4d5c7bcb9dd6eec25e7245dc41754acccd1b995

4 years agoFix in shadercacheLoad
Panagiotis Apostolou [Thu, 10 Oct 2019 13:33:32 +0000 (15:33 +0200)]
Fix in shadercacheLoad

There is a slim chance that function shadercacheLoad() can pass a null
pointer into the std::string constructor, causing an exception. This can
happen in the case there is a mismatch between the calculated hash and
the one stored in the cache file.

This commit makes the code more robust, handling this case as a miss.

Components: Vulkan

VK-GL-CTS issue: 2052

Change-Id: I84a382dec51f487314304ec9057cefdff22920c3

4 years agoFixed mandatory caselist for parallel CTS run
Pawel Ksiezopolski [Tue, 15 Oct 2019 10:09:27 +0000 (12:09 +0200)]
Fixed mandatory caselist for parallel CTS run

Duplicate tests listed in deqp-fraction-mandatory-caselist-file
command line option are now skipped during test tree parsing,
when parallel CTS run is configured.

Components: Framework

VK-GL-CTS issue: 2053

Change-Id: I4ce2b6f33fd22c7ddc3aba0adbe9f7e761237e51

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 15 Oct 2019 07:44:20 +0000 (09:44 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ic6e8b920be9a0ff25a8765b7c11d57248fb400a3

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Alexander Galazin [Tue, 15 Oct 2019 07:14:46 +0000 (09:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master

Change-Id: If68c0cb9516bb0bb1f441c9fde8bfd5456cee76d

4 years agoMerge "Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev" into vulkan-cts...
Alexander Galazin [Tue, 15 Oct 2019 07:13:20 +0000 (03:13 -0400)]
Merge "Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev" into vulkan-cts-next-dev

4 years agoRelax deviceName and deviceInfo string comparison
Pawel Ksiezopolski [Wed, 9 Oct 2019 08:53:05 +0000 (10:53 +0200)]
Relax deviceName and deviceInfo string comparison

Change deMemCmp() to strncmp() for two char arrays in
VkPhysicalDeviceVulkan12Properties struct, so that we don't
compare bytes after null termination character.

Affects:
dEQP-VK.api.info.vulkan1p2.properties

Components: Vulkan

VK-GL-CTS issue: 2040

Change-Id: I312575c5b29705c1cb2010f2a2d247055680bf97

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Fri, 11 Oct 2019 10:13:41 +0000 (12:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Ie09cc3cac8462a7669c3fa0c25edb40d8e05d062

4 years agoRemove superfluous call to createCustomDevice
Alexander Galazin [Fri, 11 Oct 2019 10:39:11 +0000 (12:39 +0200)]
Remove superfluous call to createCustomDevice

Components: Vulkan

Change-Id: I7982ff1203b8eaeccfdd4b3a6b9bc3ab0b688721

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Fri, 11 Oct 2019 09:58:07 +0000 (11:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: Ife971c6779bf35094b5a72a87abaa47a6901530b

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Fri, 11 Oct 2019 09:52:19 +0000 (11:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Ibb2b736bbe1c62688044aa21dc75205f6fa32f1c

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Fri, 11 Oct 2019 09:50:16 +0000 (11:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I79fdf16146cf659aeae510fb6fb2ad72f641ba3e

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Fri, 11 Oct 2019 09:48:34 +0000 (11:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Ia0d88c0631e427241c7795931a834d9baf43e5a3

4 years agoRelaxedPrecision tests for image extend operands
Graeme Leese [Mon, 7 Oct 2019 17:23:10 +0000 (18:23 +0100)]
RelaxedPrecision tests for image extend operands

Where the decoration makes sense (that is, for images with fewer than 16
bits per channel), add test that use the RelaxedPrecision decoration.

Components: Vulkan
VK-GL-CTS issue: 2038
New tests: dEQP-VK.image.extend_operands_spirv1p4.*_relaxed_*

Change-Id: I26e42a1d7bb807616ac50ce461dd37a55effd6f8
(cherry picked from commit aaf3d22fa09cc800af076dd2d47124dd1659bcd1)

4 years agoRelaxedPrecision tests for image extend operands
Graeme Leese [Mon, 7 Oct 2019 17:23:10 +0000 (18:23 +0100)]
RelaxedPrecision tests for image extend operands

Where the decoration makes sense (that is, for images with fewer than 16
bits per channel), add test that use the RelaxedPrecision decoration.

Components: Vulkan
VK-GL-CTS issue: 2038
New tests: dEQP-VK.image.extend_operands_spirv1p4.*_relaxed_*

Change-Id: I26e42a1d7bb807616ac50ce461dd37a55effd6f8

4 years agoUConvert tests for signed int operand type
Boris Zanin [Fri, 13 Sep 2019 10:49:24 +0000 (12:49 +0200)]
UConvert tests for signed int operand type

OpUConvert where the operand type is a signed integer type.

Add tests:
 * dEQP-VK.spirv_assembly.instruction.compute.uconvert.int*
 * dEQP-VK.spirv_assembly.instruction.graphics.uconvert.int*

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

Components: Vulkan

VK-GL-CTS issue: 1876

Change-Id: I0cee4fa43fab995ef20dcc30454d910ce371bb6e
(cherry picked from commit b0eda2776125d76c3ef3df394d6c224271f90f95)

4 years agoAdd tests for SignExtend with 'unsigned' types
Graeme Leese [Mon, 7 Oct 2019 12:43:19 +0000 (13:43 +0100)]
Add tests for SignExtend with 'unsigned' types

SPIR-V wants to allow 'unsigned' as meaning 'unknown-signedness', in
which case a signed access will have an unsigned SampledType and the
SignExtend operand. Add tests for this combination.

Components: Vulkan
VK-GL-CTS issue: 2038
Affects: dEQP-VK.image.extend_operands_spirv1p4.*

Change-Id: Icd2ea0f41fcaab36d03ea3cff919449db3bd469a
(cherry picked from commit b76f0d042c3587221daa77fef55b2642204a7ca3)

4 years agoAdd tests for SignExtend with 'unsigned' types
Graeme Leese [Mon, 7 Oct 2019 12:43:19 +0000 (13:43 +0100)]
Add tests for SignExtend with 'unsigned' types

SPIR-V wants to allow 'unsigned' as meaning 'unknown-signedness', in
which case a signed access will have an unsigned SampledType and the
SignExtend operand. Add tests for this combination.

Components: Vulkan
VK-GL-CTS issue: 2038
Affects: dEQP-VK.image.extend_operands_spirv1p4.*

Change-Id: Icd2ea0f41fcaab36d03ea3cff919449db3bd469a

4 years agoUConvert tests for signed int operand type
Boris Zanin [Fri, 13 Sep 2019 10:49:24 +0000 (12:49 +0200)]
UConvert tests for signed int operand type

OpUConvert where the operand type is a signed integer type.

Add tests:
 * dEQP-VK.spirv_assembly.instruction.compute.uconvert.int*
 * dEQP-VK.spirv_assembly.instruction.graphics.uconvert.int*

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

Components: Vulkan

VK-GL-CTS issue: 1876

Change-Id: I0cee4fa43fab995ef20dcc30454d910ce371bb6e

4 years agoSkip test with no display plane is available
Lionel Landwerlin [Fri, 27 Sep 2019 11:28:23 +0000 (14:28 +0300)]
Skip test with no display plane is available

Similarly to dEQP-VK.wsi.display.get_display_properties that skips
when no display available.

Components: Vulkan
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities2

Change-Id: I46af976a9ba3e77e250504d0164dec6ac4cdd607
(cherry picked from commit fd915c2d0ec7b544b670192447223061fe4b6cf3)

4 years agoSkip test with no display plane is available
Lionel Landwerlin [Fri, 27 Sep 2019 11:28:23 +0000 (14:28 +0300)]
Skip test with no display plane is available

Similarly to dEQP-VK.wsi.display.get_display_properties that skips
when no display available.

Components: Vulkan
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities2

Change-Id: I46af976a9ba3e77e250504d0164dec6ac4cdd607
(cherry picked from commit fd915c2d0ec7b544b670192447223061fe4b6cf3)

4 years agoSkip test with no display plane is available
Lionel Landwerlin [Fri, 27 Sep 2019 11:28:23 +0000 (14:28 +0300)]
Skip test with no display plane is available

Similarly to dEQP-VK.wsi.display.get_display_properties that skips
when no display available.

Components: Vulkan
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities2

Change-Id: I46af976a9ba3e77e250504d0164dec6ac4cdd607

4 years agoFix subnormal floats in extended image usage tests
Ricardo Garcia [Thu, 3 Oct 2019 15:51:07 +0000 (17:51 +0200)]
Fix subnormal floats in extended image usage tests

When transcoding images in the extended image usage bit tests, Inf and
NaN were correctly taken into account and removed from input data.
However, subnormal floats were only being taken into account in the
32-bit float case.

The Vulkan spec regarding the precision and operation of SPIR-V
instructions mentions subnormal values may be flushed to zero in any
shader instruction, including the shader code to transcode images, and
have to be taken into account for half floats too.

Afffected tests:
dEQP-VK.image.extended_usage_bit.*

Components: Vulkan
VK-GL-CTS issue: 1747

Change-Id: I74a5d27b40f773f8d85e86a0a5d04eb0b4f16194
(cherry picked from commit 300b27043f8c93dcce4b3c788b33688ab59867af)

4 years agoFix subnormal floats in extended image usage tests
Ricardo Garcia [Thu, 3 Oct 2019 15:51:07 +0000 (17:51 +0200)]
Fix subnormal floats in extended image usage tests

When transcoding images in the extended image usage bit tests, Inf and
NaN were correctly taken into account and removed from input data.
However, subnormal floats were only being taken into account in the
32-bit float case.

The Vulkan spec regarding the precision and operation of SPIR-V
instructions mentions subnormal values may be flushed to zero in any
shader instruction, including the shader code to transcode images, and
have to be taken into account for half floats too.

Afffected tests:
dEQP-VK.image.extended_usage_bit.*

Components: Vulkan
VK-GL-CTS issue: 1747

Change-Id: I74a5d27b40f773f8d85e86a0a5d04eb0b4f16194

4 years agoRemove uses of strstr in vktSpvAsmFloatControlsTests.cpp
Boris Zanin [Fri, 4 Oct 2019 09:52:09 +0000 (11:52 +0200)]
Remove uses of strstr in vktSpvAsmFloatControlsTests.cpp

Add flags to detect usage of types and/or constants using bit
flags instead of expensive string lookup operations (like strstr).

Affects:
 * dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
 * dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Components: vulkan

VK-GL-CTS issue: 1927

Change-Id: I9635c81c056a8c8d83a832eddf2e371d1fcec885
(cherry picked from commit 4e2e58f4f53df69a295182a837f385ea8f8d1929)

4 years agoRemove uses of strstr in vktSpvAsmFloatControlsTests.cpp
Boris Zanin [Fri, 4 Oct 2019 09:52:09 +0000 (11:52 +0200)]
Remove uses of strstr in vktSpvAsmFloatControlsTests.cpp

Add flags to detect usage of types and/or constants using bit
flags instead of expensive string lookup operations (like strstr).

Affects:
 * dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
 * dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Components: vulkan

VK-GL-CTS issue: 1927

Change-Id: I9635c81c056a8c8d83a832eddf2e371d1fcec885

4 years agoRemove tests that check non-zero values for reservedMustBeZero after GL 4.2
Alejandro Piñeiro [Thu, 26 Sep 2019 10:52:41 +0000 (12:52 +0200)]
Remove tests that check non-zero values for reservedMustBeZero after GL 4.2

draw_indirect.misc-reservedMustBeZero-arrays and
draw_indirect.misc-reservedMustBeZero-elements tests that the driver
doesn't crash or emit any error if the reserved field at
DrawArraysIndirectCommand and DrawEelementsIndirectCommand is
different to zero.

But that field become defined on GL 4.2 (it became baseInstance), so
after 4.2 those tests doesn't make sense.

Components: OpenGL

VK-GL-CTS issue: 2023

Affects:
KHR-GL42.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL42.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL43.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL43.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL44.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL44.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL45.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL45.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL46.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL46.draw_indirect.misc-reservedMustBeZero-elements

Change-Id: I6c9872efd4f161179da157f6f5f26731a2032372

4 years agoSet swap interval to 0
Juan A. Suarez Romero [Fri, 24 Nov 2017 11:36:19 +0000 (11:36 +0000)]
Set swap interval to 0

By default, when swapping front and back frame buffers, this is in sync
with v-blank, which prevents tearing.

So this means the tests does not run at is maximum allowed speed, but it
is restricted somewhat by the attached screen.

When running in a window and X realizes the is no monitor attached, the
server's Present code will vsync at 1 FPS, which artificially slow down
the tests a ton.

To avoid this issue, and also because we want to run things as fast as
possible, set the swap interval to 0, which basically deactivate the
sync.

Test: cmake .. -DDEQP_TARGET=x11_egl

Change-Id: I04bcb814fb289d58f8788e90f5118db0b7175777

4 years agoLimit the apiVersion of the instance within the CTS framework
Piers Daniell [Thu, 5 Sep 2019 18:19:24 +0000 (12:19 -0600)]
Limit the apiVersion of the instance within the CTS framework

This CL allows older CTS tests to run on implementations that
support a newer instance version not supported by this version
of CTS.

The dEQP-VK.api.version_check.version test was modified to
fail if this version of CTS is run on an implementation
it does not support. This is to stop old CTS from passing
on newer implementations, where the newer CTS should have
been used.

Affects:

dEQP-VK.api.version_check.version
dEQP-VK.*

Components: Vulkan

VK-GL-CTS issue: 1979

Change-Id: I97cd17b0aae9b3cba7c2e000d21636ad37c1fd80

4 years agoFix SEMAPHORE_TYPE_TIMELINE enum
Alexander Galazin [Fri, 11 Oct 2019 08:45:43 +0000 (10:45 +0200)]
Fix SEMAPHORE_TYPE_TIMELINE enum

Components: Vulkan

Change-Id: Id4949383bed578436e321c621a8ff495157da895

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Fri, 11 Oct 2019 08:32:13 +0000 (10:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I6597defb9bda8c8e6393033bf444befd4b9301fb

4 years agoFix relaxed precision and no perspective dEQP tests
John Corbally [Wed, 2 Oct 2019 16:31:55 +0000 (17:31 +0100)]
Fix relaxed precision and no perspective dEQP tests

In the RelaxedPrecision case, change epsilon to 2e-3 for a 16-bit float.
In the NoPerspective case, change epsilon to 3e-7 for a 32-bit float.

The epsilon is now relative to the correct value.

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.*

Components: Vulkan

VK-GL-CTS issue: 1818

Change-Id: Id21382ce4b1cb58458ec3fb521630ab75e1910a3

4 years agoUpdate glslang
Alexander Galazin [Thu, 10 Oct 2019 15:31:00 +0000 (17:31 +0200)]
Update glslang

Affects: dEQP-VK.binding_model.buffer_device_address.*

Components: Vulkan

VK-GL-CTS issue: 2046

Change-Id: I60e3579df3bb3f81732fec0c46803a97fc00953a

4 years agoFixed flags used to select queue in dEQP-VK.synchronization.op.multi_queue
Peter Quayle [Wed, 9 Oct 2019 16:43:32 +0000 (17:43 +0100)]
Fixed flags used to select queue in dEQP-VK.synchronization.op.multi_queue

getDefaultQueue takes a VkQueueFlags argument and returns an appropriate VkQueue.
This function was being called with inappropriate arguments
causing the wrong queue to be returned. This could ultimately lead to work
being submitted to a queue which lacked support for it (e.g. graphics work
on a sparse queue).

Affects:

dEQP-VK.synchronization.op.multi_queue*

Components: Vulkan

VK-GL-CTS issue: 2043

Change-Id: I7887d1b4da8c916aed032433c6634c99b723f285
(cherry picked from commit 1bd32d3221dd65087de14ae061f798b78ac7ce0d)

4 years agoFixed flags used to select queue in dEQP-VK.synchronization.op.multi_queue
Peter Quayle [Wed, 9 Oct 2019 16:43:32 +0000 (17:43 +0100)]
Fixed flags used to select queue in dEQP-VK.synchronization.op.multi_queue

getDefaultQueue takes a VkQueueFlags argument and returns an appropriate VkQueue.
This function was being called with inappropriate arguments
causing the wrong queue to be returned. This could ultimately lead to work
being submitted to a queue which lacked support for it (e.g. graphics work
on a sparse queue).

Affects:

dEQP-VK.synchronization.op.multi_queue*

Components: Vulkan

VK-GL-CTS issue: 2043

Change-Id: I7887d1b4da8c916aed032433c6634c99b723f285

4 years agoFix semaphore creation in smoke tests
Peter Quayle [Tue, 8 Oct 2019 16:35:04 +0000 (17:35 +0100)]
Fix semaphore creation in smoke tests

The test was calling createSemaphore instead of createSemaphoreType,
meaning that the semaphoreType value would incorrectly be interpreted
as a VkSemaphoreCreateFlags.

Additionally, the VkTimelineSemaphoreSubmitInfo struct was not being
added into the pNext chain of the submits. This probably went unnoticed
because the first bug could cause the test to use binary semaphores
even if semaphoreType was TIMELINE.

Affects:

dEQP-VK.synchronization.smoke.binary_semaphores
dEQP-VK.synchronization.smoke.timeline_semaphores

Components: Vulkan

VK-GL-CTS issue: 2041

Change-Id: I6936013b7f5a7e25f4af1fb4776d4d7273243d7a
(cherry picked from commit a8238c0aa023c121f79f09c6565875e235292f27)

4 years agoFix semaphore creation in smoke tests
Peter Quayle [Tue, 8 Oct 2019 16:35:04 +0000 (17:35 +0100)]
Fix semaphore creation in smoke tests

The test was calling createSemaphore instead of createSemaphoreType,
meaning that the semaphoreType value would incorrectly be interpreted
as a VkSemaphoreCreateFlags.

Additionally, the VkTimelineSemaphoreSubmitInfo struct was not being
added into the pNext chain of the submits. This probably went unnoticed
because the first bug could cause the test to use binary semaphores
even if semaphoreType was TIMELINE.

Affects:

dEQP-VK.synchronization.smoke.binary_semaphores
dEQP-VK.synchronization.smoke.timeline_semaphores

Components: Vulkan

VK-GL-CTS issue: 2041

Change-Id: I6936013b7f5a7e25f4af1fb4776d4d7273243d7a

4 years agoSplit descriptor set indexing render pass workload
Mike Byrne [Mon, 30 Sep 2019 13:57:05 +0000 (14:57 +0100)]
Split descriptor set indexing render pass workload

The render pass workload for descriptor set indexing tests should be
split into multiple submissions to prevent timeouts observed in tests
for the VK_DESCRIPTOR_TYPE_SAMPLER,
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT,
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER and
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE descriptor types.

Affects: dEQP-VK.descriptor_indexing*

Components: Vulkan

VK-GL-CTS Issue: 2026

Change-Id: I3b4876ec204fe1c1ebf174e06328653f0a5532d3