platform/upstream/VK-GL-CTS.git
4 years agoFixes sync test shader instance counts
Matthew Netsch [Wed, 28 Aug 2019 15:05:25 +0000 (11:05 -0400)]
Fixes sync test shader instance counts

Tests incorrectly required implementations to
execute only 1 vs instance per vertex.

Components: Vulkan
VK-GL-CTS Issue: 1958

Affects:
dEQP-VK.synchronization.op.*.write_indirect_buffer*

Change-Id: I17e42658706712a4f9d07931ac234c1e1807d693

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 29 Aug 2019 12:06:21 +0000 (14:06 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Ic4d2bda684057e57ae78e3894e646a8b4653da74

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 29 Aug 2019 10:34:59 +0000 (12:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I75388239129fe489793729297b9aff59da4d77da

4 years agoexternal fence tests: account for sync fd -1 in multiple export case
Lingfeng Yang [Wed, 21 Aug 2019 15:45:10 +0000 (08:45 -0700)]
external fence tests: account for sync fd -1 in multiple export case

Spec allows for sync fd == -1 to be returned from vkGetFenceFdKHR
as a signal that the fence is signaled.

VK-GL-CTS issue: 1937

Components: Vulkan

Affects:
dEQP-VK.api.external.fence.sync_fd.export_multiple_times_temporary

Change-Id: I7391d180bdc1a585c7b57930fc1750d13f7151e1
(cherry picked from commit e266d2f1ee82d20c06c3c48064f60ac4fecd8b1d)

4 years agoExplicitly use -A Win32 platform in CMake Visual Studio 2019 builds
Slawomir Cygan [Fri, 23 Aug 2019 12:33:19 +0000 (14:33 +0200)]
Explicitly use -A Win32 platform in CMake Visual Studio 2019 builds

There is a new CMake switch "-A" for selecting a platform in
Visual Studion CMake generators.

It was set only for 64-bit builds (to x64), however it seems it does not
default to Win32 - so it must be set also for 32-bit builds.

Components: Framework

VK-GL-CTS Issue: 1950

Change-Id: I4d0e9f1a9c8dd0f3060e138f613c8e5326b6fc9f

4 years agoAdds cubic filter to allowed ycbcr format features
Matthew Netsch [Mon, 26 Aug 2019 16:26:12 +0000 (12:26 -0400)]
Adds cubic filter to allowed ycbcr format features

Components: Vulkan
VK-GL-CTS Issue: 1938

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

Change-Id: I9f32b902820d7a50db9ae51a5ba61f8bab9042ba

4 years agoCheck supported features and properties for transform feedback tests
John Anthony [Thu, 11 Jul 2019 14:54:59 +0000 (16:54 +0200)]
Check supported features and properties for transform feedback tests

Builtin tests using shaderClipDistance and/or shaderCullDistance should
check if the features they need are supported. BackwardDependency test
should check if transformFeedbackDraw is supported.

Affects:
- dEQP-VK.transform_feedback.simple.xfb_clipdistance_*
- dEQP-VK.transform_feedback.simple.xfb_culldistance_*
- dEQP-VK.transform_feedback.simple.xfb_clip_and_cull_*
- dEQP-VK.transform_feedback.simple.backward_dependency

Components: Vulkan

VK-GL-CTS issue: 1934

Change-Id: I76b22a506ba608d3e3f4ea5586c74b0b7ca1066a

4 years agoFixes stencil load/store flags in renderpass tests
Matthew Netsch [Wed, 21 Aug 2019 15:43:35 +0000 (11:43 -0400)]
Fixes stencil load/store flags in renderpass tests

Components: Vulkan
VK-GL-CTS Issue: 1939

Affects:
dEQP-VK.renderpass*.simple.*stencil

Change-Id: I042c08b9bee6ba00ea3237e24f3fb6b2f1aebd9b

4 years agoHave just one definition of AmberTestCase
Chris Forbes [Thu, 29 Aug 2019 02:13:38 +0000 (19:13 -0700)]
Have just one definition of AmberTestCase

There were two -- an empty stub in the util header, and the real one.
This made it impossible to actually use the full API to set
feature/extension requirements, etc.

Instead, I have forward-declared the Amber Recipe type so that including
vktAmberTestCase.hpp does not involve pulling in Amber headers.

Add geometryShader feature requirement to provoking vertex Amber tests,
allowing them to skip properly on devices which do not support geometry
shaders.

Affects: dEQP-VK.rasterization.provoking_vertex.*
VK-GL-CTS Issue: 1964

Change-Id: Id6d1068c45b2aacc29d07527edd53d65953c49a3

4 years agoFix AmberTestCase feature mapping for geometryShader
Chris Forbes [Thu, 29 Aug 2019 00:44:47 +0000 (17:44 -0700)]
Fix AmberTestCase feature mapping for geometryShader

This was accidentally wired up to tessellationShader instead

VK-GL-CTS Issue: 1963
Change-Id: Id11fd09cf5c0c1353d3df4ecdcbe95bdfa9fa397

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Tue, 27 Aug 2019 07:13:13 +0000 (09:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I99471c0d878e8abb8c01d7b43a71a9b3e7fbe285

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

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

Change-Id: I0246519ac51fcb2eb30fa264b02eb1f30c763e24
(cherry picked from commit 36005ceedd19e39bd11972dd39c419521767dac6)

4 years agoNew tests for VK_EXT_shader_demote_to_helper_invocation
Jeff Bolz [Sun, 2 Jun 2019 04:11:00 +0000 (23:11 -0500)]
New tests for VK_EXT_shader_demote_to_helper_invocation

Based on dEQP-VK.glsl.discard.*

New Tests: dEQP-VK.glsl.demote.*

Components: Vulkan
Change-Id: I9c2346592cac51cfe2de10f9586c4790c04766b6
(cherry picked from commit 529b996513d092334de3dabd4b3e44031201bdd9)

4 years agoWhitelist 1.1.4.3 and 1.1.3.3 versions
Alexander Galazin [Mon, 26 Aug 2019 12:15:18 +0000 (14:15 +0200)]
Whitelist 1.1.4.3 and 1.1.3.3 versions

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: Ia071c4983326e9e47a58d268264e568bea777c1c

4 years agoTest coverage for VK_EXT_index_type_uint8
Piers Daniell [Wed, 24 Jul 2019 05:07:47 +0000 (23:07 -0600)]
Test coverage for VK_EXT_index_type_uint8

Adds coverage for VK_EXT_index_type_uint8 by adding
a new VK_INDEX_TYPE_UINT8_EXT variant to the existing
input_assembly tests. The coverage includes drawing
all the primitive topologies with uint8 indices,
and also primitive restart.

Affects:

dEQP-VK.pipeline.input_assembly.*

Change-Id: I939c1e0d2c3d4fcfd4386b8b4e419a8ca0e73413
Components: Vulkan
(cherry picked from commit e0e648699ac9279650486609cf16ec6e10d73042)

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

Change-Id: If70c0a43c7453bdea1cfe4666be9bdc946108a31

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 22 Aug 2019 11:42:23 +0000 (13:42 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I4059d84b79a3ad4504f436fa39dc2cddb294f8d7

4 years agoSplit compute workload into multiple submissions
Matthew Netsch [Wed, 14 Aug 2019 11:08:32 +0000 (16:38 +0530)]
Split compute workload into multiple submissions

Reduces workload per submission

Components: Vulkan
VK-GL-CTS Issue: 1751

Affects:
dEQP-VK.memory_model.message_passing.*

Change-Id: Ia9e9b63851b18ae1d5c1b65426ee864d760bf87c

4 years ago1d_image: basic: compute: texel_view_compatible: set size.y to 1
Yahan Zhou [Wed, 7 Aug 2019 19:44:50 +0000 (12:44 -0700)]
1d_image: basic: compute: texel_view_compatible: set size.y to 1

1d images need to have size.y=1. Otherwise Vulkan validation layer will
complain.

Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.1d_image*

Components: Vulkan

VK-GL-CTS issue: 1920

Change-Id: I0dd24d612aafb416a74b5eb6f16bb55c76175a0f
(cherry picked from commit fe76a662df108542ff27e1c4f5a83077b54444c4)

4 years agoFix incorrect layout transition in render pass
Piers Daniell [Tue, 13 Aug 2019 22:11:23 +0000 (16:11 -0600)]
Fix incorrect layout transition in render pass

For the dEQP-VK.device_group.* tests the renderImage was
created with an UNDEFINED layout and then explicitly
transitioned to COLOR_ATTACHMENT_OPTIMAL during the test
initialization. Then the renderPass was created using the
makeRenderPass() utility function which assumed the
image was in the UNDEFINED state. This caused the
image to be transitioned again from UNDEFINED
to COLOR_ATTACHMENT_OPTIMAL at begin render pass time,
which might modify any valid image data.

The solution is to fix the render pass creation
to indicate that the renderImage is already in the
COLOR_ATTACHMENT_OPTIMAL layout.

Affects:

dEQP-VK.device_group.*

VK-GL-CTS issue: 1922

Change-Id: I5e1dff19eb854af9651615a7318379a318b8c273
Components: Vulkan

4 years agoAdd pipeline barriers flushing buffer data to host
Panagiotis Apostolou [Thu, 25 Jul 2019 10:29:18 +0000 (12:29 +0200)]
Add pipeline barriers flushing buffer data to host

This commit adds a few buffer pipeline barriers whose purpose is to flush
gpu caches, making the buffer data visible to the host.

Affects:
dEQP-VK.pipeline.push_constant.compute_pipeline.simple_test
dEQP-VK.glsl.builtin.precision.*
dEQP-VK.glsl.builtin.function.*
dEQP-VK.api.command_buffers.record_simul_use_secondary_one_primary
dEQP-VK.synchronization.op.single_queue.*
dEQP-VK.query_pool.occlusion_query.*

Components: Vulkan

VK-GL-CTS issue: 1898

Change-Id: Ic6a467b4d1db6cebebf34c8d386e519016fc3fe9

4 years agoVK_KHR_pipeline_executable_properties tests
Jason Ekstrand [Tue, 21 May 2019 23:35:19 +0000 (18:35 -0500)]
VK_KHR_pipeline_executable_properties tests

Components: Vulkan
New Tests: dEQP-VK.pipeline.executable_properties.*

Change-Id: I5534d945e65e645b8e43c23008b887797f4a5b85

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

Change-Id: I9cc0f3b31193377219058dce043d7b8a929b9eea

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Wed, 14 Aug 2019 12:04:45 +0000 (14:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I6c972fa2e2028e4f813ab96eb565c93c440faf9d

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Wed, 14 Aug 2019 11:52:47 +0000 (13:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I7f00708e05e1cf20c6439e52287d21eacf32ca01

4 years agoProvide a highp variable to MAKE_HIGH_BALLOT_RESULT
Hsin-Hsiao Lin [Thu, 25 Jul 2019 07:13:34 +0000 (09:13 +0200)]
Provide a highp variable to MAKE_HIGH_BALLOT_RESULT

The MAKE_HIGH_BALLOT_RESULT macro assumes the input is 32bit.
Given a mediump variable, ex: gl_SubgroupSize, would produce an
undefined result when the input value is >= 16 and the computation
is in 16 bits.
Provide a highp input would ensure the computation is in 32 bits.

Affects:
  dEQP-VK.subgroups.ballot_other.*

Components: vulkan

VK-GL-CTS issue: 1894

Change-Id: I22987f20be3d08444c52cb722fc23494777a5636

4 years agoUpdate device_group test to ignore VK_SUBOPTIMAL_KHR
Fabio [Thu, 25 Jul 2019 15:08:16 +0000 (17:08 +0200)]
Update device_group test to ignore VK_SUBOPTIMAL_KHR

The transform used to create the swapchain does not match the
surface rotation. This causes vkQueuePresentKHR to return
VK_SUBOPTIMAL_KHR. This return code can be ignored.

Components: Vulkan

VK-GL-CTS Issue: 1899

Affects: dEQP-VK.wsi.android.swapchain.render.device_group

Change-Id: I27d8e61007dd049b8e9cc532918056b8493a9b52

4 years agoAdd result buffer invalidates to depth stencil resolve tests
Stephen Gallimore [Wed, 31 Jul 2019 15:24:57 +0000 (16:24 +0100)]
Add result buffer invalidates to depth stencil resolve tests

Components: Vulkan
VK-GL-CTS issue: 1907
Affects: dEQP-VK.renderpass2.depth_stencil_resolve.*

Change-Id: I90920f6005b0d6a72a78c588f4c3abec81826516

4 years agoAdd missing checks for sampleShading feature
Chris Forbes [Sun, 28 Jul 2019 20:34:13 +0000 (13:34 -0700)]
Add missing checks for sampleShading feature

These cases were missed in the previous pass as they were masked by the
(correct) check for fragmentStoresAndAtomics.

Components: Vulkan

Affects: dEQP-VK.glsl.builtin_var.*

VK-GL-CTS Issue: 1901

Change-Id: I4d19c5075d14f60ead4c6df6370fffc870cde68a

4 years agoAdd barrier to access chain workgroup tests
Martin Freebody [Mon, 22 Jul 2019 13:30:24 +0000 (14:30 +0100)]
Add barrier to access chain workgroup tests

These tests can complete with a failure to match expected
result in the last array element due to a race condition
with the parallel work-items.

The first work-item should set the last array element to 0
before a function to read the last array element is executed
on a parallel work-item.

Without the barrier it's possible on occasional test runs
to read uninitialised memory into the last array element.

Components: Vulkan

VK-GL-CTS issue: 1893

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

Change-Id: I072299f7995b8f65e26195cfddd12f49cffcc9ff

4 years agoFix wrong image usage flags in external memory info tests
Slawomir Cygan [Tue, 6 Aug 2019 19:53:18 +0000 (21:53 +0200)]
Fix wrong image usage flags in external memory 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 adds COLOR, DEPTH or INPUT usage bit alongside TRANSIENT usage.

VK-GL-CTS Issue: 1913

Components: Vulkan

Change-Id: If7d4b3889f9b8709af09d448fdb24e61d493ebde
Affects: dEQP-VK.api.external.memory*info

4 years agoMake random number usage platform independent
Ari Suonpaa [Tue, 23 Apr 2019 11:57:47 +0000 (14:57 +0300)]
Make random number usage platform independent

Generating multiple random numbers in argument
list can happen in different order depending on
implementation. This change makes these happen
in the same order with all implementations.

Affects:

dEQP-VK.api.granularity.*
dEQP-VK.draw.basic_draw.*
dEQP-VK.protected_memory.*
dEQP-VK.glsl.builtin.function.common.*
dEQP-VK.glsl.builtin.function.pack_unpack.*
dEQP-VK.glsl.texture_gather.*
dEQP-VK.spirv_assembly.*
dEQP-GLES3*.functional.shaders.builtin_functions.common.*

Components: Vulkan, OpenGL, Framework

(cherry picked from commit 0106f01209fe7abb7f4daf029318a1de17844c48)

VK-GL-CTS issue: 1591

Change-Id: Iaaff9625fd331ed7184efd50b89fc835c701ac6f

4 years agoFixes 64bit random values for 32bit CTS build
Arkadiusz Sarwa [Wed, 24 Jul 2019 10:41:42 +0000 (12:41 +0200)]
Fixes 64bit random values for 32bit CTS build

In 32bit build a 64bit random value is assigned
to 32bit value what cause different path of execution.

Components: Vulkan
VK-GL-CTS Issue: 1895

Affects:
dEQP-VK.memory.pipeline_barrier.all.*

Change-Id: I1f51b8b30be9a70ae82326609bc382431b8f3b80

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Wed, 24 Jul 2019 06:56:55 +0000 (08:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I1e2517f737ee503fdd0f50c517270e35ed25b203

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Tue, 23 Jul 2019 18:02:50 +0000 (20:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I4ed438d3edefade78a1602957d3d26fa777175c2

4 years agoFix command line parameters processing of TestLog
Tony Zlatinski [Fri, 19 Jul 2019 00:04:44 +0000 (19:04 -0500)]
Fix command line parameters processing of TestLog

Change 7b7791a40f for issue 1666 has added functionality
to TestLog by adding extra parameters to the constructor.
The change, however, has patchied only one of the uses of the
class, breaking the other 3 uses of it. This has caused the
log flags to be wrong, and the new functionality introduced
by 7b7791a40f to not work, as expected.

This change fixes the rest of the locations and is adding one
more constructor for the TestLog class targeted for use by Android.

Components: Framework

VK-GL-CTS issue: 1887

Change-Id: I8d52d40ee5dffb120b8a4945b0f865c8f3e7b7dd

4 years agoPipeline barriers flushing buffer data to host
Panagiotis Apostolou [Fri, 12 Jul 2019 09:25:43 +0000 (11:25 +0200)]
Pipeline barriers flushing buffer data to host

Adds pipeline barriers after vkCmdDispatch which essentially flushes gpu
caches and the buffer data becomes visible to the host.

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

Components: Vulkan

VK-GL-CTS issue: 1880

Change-Id: Ib99a4ed9a1a2d57b286dea2251b3bc4a67002dfb

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

Change-Id: Ic5126bd75b2616bdd9525d65eca95dc170475ced

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

Affects:
dEQP-VK.synchronization.win32_keyed_mutex.*

Components: Vulkan
VK-GL-CTS issue: 1866

Change-Id: I982bcd2e2ac15aa5cae403fcec859b28bcaf7999

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

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

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

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

Components: Vulkan

VK-GL-CTS Issue: 1881

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

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

Change-Id: I3ee381095ae5e6ffe4c3d581fd4de06cf1f7c8ec

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

Change-Id: I01ed4686a43801a91df0459b821fd047f4858940

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

Removes conformance version tests from android CTS.

Split tests designed to validate VK_KHR_driver_properties
into several smaller tests.

Add three more records into knownDriverIds.

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

Remove:
 * dEQP-VK.api.driver_properties

Components: vulkan

VK-GL-CTS issue: 1839

Change-Id: I9b591778c9833fd890c9af46cb87d9f5eb695dbd

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

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

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

VK-GL-CTS Issue: 1867

Change-Id: I257ab8ae59a13e24fb299b6b47e925f3c105aecb
Components: Vulkan, AOSP

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

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

Affects:

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

Components: Vulkan
VK-GL-CTS Issue: 1829

Change-Id: I57627fc895ed4a0e023e9f81e0cc6cdc203d2485

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

Change-Id: I34d0c949c112eb56427e54f1b0f34f730a1d0b27

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

Components: Framework

Change-Id: I52c92750e9e2874b86fd7bceea0070ad609909c1

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

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

Update tests:
 * dEQP-VK.imageless_framebuffer.*

Components: Vulkan

VK-GL-CTS issue: 1477

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

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

Implement imageless framebuffer extension tests.

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

Components: Vulkan

VK-GL-CTS issue: 1477

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

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

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: I5493e4a3cf0007c761a339d4e281d3fd94724023

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

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

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

Components: Vulkan

VK-GL-CTS issue: 1862

Change-Id: I3c3f44574bef0ad2d61b27f0b3d94f9e24924a92

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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