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

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 10 Oct 2019 11:21:55 +0000 (13:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I288a90fcda0d3cbd7fbb1f8d622dee03f6b74f62

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

Change-Id: I45e2e3c52d89424f714c43c76fc2dd9aea2a793d

4 years agoShare device across synchronization tests (again)
Jeff Bolz [Mon, 30 Sep 2019 14:06:29 +0000 (09:06 -0500)]
Share device across synchronization tests (again)

This change reverts the deletion of this logic in the cross_instance
tests, and ports the logic to the new timeline semaphore tests.

Components: Vulkan
Affects: dEQP-VK.synchronization.cross_instance.*
Affects: dEQP-VK.synchronization.timeline_semaphore.*
Affects: dEQP-VK.synchronization.signal_order.*
Change-Id: I6dec095a8314aea3062f2ad532a4b4bdede398eb

4 years agoAdd feature requirements to existing amber files
Chris Forbes [Wed, 25 Sep 2019 23:51:40 +0000 (16:51 -0700)]
Add feature requirements to existing amber files

Updates the amber files themselves to mirror the constraints enforced on the C++ side.

Components: Vulkan
Change-Id: I698a39732b02cb99fe1aeb369f1054ac9a769bfb
VK-GL-CTS: 1965

4 years agoAdd variable pointers requirement for vktSpvAsmPtrAccessChainTests
Chris Forbes [Thu, 29 Aug 2019 04:31:39 +0000 (21:31 -0700)]
Add variable pointers requirement for vktSpvAsmPtrAccessChainTests

These tests did not check for the variablePointers feature they need.

Components: Vulkan

VK-GL-CTS Issue: 1965

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

Change-Id: Ied75a1c5661755549cc599b2397a18345bc727f9

4 years agoFixes VS num instances assumption
Matthew Netsch [Fri, 4 Oct 2019 21:09:39 +0000 (17:09 -0400)]
Fixes VS num instances assumption

Components: Vulkan
VK-GL-CTS Issue: 2022

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.writes*

Change-Id: Ie1d784733774ae357698cf8a5672fcccdb0c1e1e

4 years agoCheck extension limits
Boris Zanin [Thu, 26 Sep 2019 08:57:58 +0000 (10:57 +0200)]
Check extension limits

Add extension limits validaty check. The tests are per-extention.

Add tests:
 * dEQP-VK.api.info.vulkan1p2_limits_validation.khr_push_descriptor
 * dEQP-VK.api.info.vulkan1p2_limits_validation.khr_multiview
 * dEQP-VK.api.info.vulkan1p2_limits_validation.ext_discard_rectangles
 * dEQP-VK.api.info.vulkan1p2_limits_validation.ext_sample_locations
 * dEQP-VK.api.info.vulkan1p2_limits_validation.ext_external_memory_host
 * dEQP-VK.api.info.vulkan1p2_limits_validation.ext_blend_operation_advanced
 * dEQP-VK.api.info.vulkan1p2_limits_validation.khr_maintenance_3
 * dEQP-VK.api.info.vulkan1p2_limits_validation.ext_conservative_rasterization
 * dEQP-VK.api.info.vulkan1p2_limits_validation.ext_descriptor_indexing
 * dEQP-VK.api.info.vulkan1p2_limits_validation.ext_inline_uniform_block
 * dEQP-VK.api.info.vulkan1p2_limits_validation.ext_vertex_attribute_divisor
 * dEQP-VK.api.info.vulkan1p2_limits_validation.nv_mesh_shader
 * dEQP-VK.api.info.vulkan1p2_limits_validation.ext_transform_feedback
 * dEQP-VK.api.info.vulkan1p2_limits_validation.fragment_density_map
 * dEQP-VK.api.info.vulkan1p2_limits_validation.nv_ray_tracing
 * dEQP-VK.api.info.vulkan1p2_limits_validation.timeline_semaphore
 * dEQP-VK.api.info.vulkan1p2_limits_validation.ext_line_rasterization

Rename and update test:
 * dEQP-VK.api.info.vulkan1p2.limits_validation
to
 * dEQP-VK.api.info.vulkan1p2_limits_validation.general
Components: vulkan

VK-GL-CTS issue: 2008

Change-Id: I5350ef499ba70e0194d360008a893209242a28a8

4 years agoRemove unnecessary initializers
Alexander Galazin [Wed, 9 Oct 2019 07:12:17 +0000 (09:12 +0200)]
Remove unnecessary initializers

Components: Vulkan

Affects: dEQP-VK.glsl.shader_clock.*

Change-Id: I4526c05cdd5464f26450bba67f573b467881f4ff

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

Change-Id: I3a4a19f9d8bba49c51d01cc6f07fda4ceb496b45

4 years agoCheck timeline semaphore features only when used.
Igor Ostrowski [Thu, 26 Sep 2019 13:09:28 +0000 (15:09 +0200)]
Check timeline semaphore features only when used.

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

Components: Vulkan
VK-GL-CTS issue: 2025

Change-Id: I8c586bcb0199ab00fe6fffb9290abd2b06523916
(cherry picked from commit c20bf2e3023cb209ae3ec04b6e6339f8c3930dfb)

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

Change-Id: I44be4e273707047428a95e8243734259c859fe0a

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Tue, 8 Oct 2019 14:24:57 +0000 (16:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Ifd05cb161b5f393a1d5539f18a1d521482a2039f

4 years agoWhitelist newly supported VK_KHR* extensions in CTS 1.1.5
Piers Daniell [Fri, 4 Oct 2019 21:15:21 +0000 (15:15 -0600)]
Whitelist newly supported VK_KHR* extensions in CTS 1.1.5

The following extensions are now supported by
vulkan-cts-1.1.5.2:
 - VK_KHR_timeline_semaphore
 - VK_KHR_shader_clock

Affects:

dEQP-VK.api.info.device.extensions

Change-Id: I6fc4bbc5ab95557ac83c8ff8172679a343d46b23
Components: Vulkan

4 years agoSupport Python3 as well in gen_release_info.py
Eric Werness [Fri, 16 Nov 2018 21:50:40 +0000 (13:50 -0800)]
Support Python3 as well in gen_release_info.py

The CMake file version check can end up picking python3 in some cases -
making the Python code compatible with python3 seems easier than
adjusting the version check.

Components: Frameworks
Change-Id: Iab37090ab813dcb7839490225ca2a4bf2f721c12

4 years agoAdd tests for VK_KHR_shader_clock
Aaron Hagan [Mon, 20 May 2019 19:22:08 +0000 (15:22 -0400)]
Add tests for VK_KHR_shader_clock

Affects:
dEQP-VK.glsl.shader_clock.*

Components: Vulkan

VK-GL-CTS issue: https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/1758

(cherry picked from commit 9de5b8e48869ab025ed11982c6362e7f7082115f)

Change-Id: Iaca2d845ffb7a3037cee0c9cf38ff4844e7c9a48

4 years agoFix print of uninitialized value
Lionel Landwerlin [Wed, 11 Sep 2019 16:17:24 +0000 (19:17 +0300)]
Fix print of uninitialized value

Just fixing a printout in the result file.

Change-Id: Id1b4d3ee9879a07f452c5f5a0310a16d72051848
(cherry picked from commit 2d48a5baf07daeabeca8412ca6ff56d9ac92e2ca)

4 years agoAdd signal ordering tests
Lionel Landwerlin [Tue, 10 Sep 2019 11:36:19 +0000 (14:36 +0300)]
Add signal ordering tests

We want to verify that the signaling of semaphores in multiple
VkSubmitInfo a vkQueueSubmit() is ordered.

Add tests:
   dEQP-VK.synchronization.signal_order.*

Change-Id: Ibf47e7e4105f479ab33b5bafeda3efdd4c2782b5
(cherry picked from commit 70ed33e49cd109a494b85a0daeb73ff40d3157f9)

4 years agoAdd tests for VK_KHR_timeline_semaphore
Lionel Landwerlin [Fri, 1 Mar 2019 17:03:15 +0000 (17:03 +0000)]
Add tests for VK_KHR_timeline_semaphore

Renames existing semaphore tests from .*semaphore.* into .*binary_semaphore.*

Affects: dEQP-VK.synchronization.*
Change-Id: I48173432da6410a609c0d2000f21c379d4a64429
Components: Vulkan
(cherry picked from commit a86d535bb75d21445df66cdfcce0b9dc79c37604)

4 years agoSpeed up hierarchy traversal, part 2
Jari Komppa [Wed, 31 Jul 2019 10:29:15 +0000 (13:29 +0300)]
Speed up hierarchy traversal, part 2

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 work to later stage of
test run, or otherwise speed things up a bit.

Affects:

dEQP-VK.pipeline.stencil.*
dEQP-VK.synchronization.cross_instance.*
dEQP-VK.synchronization.op.multi_queue.*
dEQP-VK.transform_feedback.fuzz.*

Components: Vulkan

VK-GL-CTS issue: 1830

Change-Id: I1c124cbf17068e56375ef2e467036e959cde8aa4
(cherry picked from commit 41527af467623bae596b2bd319b0694c11f8cbf8)

4 years agoShare instance/device across test case instances in dEQP-VK.synchronization.*
Jeff Bolz [Thu, 18 Jul 2019 19:45:02 +0000 (14:45 -0500)]
Share instance/device across test case instances in dEQP-VK.synchronization.*

Some of the dEQP-VK.synchronization.* test groups create new devices or new
instances for each test case. This is a really expensive thing to do tens of
thousands of times, and makes this the longest-running test group in the CTS.
This change uses singleton objects to store the instance/device, and adds
cleanup callbacks to destroy the singletons when the group is finished.

VK-GL-CTS Issue: 1886
Components: Vulkan
Affects: dEQP-VK.synchronization.*

Change-Id: If935b457276790faf4a86e6f2afb5fd911987a85
(cherry picked from commit 90e05499c49c88fc4063748574931c3be5652b07)

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

Change-Id: Idcd78cbc60325522a070c7c777317f0d811377c7

4 years agoFix 64bit type promotions in subgroup tests
Piotr Byszewski [Fri, 27 Sep 2019 14:00:31 +0000 (16:00 +0200)]
Fix 64bit type promotions in subgroup tests

VK-GL-CTS issue: 1948
Components: Vulkan

Affects:
dEQP-VK.subgroups.*.ext_shader_subgroup_ballot.*

Change-Id: I7b8a1a8979bb16f1f4f4fcfd8579c764aa3820f0
(cherry picked from commit 57e251b094d00ad5332e1500af9cbfb490dcbe90)

4 years agoWhitelist Vulkan CTS 1.1.5.2
Alexander Galazin [Thu, 3 Oct 2019 09:13:32 +0000 (11:13 +0200)]
Whitelist Vulkan CTS 1.1.5.2

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I4a372accb5bc99345f55cea56140bd013b96b3f2

4 years agoExtended: texel_view_compatible: image: fix image coord
Yahan Zhou [Mon, 30 Sep 2019 22:12:45 +0000 (15:12 -0700)]
Extended: texel_view_compatible: image: fix image coord

Image coords in compute shaders need manual +0.5.

Affects:
dEQP-VK.image.texel_view_compatible.compute.extended.*.texture.*

Components: Vulkan

VK-GL-CTS issue: 1890

Change-Id: Iec93340004807252b0956e3d2fa19bacb899ff7b

4 years agoAccount for precision loss in unorm depth pipeline
Gary Sweet [Thu, 1 Aug 2019 11:50:40 +0000 (12:50 +0100)]
Account for precision loss in unorm depth pipeline

https://gerrit.khronos.org/#/c/4049/ introduced a regression
related to the use of depths other than 0.0 and 1.0 in the round-trip
to the depth buffer and back.

The test can now write 1.0/255.0 to gl_FragDepth and expects to see
exactly 1.0/255.0 when it is read back in the input attachment.
The unorm depth formats are only specified to be exact for the integer
values (0.0 and 1.0). We can differ by 1-bit after the round-trip.

This change adds an epsilon range check for the unorm depth tests
that resolve the issue.

Affected tests:
dEQP-VK.renderpass.dedicated_allocation.*
dEQP-VK.renderpass.suballocation.*
dEQP-VK.renderpass2.dedicated_allocation.*
dEQP-VK.renderpass2.suballocation.*

Components: Vulkan
VK_GL_CTS issue: 1908

Change-Id: Iaec3503595afd3409d2c21d8af72b469467d6673
(cherry picked from commit 611bdb3a21879d726d11a42d87639c686531ae79)

4 years agouvec2 tests for VK_KHR_buffer_device_address
Jeff Bolz [Tue, 24 Sep 2019 22:01:10 +0000 (17:01 -0500)]
uvec2 tests for VK_KHR_buffer_device_address

Add variants of the 'convert' tests that convert to and from uvec2
rather than uint64_t.

Components: Vulkan
VK-GL-CTS Issue: 2018

Affects: dEQP-VK.binding_model.buffer_device_address.*
Change-Id: I9e1a2f031e295b9200faff571aae2fc5cbb9005c

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Tue, 1 Oct 2019 11:21:46 +0000 (13:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Iac0fcad25eac20577e603b022f59b4f87cb9055a

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Tue, 1 Oct 2019 10:36:16 +0000 (12:36 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Iada24773960c88053e0a1f2fed3700a0e0df408a

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

Change-Id: I7df0259f0457521714e530c44ef34b741d230d37

4 years agoAdd check if usage is supported for image format
Marcin Kańtoch [Mon, 23 Sep 2019 16:41:58 +0000 (18:41 +0200)]
Add check if usage is supported for image format

dEQP-VK.image.swapchain_mutable* tests do not check
if the required usage is supported for image format
and image view format.

Components: Vulkan

Affects:
dEQP-VK.image.swapchain_mutable*

VK-GL-CTS issue: 2015

Change-Id: I6680d9e6ef1b03462afa01349b6f34d82ef40a17

4 years agoExclude dEQP-VK.ssbo.layout.random.scalar.75 from Android CTS
Chris Forbes [Thu, 26 Sep 2019 14:51:32 +0000 (07:51 -0700)]
Exclude dEQP-VK.ssbo.layout.random.scalar.75 from Android CTS

This is already excluded from the Khronos mustpass lists.

VK-GL-CTS Issue: 1829
Google bug: b/141657868
Google bug: b/135200048
Components: Android

Change-Id: I6b453819314cc2e8245ac9d518ef4b481fe90887

4 years agoUpdate SPIR-V Tools/Headers
Alexander Galazin [Mon, 30 Sep 2019 19:15:50 +0000 (21:15 +0200)]
Update SPIR-V Tools/Headers

Components: Framework

Affects: dEQP-VK.*

Change-Id: I2e30638ba282c2bfb6582c0934f351be0b7904bd

4 years agoUpdate headers
Alexander Galazin [Mon, 30 Sep 2019 17:11:16 +0000 (19:11 +0200)]
Update headers

Components: Vulkan

Change-Id: I269c5d33a4cc2dfcfac9db21fa2980f7d8d01771

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Mon, 30 Sep 2019 13:42:49 +0000 (15:42 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: I2a0e4c9ff079fa45ea23994cafeaae72ec97831b

4 years agoFix print of uninitialized value
Lionel Landwerlin [Wed, 11 Sep 2019 16:17:24 +0000 (19:17 +0300)]
Fix print of uninitialized value

Just fixing a printout in the result file.

Change-Id: Id1b4d3ee9879a07f452c5f5a0310a16d72051848
(cherry picked from commit 2d48a5baf07daeabeca8412ca6ff56d9ac92e2ca)

4 years agoCheck timeline semaphore features only when used.
Igor Ostrowski [Thu, 26 Sep 2019 13:09:28 +0000 (15:09 +0200)]
Check timeline semaphore features only when used.

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

Components: Vulkan
VK-GL-CTS issue: 2025

Change-Id: I8c586bcb0199ab00fe6fffb9290abd2b06523916

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Mon, 30 Sep 2019 11:47:33 +0000 (13:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I6bb3fb9e6349caed5b4d8f936772051eb4bca529

4 years agoAdd signal ordering tests
Lionel Landwerlin [Tue, 10 Sep 2019 11:36:19 +0000 (14:36 +0300)]
Add signal ordering tests

We want to verify that the signaling of semaphores in multiple
VkSubmitInfo a vkQueueSubmit() is ordered.

Add tests:
   dEQP-VK.synchronization.signal_order.*

Change-Id: Ibf47e7e4105f479ab33b5bafeda3efdd4c2782b5
(cherry picked from commit 70ed33e49cd109a494b85a0daeb73ff40d3157f9)

4 years agoAlways require glslang and spirv-tools to be present
Chris Forbes [Fri, 6 Sep 2019 21:01:18 +0000 (22:01 +0100)]
Always require glslang and spirv-tools to be present

The prebuilt shader paths are no longer used. Just require both
dependencies to be present and drop the !DEQP_HAVE_GLSLANG /
!DEQP_HAVE_SPIRV_TOOLS paths.

Mention of prebuilt binaries is removed from the Vulkan CTS readme.

The machinery to actually build all the shaders upfront is left
in place for now as it has value as a presubmit check.

Components: Vulkan, OpenGL
VK-GL-CTS Issue: 1951

Change-Id: I6a79766a07e5aeb3c9c43236a3a220f8b654511e
(cherry picked from commit d936e5f039f3a8137594bd5f39ab46140ff3079b)

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Mon, 30 Sep 2019 09:52:36 +0000 (11:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Ia87303a933940e5483b80b97139f750e5debec10

4 years agogen_ext_deps.py made independent from VK versions
Pawel Ksiezopolski [Wed, 18 Sep 2019 12:16:22 +0000 (14:16 +0200)]
gen_ext_deps.py made independent from VK versions

Script gen_ext_deps.py has been modified so that it's independent
from incoming Vulkan versions ( it uses <feature> information
from vk.xml to establish what VK versions will be required ).
Accompanying CTS tests have been modified to take advantage
of this modification.

Components: Vulkan Framework

VK-GL-CTS issue: 1954

Change-Id: I2b691e1bd64a6bcb8d1cb7193318aca6bc70655c
(cherry picked from commit a8ff253688dccdf42da109f4b53c462ac9b9bc1f)

4 years agoUse a single test source for quad tests
Graeme Leese [Fri, 6 Sep 2019 10:39:27 +0000 (11:39 +0100)]
Use a single test source for quad tests

Rather than repeat this through all the various combinations, just keep
one copy of the test source, so that changing it is not such a massive
pain.

Also, use a single source for the extension enables in the tests.

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

Change-Id: Ie3a5734c9ebeaa12c96600c7bd764a62afe7a68e

4 years agoCheck write vertex support in descriptor indexing
Mike Byrne [Wed, 18 Sep 2019 14:50:31 +0000 (15:50 +0100)]
Check write vertex support in descriptor indexing

The descriptor indexing tests which are intended to test vertex write
check if the vertexPipelineStoresAndAtomics feature is supported before
loading the descriptorIndexing_vertx_shaderWrites shader. The vertex
write verifcation needs the same check to ensure the verification is
not run when the shader is not present.

Affects: dEQP-VK.descriptor_indexing*

VK-GL-CTS Issue: 2013

Change-Id: I3870b95b65c0b657708788b9bd2a7adcb5bd8f3d
Components: Vulkan

4 years agoRequest features with VkPhysicalDeviceVulkan12Features
Boris Zanin [Wed, 18 Sep 2019 14:13:55 +0000 (16:13 +0200)]
Request features with VkPhysicalDeviceVulkan12Features

Test creates device requesting feature activation using one of core
structures:
 * VkPhysicalDeviceVulkan11Features
 * VkPhysicalDeviceVulkan12Features
or appropriate extention structure

Add test:
 * dEQP-VK.api.info.vulkan1p2.feature_bits_influence

Components: vulkan

VK-GL-CTS issue: 1993

Change-Id: I1068a5f412cb6d4027656bc6f821184ad4072023

4 years agovulkan: Adjust the required max*UpdateAfterBindInputAttachments
Jason Ekstrand [Wed, 25 Sep 2019 18:59:39 +0000 (13:59 -0500)]
vulkan: Adjust the required max*UpdateAfterBindInputAttachments

Components: Vulkan
VK-GL-CTS issue: 2020
Affects: dEQP-VK.api.info.vulkan1p2.limits_validation

Change-Id: Id1d1ecf19edcdaa9a68bb099d5b7334e347eec22

4 years ago1d_image: enforce height 1 in decompress stage as well
Lingfeng Yang [Thu, 15 Aug 2019 22:41:23 +0000 (15:41 -0700)]
1d_image: enforce height 1 in decompress stage as well

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

Components: Vulkan

VK-GL-CTS issue: 1920

Change-Id: Id98f0a8dd132da5bcd6a3f1426021c8f36a48149

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

4 years agoTexel view compatible: Image: proper check for image format supports
Yahan Zhou [Fri, 9 Aug 2019 18:35:15 +0000 (11:35 -0700)]
Texel view compatible: Image: proper check for image format supports

The queried image usage is different from what is acutally used. Fix it
so that we would not end up with an unsupported usage.

Affects:
dEQP-VK.image.texel_view_compatible*

Components: Vulkan

Google bug: 139193497
VK-GL-CTS issue: 1920

Change-Id: Ib8db61808db5f9391a54b7722f965b6608e7e694

4 years agoRe-enable non-const broadcast tests
Graeme Leese [Mon, 9 Sep 2019 14:18:15 +0000 (15:18 +0100)]
Re-enable non-const broadcast tests

Components: Vulkan
VK-GL-CTS issue: 1933
New tests: dEQP-VK.subgroups.ballot_broadcast.*_nonconst_*

Change-Id: I626f6d17bba6c2c82e019d9695f7fcdd787e4edd

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Sun, 22 Sep 2019 08:23:16 +0000 (10:23 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: I943694007a4e5e2512a3f93c257d5c08e7e50218

4 years agoFix depth store flag in seperate_channels tests
Jarred Davies [Fri, 13 Sep 2019 17:24:55 +0000 (18:24 +0100)]
Fix depth store flag in seperate_channels tests

Depth wasn't being stored despite being used.

Affects:

dEQP-VK.renderpass*.suballocation.subpass_dependencies.separate_channels.*

Components: Vulkan

VK-GL-CTS Issue: 2002

Change-Id: Ib2c678dcaef1f0c87756424c23057fb1df1c311e
(cherry picked from commit f5e267274daff5f11ad8e18f81d0abdbc064043d)

4 years agoUpdate glslang
Graeme Leese [Thu, 19 Sep 2019 16:01:07 +0000 (17:01 +0100)]
Update glslang

Change-Id: I2ac91546c86305cd72d69ced4c5a6d12d51287db

4 years agoInitialize output buffer in fragment_shader_interlock tests
Jeff Bolz [Fri, 13 Sep 2019 19:57:48 +0000 (14:57 -0500)]
Initialize output buffer in fragment_shader_interlock tests

In discard tests, not all output elements are written by the shader.
Clear the output buffer to zero to match what the test expects. The
output image was already being cleared.

Components: Vulkan
VK-GL-CTS issue: 2004
Affects: dEQP-VK.fragment_shader_interlock.*

Change-Id: Ie1049765ec4b7187b39e3d46261e9abef9f5104d
(cherry picked from commit 7b1cb5b16f44bd9598a2bc4726e78f7c13c84ea7)

4 years agoInitialize output buffer in fragment_shader_interlock tests
Jeff Bolz [Fri, 13 Sep 2019 19:57:48 +0000 (14:57 -0500)]
Initialize output buffer in fragment_shader_interlock tests

In discard tests, not all output elements are written by the shader.
Clear the output buffer to zero to match what the test expects. The
output image was already being cleared.

Components: Vulkan
VK-GL-CTS issue: 2004
Affects: dEQP-VK.fragment_shader_interlock.*

Change-Id: Ie1049765ec4b7187b39e3d46261e9abef9f5104d

4 years agoAdd build option for amber to use shared C runtime
Jari Komppa [Tue, 17 Sep 2019 08:27:59 +0000 (11:27 +0300)]
Add build option for amber to use shared C runtime

Adding build option for Amber to avoid C runtime conflicts with CTS

Affects: None
Components: Vulkan, Framework

VK-GL-CTS issue: 2001

Change-Id: Ie9f9d8efee887996de843e545b808ff200e5103a
(cherry picked from commit 6500c70cbbbf32709a80417f1a54b35e568fd9d7)

4 years agoAdd build option for amber to use shared C runtime
Jari Komppa [Tue, 17 Sep 2019 08:27:59 +0000 (11:27 +0300)]
Add build option for amber to use shared C runtime

Adding build option for Amber to avoid C runtime conflicts with CTS

Affects: None
Components: Vulkan, Framework

VK-GL-CTS issue: 2001

Change-Id: Ie9f9d8efee887996de843e545b808ff200e5103a

4 years agoCheck only Vulkan 1.1 and 1.2 limits
Boris Zanin [Mon, 16 Sep 2019 06:47:45 +0000 (08:47 +0200)]
Check only Vulkan 1.1 and 1.2 limits

Removce all extension limits check. They are expected to be tested
in a per-extension separate tests. The per-extension tests are
expected to be committed in a separate commit.

Update test:
 * dEQP-VK.api.info.vulkan1p2.limits_validation

Components: vulkan

VK-GL-CTS issue: 1999, 1924, 2008

Change-Id: Ice55c8f61500699dcfd7715df7dd3270193774b7

4 years agoUpdate headers
Alexander Galazin [Wed, 18 Sep 2019 19:14:03 +0000 (21:14 +0200)]
Update headers

Components: Vulkan

Change-Id: Id0a9c7f59e1557e53d9074ad73b73a80bcf2ef22

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Wed, 18 Sep 2019 16:12:50 +0000 (18:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Iec182e5892633045b5f1b821e9f6259bd1c3d40c

4 years agoCombine ARB and Core subgroupBroadcast code
Graeme Leese [Mon, 2 Sep 2019 16:49:51 +0000 (17:49 +0100)]
Combine ARB and Core subgroupBroadcast code

The ARB and core tests are attempting to do the same thing but using
slightly different names for the functions. Parameterise the names so
that we only have to maintain one copy of the test logic.

Also, make it so that we only have to write out the extensions that we
need once.

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

Change-Id: I259249abba2b352dbd217aa4c26100ab7dbee637
(cherry picked from commit 84ddfc07a5b15a580590d5b405e1c5ff55b70fd9)

4 years agoIncrease the sleep measurement tolerance to 100ms
Piers Daniell [Tue, 10 Sep 2019 22:33:58 +0000 (16:33 -0600)]
Increase the sleep measurement tolerance to 100ms

The calibration_test works by measuring the "before"
device time, sleeping the thread for 200ms, and then
measuring the "after" device time. It then checks
the "after"-"before" delta is not more than 200ms
plus/minus 10ms.

This 10ms is too short for many systems and may
result in false failures. If the system is heavily
loaded the thread may sleep for more than 200ms.

Increasing the tolerance to 100ms appears to
eliminate the false failure I've been seeing.

Affects:

dEQP-VK.pipeline.timestamp.calibrated.calibration_test

Components: Vulkan

VK-GL-CTS issue: 1990

Change-Id: Ifc7f877daf8e361e39b3cd9ee447445529fd01d7

4 years agoRequire standardSampleLocations for imageless fb resolve tests
Gary Sweet [Wed, 11 Sep 2019 10:44:27 +0000 (11:44 +0100)]
Require standardSampleLocations for imageless fb resolve tests

The resolve tests require known sample locations in order to check
the results. If standardSampleLocations is not supported, report
these tests as unsupported.

Affects: dEQP-VK.imageless_framebuffer.*

Components: Vulkan

VK-GL-CTS issue: 1987

Change-Id: I4dbec37df8606ecb994d3b343dee42c5dee6738d

4 years agoFix indexing a push constant array member
Marcin Kańtoch [Fri, 13 Sep 2019 14:42:54 +0000 (16:42 +0200)]
Fix indexing a push constant array member

gl_VertexIndex is used to index a push constant array member.
Vulkan spec says: Any member of a push constant block that is
declared as an array must only be accessed with dynamically
uniform indices. But gl_VertexIndex is not dynamically uniform.

Changed the test to use dynamically uniform indexing.

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.vert_pc_entry_point

Components: Vulkan

VK-GL-CTS issue: 2000

Change-Id: I767aacfe0fde27e083f7b4a82f808cb99fb31d16

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Thu, 12 Sep 2019 18:08:56 +0000 (19:08 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: I138bdc04aecc86f159b8b755ad80fb9f84b11681

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 12 Sep 2019 17:26:06 +0000 (18:26 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I3b42845035fc496956deb9880ae222aa6eea1ad4

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 12 Sep 2019 16:13:36 +0000 (17:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Ida04f504ce53ffeba95b59731cf9d0dd10e63896

4 years agoAccept saturated values for the 32bit buffer
Tomasz Owczarek [Mon, 9 Sep 2019 15:03:44 +0000 (16:03 +0100)]
Accept saturated values for the 32bit buffer

API documentation, extension 1.1, vkGetQueryPoolResults description:
"If VK_QUERY_RESULT_64_BIT is not set and the result overflows a 32-bit
value, the value may either wrap or saturate."

Affects:
dEQP-VK.pipeline.timestamp.misc_tests.*

Components: Vulkan

VK-GL-CTS issue: 1985

Change-Id: Id229ea4c13b52bf27c00de734c437d878365fef9
(cherry picked from commit 9eeec03a6dc5f6c05dab28eb418d25c5794f8d0e)

4 years agovktAmberTestCase: Bump recipe timeout to 10 minutes.
Ben Clayton [Wed, 4 Sep 2019 15:52:07 +0000 (16:52 +0100)]
vktAmberTestCase: Bump recipe timeout to 10 minutes.

dEQP already provides mechanisms for timeouts - we don't need to rely
on additional timeouts inside amber.
Worse still, if the timeout in amber is actually hit, Vulkan objects
are destructed while the commands are still queued, which can
cause crashes instead of a clean test failure.

Components: Vulkan
VK-GL-CTS Issue: 1971
Affects:
  dEQP-VK.rasterization.provoking_vertex.*
  dEQP-VK.graphicsfuzz.*
  dEQP-VK.pipeline.vertex_only.*
  dEQP-VK.spirv_assembly.instruction.compute.ptr_access_chain.*
  dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.*

Change-Id: I3a2e1b1f2796af8eea7e26a8de27e8fc362b9653

4 years agoUpdate amber to 62ef3e4e.
Ben Clayton [Wed, 4 Sep 2019 15:46:49 +0000 (16:46 +0100)]
Update amber to 62ef3e4e.

This includes changes that allow us to specify the default
test timeout value.

Components: Vulkan
VK-GL-CTS Issue: 1971
Affects:
  dEQP-VK.rasterization.provoking_vertex.*
  dEQP-VK.graphicsfuzz.*
  dEQP-VK.pipeline.vertex_only.*
  dEQP-VK.spirv_assembly.instruction.compute.ptr_access_chain.*
  dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.*

Change-Id: I099c79214ca441f2d0bd31cb8101a7dec872b4bd

4 years agoUse 4 samples for imageless framebuffer resolve tests
John Anthony [Sun, 8 Sep 2019 14:25:48 +0000 (16:25 +0200)]
Use 4 samples for imageless framebuffer resolve tests

Change imageless framebuffer resolve tests to use sample count 4 instead
of 2 for multisample attachments, since 4 is required to be supported,
while 2 is optional.

Affects: dEQP-VK.imageless_framebuffer.*resolve

Components: Vulkan

VK-GL-CTS Issue: 1981

Change-Id: I781b64497ae689ea83609476810207e92cf2d9f6

4 years agoCorrect handling of independentResolveNone
Stephen Gallimore [Thu, 18 Jul 2019 16:48:41 +0000 (17:48 +0100)]
Correct handling of independentResolveNone

Some depth/stencil resolve tests are incorrectly reported
as unsupported, when the device's supported features include
independentResolveNone but not independentResolve.

Affects:

dEQP-VK.renderpass2.depth_stencil_resolve.*

VK-GL-CTS Issue: 1882
Components: Vulkan

Change-Id: I51f3fbf1447084a052e8f57a5726435f7947384e

4 years agoChange vertex buffer format to VK_FORMAT_R8G8B8A8_UNORM
Marcin Kańtoch [Wed, 11 Sep 2019 14:23:07 +0000 (16:23 +0200)]
Change vertex buffer format to VK_FORMAT_R8G8B8A8_UNORM

Change the vertex buffer format to VK_FORMAT_R8G8B8A8_UNORM
in spirv1p4.entrypoint* tests to make the tests pass, while
waiting on a fix in Amber.

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint*

Components: Vulkan

VK-GL-CTS issue: 1992

Change-Id: Icb97b7328c2e1a61c1e1c20d7dda0449738619e1

4 years agoValidate Vulkan 1.2 limits
Boris Zanin [Wed, 4 Sep 2019 11:47:37 +0000 (13:47 +0200)]
Validate Vulkan 1.2 limits

Validate limits against Limit Requirements chapter.

Add test:
 * dEQP-VK.api.info.vulkan1p2.limits_validation

Components: vulkan

VK-GL-CTS issue: 1924

Change-Id: Ibe54ef2c6ced9864731c358172358d871d823312

4 years agoImplement getPhysicalDeviceVulkan1xProperties
Boris Zanin [Wed, 11 Sep 2019 13:38:53 +0000 (15:38 +0200)]
Implement getPhysicalDeviceVulkan1xProperties

Addtwo helper API functions to query properties:
 * getPhysicalDeviceVulkan11Properties
 * getPhysicalDeviceVulkan12Properties

Components: framework

VK-GL-CTS issue: 1924

Change-Id: Icf6e178da2ec7acc21752867348a0885feb78ecf

4 years agoMake Context class to query extensions properties
Boris Zanin [Fri, 6 Sep 2019 12:42:14 +0000 (14:42 +0200)]
Make Context class to query extensions properties

Add functionality into Context class to query extension's
properties from default device.

Components: framework

VK-GL-CTS issue: 1924

Change-Id: If456123fa9214fdf0c8360bf645531b2a00fd9b2

4 years agoDon't require 8bit storage features for SPIR-V tests
Graeme Leese [Tue, 10 Sep 2019 09:15:20 +0000 (10:15 +0100)]
Don't require 8bit storage features for SPIR-V tests

Return NotSupported if the features are not supported instead. (It's
checked elsewhere that an implementation supports the mandatory feature
set).

Components: Vulkan
VK-GL-CTS issue: 1988
Affects: dEQP-VK.spirv_assembly.*

Change-Id: I6f87a996b99f55902b1c5afa502b1cdbbd73197a

4 years agoCheck Vulkan 1.2 core features in 1.2 context
Piers Daniell [Mon, 9 Sep 2019 18:41:19 +0000 (12:41 -0600)]
Check Vulkan 1.2 core features in 1.2 context

Affects:
dEQP-VK.draw.shader_layer.*
dEQP-VK.draw.shader_viewport_index.*
dEQP-VK.pipeline.sampler.view_type.*.format.*
dEQP-VK.pipeline.sampler.*.address_mode.*

VK-GL-CTS issue: 1986

Components: Vulkan

Change-Id: Ie02326cb6891a206d49297b2c49e5f5d7e7c0198

4 years agoFix undersized buffer use in extend operands tests
Reed Koser [Thu, 5 Sep 2019 20:48:11 +0000 (13:48 -0700)]
Fix undersized buffer use in extend operands tests

Prior to this patch, the dEQP.image.extend_operands_spirv1p4.* tests
used the size of the input image as the buffer size. Since the tests
reuse the buffer to read back the output image (which is potentially
much larger, due to the unconditional use of R32G32B32A32_*INT formats),
this resulted in corruption of device memory.

Affects: dEQP-VK.image.extend_operands_spirv1p4.*

Components: Vulkan

VK-GL-CTS issue: 1980

Change-Id: I8d07cd7d54cc305635b9674074a7eafa52bf6dfa

4 years agoImplement getPhysicalDeviceVulkan12Features
Alexander Galazin [Sun, 8 Sep 2019 11:08:03 +0000 (13:08 +0200)]
Implement getPhysicalDeviceVulkan12Features

The generated helper returns all-0s since
there is an assumed extension check.

Affects:
dEQP-VK.draw.indirect_draw.*
dEQP-VK.descriptor_indexing.*

Components: Vulkan

VK-GL-CTS issue: 1983

Change-Id: Iace6611d6261d2e80fe6d4dc118b5c8de55b84de

4 years agoTest consistency between VkPhysicalDeviceVulkanXXFeatures and extensions
Pawel Ksiezopolski [Wed, 4 Sep 2019 12:44:53 +0000 (14:44 +0200)]
Test consistency between VkPhysicalDeviceVulkanXXFeatures and extensions

Check if appropriate fields of the VkPhysicalDeviceVulkanXXFeatures are
set when corresponding extensions are present.

New tests:
dEQP-VK.api.info.vulkan1p2.feature_extensions_consistency
dEQP-VK.api.info.vulkan1p2.property_extensions_consistency

Components: Vulkan

VK-GL-CTS issue: 1977

Change-Id: Ib9b55811293a4bc35ae32707888af761b6e8f656