platform/upstream/VK-GL-CTS.git
4 years agoRe-enable tests
Alexander Galazin [Sat, 21 Dec 2019 09:50:50 +0000 (10:50 +0100)]
Re-enable tests

Change-Id: Ic4d90d99b69ef931ba2f3f49538201762eb6746e

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Fri, 20 Dec 2019 12:50:25 +0000 (13:50 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I0f9446b635621472d72566a6176c7d0c00306263

4 years agoAvoid undefined behaviour when calculating subgroup ballot masks
Dae Kim [Fri, 13 Dec 2019 09:26:05 +0000 (09:26 +0000)]
Avoid undefined behaviour when calculating subgroup ballot masks

The affected tests are shifting the bits of the last component of the
computed ballot masks by 32. However, the SPIR-V specification
establishes that the result of OpShift* is undefined if `Shift` is
greater than *or equal* to the bit width of the components of `Base`.

Affects:

dEQP-VK.subgroups.ballot_other.*

Components: Vulkan

VK-GL-CTS issue: 2083

Change-Id: I8c9b4373f1429669a40741986916e8d71b7eb573

4 years agoFix bad merge from https://gerrit.khronos.org/#/c/5107/
Piers Daniell [Wed, 11 Dec 2019 22:19:18 +0000 (15:19 -0700)]
Fix bad merge from https://gerrit.khronos.org/#/c/5107/

When https://gerrit.khronos.org/#/c/4874/ was cherry-picked
to the vulkan-cts-1.1.6 branch it would have hit conflicts
with the new VK_EXT_line_rasterization tests from
https://gerrit.khronos.org/#/c/3997/.

This CL fixes a bad conflict resolution in
tcuRasterizationVerifier.cpp that forced the verification
mode of all line types top be scrict, when they should
have got their verification mode from
scene.verificationMode.

This CL also modifies the position of the test lines
for case 2 of LinesTestInstance::generateLines(). The
position of the last line, added with CL 5107, was moved
lower to avoid excessive overlap with the other three
lines. This excessive overlap caused many pixels to
share edges and aggravate a minor flaw in the software
line rasterizer where it always assumes full coverage on
pixels that share edges of two or more triangles.
They may actually still be only partial coverage when
doing smooth or multisample rendering, and forcing it
to full coverage won't match what hardware does.

Affects: dEQP-VK.rasterization.primitives.*

Components: Vulkan

VK-GL-CTS Issue: 2062

Change-Id: Ie865f46c24e8265fd47354faaf9be5efd002b2d4

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Tue, 17 Dec 2019 15:30:21 +0000 (16:30 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I7054b3a97f5f57fb5d5829f21991efe70108c77a

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Tue, 17 Dec 2019 14:34:21 +0000 (15:34 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I4d9b046396a757d9fce9a0a326b150deb37015ce

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Tue, 17 Dec 2019 12:32:46 +0000 (13:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Ia01386a2e8fec477414b8488a7bfa883265c32ec

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Tue, 17 Dec 2019 10:58:46 +0000 (11:58 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Iecc5fe7d8f5119a46a78fd7d6f3c3b613c45059d

4 years agoRe-include some Android CTS tests
Paul Thomson [Mon, 9 Dec 2019 16:03:38 +0000 (16:03 +0000)]
Re-include some Android CTS tests

Components: Android

Included tests:

dEQP-VK.glsl.builtin.precision.*
dEQP-VK.spirv_assembly.instruction.compute.opfunord.*
dEQP-VK.spirv_assembly.instruction.*.indexing.*u32*
dEQP-VK.spirv_assembly.instruction.*.indexing.*s32*

Change-Id: Ib9be1f9ef388c7baeaf8f11b1dd7e60efdf72dc5

4 years agoProvide a highp variable to MAKE_HIGH_BALLOT_RESULT
Paul Thomson [Thu, 5 Dec 2019 18:13:00 +0000 (18:13 +0000)]
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 agoFix incorrect use of dlopen/dlclose
Victor Khimenko [Tue, 10 Sep 2019 21:25:00 +0000 (23:25 +0200)]
Fix incorrect use of dlopen/dlclose

Function pointers returned by dlsym are retained after dlclose() is
called. If the library is actually unloaded by that dlclose() call, then
calling through those function pointers then triggers undefined
behavior.

Components: Vulkan
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.*

Google Bug: b/140826027

Change-Id: I1da2d10e97e5567578bf06d768820764882f7126

4 years agoFix memory leaks in dEQP-VK.api.invariance.random
Arkadiusz Sarwa [Fri, 15 Nov 2019 16:35:24 +0000 (17:35 +0100)]
Fix memory leaks in dEQP-VK.api.invariance.random

Test dEQP-VK.api.invariance.random contains memory leaks.
Change fixes memory leaks.

Components: Vulkan

VK-GL-CTS Issue: 2110

Affects: dEQP-VK.api.invariance.random

Change-Id: I4ccd9d87b69f51da661ca85f10eb347086594aaa

4 years agoFix invalid SPIR-V in GraphicsFuzz tests
Alastair Donaldson [Tue, 26 Nov 2019 14:17:11 +0000 (14:17 +0000)]
Fix invalid SPIR-V in GraphicsFuzz tests

Components: Vulkan

VK-GL-CTS Issue: 2122

Affected tests:

dEQP-VK.graphicsfuzz.continue-and-merge
dEQP-VK.graphicsfuzz.control-flow-switch
dEQP-VK.graphicsfuzz.discard-continue-return
dEQP-VK.graphicsfuzz.fragcoord-control-flow-2
dEQP-VK.graphicsfuzz.fragcoord-control-flow
dEQP-VK.graphicsfuzz.loop-call-discard
dEQP-VK.graphicsfuzz.mat-array-deep-control-flow
dEQP-VK.graphicsfuzz.mat-array-distance
dEQP-VK.graphicsfuzz.return-in-loop-in-function
dEQP-VK.graphicsfuzz.unreachable-continue-statement

Change-Id: Iaa7448ee4a815d9e3a1c8a5582214ecd599ac143

4 years agoWhitelist Vulkan CTS 1.1.6.3
Alexander Galazin [Thu, 5 Dec 2019 10:48:22 +0000 (11:48 +0100)]
Whitelist Vulkan CTS 1.1.6.3

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: Ib46d2ea03898930641539bd0ad1cf657c2994aa4

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
(cherry picked from commit bcc3bf2dee4bcd8505c1b0c16ee05cafad185749)

4 years agoTests for VK_KHR_buffer_device_address
Jeff Bolz [Tue, 9 Jul 2019 04:09:44 +0000 (23:09 -0500)]
Tests for VK_KHR_buffer_device_address

Components: Vulkan
Affects: dEQP-VK.binding_model.buffer_device_address*
Affects: dEQP-VK.compute.cooperative_matrix*phys*
Affects: dEQP-VK.memory_model.*phys*
Affects: dEQP-VK.ssbo.*phys*
Affects: dEQP-VK.spirv_assembly.*phys*
Change-Id: I045b5832e9857f6e826957e204237a32e0bcbce4
(cherry picked from commit 86db0cf343430c2b434f9313c6c4ef5188d9bc23)

4 years agoBump timeout for the basic fence tests
Ben Clayton [Wed, 4 Dec 2019 17:13:41 +0000 (17:13 +0000)]
Bump timeout for the basic fence tests

10ms for the LONG_FENCE_WAIT could cause spurious test failures for CPU-based
Vulkan implementations when the CPU is under heavy load.
This is now bumped to a second, but assuming the test passes, this should never
block for the entire second.

Affects: dEQP-VK.synchronization.basic.fence.*

Components: Vulkan
Change-Id: Ice07a1697b57e789b9f57f4a5da663c83a0c132a

4 years agoTemporarily remove lines_wide tests
Alexander Galazin [Thu, 5 Dec 2019 16:22:40 +0000 (17:22 +0100)]
Temporarily remove lines_wide tests

Components: Vulkan

Affects:
dEQP-VK.rasterization.primitives.no_stipple.smooth_lines_wide
dEQP-VK.rasterization.primitives_multisample_2_bit.no_stipple.smooth_lines_wide
dEQP-VK.rasterization.primitives_multisample_4_bit.no_stipple.smooth_lines_wide
dEQP-VK.rasterization.primitives_multisample_8_bit.no_stipple.rectangular_line_strip_wide
dEQP-VK.rasterization.primitives_multisample_8_bit.no_stipple.smooth_lines_wide
dEQP-VK.rasterization.primitives_multisample_16_bit.no_stipple.smooth_lines_wide

Change-Id: Id74c00f56519d03fb300a4a06bc20f8f0365bd3e

4 years agoFix RGB9E5 encode
Graeme Leese [Thu, 5 Dec 2019 10:19:01 +0000 (10:19 +0000)]
Fix RGB9E5 encode

The overflow correction was broken and resulted in encoded values being
2x too large.

Components: Framework
VK-GL-CTS issue: 2132
Affects: dEQP-VK.*e5*

Change-Id: Ibcab4c889b044c8668aae3c7a1288b8cda1ff0e6

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Thu, 5 Dec 2019 09:37:17 +0000 (10:37 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: Ie910031c0296648e7ff34fb69cdbed0de5f24a1b

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 5 Dec 2019 08:38:48 +0000 (09:38 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I13e1238c4bfc3cb1366e25def3b081591a8101de

4 years agoDo the 'from UNDEFINED' layout transition only on the first pass
Slawomir Cygan [Fri, 29 Nov 2019 13:06:03 +0000 (14:06 +0100)]
Do the 'from UNDEFINED' layout transition only on the first pass

The test uses multiple submissions, each rendering to a part
of the same render target. Only the first submission should do
the transition 'from' UNDEFINED layout, otherwise each pass (submit)
would invalidate render target contents from previous submits.

Components: Vulkan

VK-GL-CTS Issue: 2131

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

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 5 Dec 2019 07:47:58 +0000 (08:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I4d9bef08ce50fbba4d6a61cbba1e3cdb28051543

4 years agoAdd two more formats with proper threshold values.
Yanjun Zhang [Sat, 16 Nov 2019 05:54:57 +0000 (21:54 -0800)]
Add two more formats with proper threshold values.

Need to add two more formats with proper threshold values in
vkApiCopiesAndBlittingTests.cpp: getFormatThreshold() to make
CTS pass on some VSI mobile GPUs.

Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.simple_tests.*
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.*

Components: Vulkan

VK-GL-CTS issue: 2112

Change-Id: Ia3a314fd825ed13c44e49720fffffa2dff8f26af

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Tue, 3 Dec 2019 18:46:18 +0000 (19:46 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I0845a703755ac572d54f56394a04a9a4ace2fdce

4 years agoExtend rasterization testing, modify verification
Mike Byrne [Mon, 13 May 2019 14:15:02 +0000 (15:15 +0100)]
Extend rasterization testing, modify verification

dEQP-VK.rasterization.primitives.lines tests are extended to add tests
drawing vertical and horizontal lines.

Extend dEQP-VK.rasterization.primitives.lines and
dEQP-VK.rasterization.primitives_multisample_n_bit.lines to test at 258
resolution (a non power of two resolution).

The strict line verification coverage is modified to allow checking of
vertical and horizontal lines. Previously pixels in vertical or hori-
zontal lines were marked as partially covered and hence the test did
not detect whether the lines were rendered correctly or not.

Affects: dEQP-VK.rasterization.primitives*

Components: Vulkan

VK-GL-CTS Issue: 2062

Change-Id: Ifb76a44ba1ebdc97353bbd1a4b2552e415f2723d

4 years agoCheck memory model support in volatile atomic tests
Samuel Iglesias Gonsálvez [Wed, 27 Nov 2019 10:06:54 +0000 (11:06 +0100)]
Check memory model support in volatile atomic tests

Volatile atomic tests were not checking vulkan memory model support.

Components: Vulkan
VK-GL-CTS issue: 2125

Affected tests:

   dEQP-VK.spirv_assembly.*atomic*

Change-Id: I67557361e2df9fc057ab38a1104f66512a532cf0
(cherry picked from commit 5ded1abda3169e29a6116b6e6b53ce0b9a6d5ab2)

4 years agoAdd feature checks to subgroups tests
Matthew Netsch [Fri, 15 Nov 2019 17:29:30 +0000 (12:29 -0500)]
Add feature checks to subgroups tests

Components: Vulkan
VK-GL-CTS Issue: 2082

Affects:
dEQP-VK.subgroups.*

Change-Id: Ide9aeaf106dcf1efbc2cf90cd6b46a61586c4f72

4 years agoExtend rasterization testing, modify verification
Mike Byrne [Mon, 13 May 2019 14:15:02 +0000 (15:15 +0100)]
Extend rasterization testing, modify verification

dEQP-VK.rasterization.primitives.lines tests are extended to add tests
drawing vertical and horizontal lines.

Extend dEQP-VK.rasterization.primitives.lines and
dEQP-VK.rasterization.primitives_multisample_n_bit.lines to test at 258
resolution (a non power of two resolution).

The strict line verification coverage is modified to allow checking of
vertical and horizontal lines. Previously pixels in vertical or hori-
zontal lines were marked as partially covered and hence the test did
not detect whether the lines were rendered correctly or not.

Affects: dEQP-VK.rasterization.primitives*

Components: Vulkan

VK-GL-CTS Issue: 2062

Change-Id: Ifb76a44ba1ebdc97353bbd1a4b2552e415f2723d

4 years agoFix SFR swapchain test's implicit layout transitions
Piers Daniell [Wed, 13 Nov 2019 21:01:10 +0000 (14:01 -0700)]
Fix SFR swapchain test's implicit layout transitions

The Vulkan spec says that layout transitions done on peer bound
image memory requires the implementation to support
VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT and
VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT. The test never checked
for this capability and did implicit render pass layout
transitions anyway.

This CL updates the test to use an explicit layout transitions
on local aliases of the image when the implementation doesn't
support doing peer-to-peer transfer.

This CL also fixes a bug in the SFR rects definition in
VkBindImageMemoryDeviceGroupInfo to specify the correct number
of rectangles.

Affects:

dEQP-VK.wsi.win32.swapchain.render.*
dEQP-VK.wsi.win32.swapchain.modify.*

Components: Vulkan

VK-GL-CTS issue: 2094

Change-Id: I31b7099a6d5c4f11be83d6d14a5c02cca6408441

4 years agoApply the same relaxed precision fix for interface_blocks.* to basic_type.*
John Corbally [Thu, 7 Nov 2019 16:01:18 +0000 (16:01 +0000)]
Apply the same relaxed precision fix for interface_blocks.* to basic_type.*

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.basic_type.*

Components: Vulkan

VK-GL-CTS issue: 1818

Change-Id: I615e65f2f6e4287dc41ff981f18972cf14bcb374

4 years agoRemove verification of string bytes after null termination.
Slawomir Cygan [Thu, 21 Nov 2019 16:35:23 +0000 (17:35 +0100)]
Remove verification of string bytes after null termination.

Spec does not require to zero bytes after the null-termination of the string.

Components: Vulkan

VK-GL-CTS Issue: 2117

Affects: dEQP-VK.pipeline.executable_properties.*

Change-Id: Ia07b51f22379cea28ca73fe0a1594ef5230c27af

4 years agoFix cbuffer packing test
Piotr Byszewski [Tue, 19 Nov 2019 13:48:46 +0000 (14:48 +0100)]
Fix cbuffer packing test

Components: Vulkan

VK-GL-CTS issue: 2109

Affects:
dEQP-VK.spirv_assembly.instruction.compute.hlsl_cases.cbuffer_packing

Change-Id: Iebedd63004bceed7542a433da9be3d43a59fed2e

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Wed, 20 Nov 2019 08:57:05 +0000 (09:57 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I6690ecfeeaf879819d23bb2a8a65c1713809e6a1

4 years agoRe-align importing dedicated memory to spec
Juasheem Sultan [Fri, 1 Nov 2019 22:26:14 +0000 (15:26 -0700)]
Re-align importing dedicated memory to spec

Re-implemented importing dedicated memory for synchronization test to
better align with the Vulkan spec. The current solution
makes the assumption that not requiring memory to be dedicated upon
import implies that the memory is required to not be dedicated, and this
does not appear to align with the spec.

Affects:
    * dEQP-VK.synchronization.signal_order.*

Components: Vulkan

VK-GL-CTS issue: 2071

Change-Id: Ie1ada8e4966e044ff0d265dce65f4a0680b311aa

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Mon, 18 Nov 2019 12:39:00 +0000 (13:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I163fd1d3c3f3a600e3a89031d350eb2b08f81e4d

4 years agoAdd memory barrier to VK transform_feedback tests
Chris Mayer [Fri, 8 Nov 2019 12:28:16 +0000 (13:28 +0100)]
Add memory barrier to VK transform_feedback tests

The transform feedback tests are reading the transform
feedback buffers which was written by the GPU from the
host. Added a memory barrier to make sure the data is up to
date when it is accessed by the host.

Affects: dEQP-VK.transform_feedback.*
Components: Vulkan
VK-GL-CTS issue: 2096

Change-Id: Ibf9f86e9c1f02bdbfe822f62c44c30155ed8c555

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Mon, 18 Nov 2019 11:28:51 +0000 (12:28 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Idea5f48ee1eb6dfa2290d738cabff96c7e88daad

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Mon, 18 Nov 2019 10:06:07 +0000 (11:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I9adaa87d0bf5d06a12bfc2fcd4b8a30568cefb48

5 years agoWhitelist Vulkan CTS 1.1.6.2
Alexander Galazin [Thu, 14 Nov 2019 16:28:11 +0000 (17:28 +0100)]
Whitelist Vulkan CTS 1.1.6.2

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: I88e01d7a9c754c8a11cb5f4505257fd338eabbf7

5 years agoDo not reset perf queries in multi submitted cmdbuffer
Lionel Landwerlin [Wed, 13 Nov 2019 22:05:31 +0000 (00:05 +0200)]
Do not reset perf queries in multi submitted cmdbuffer

Some implementations can require multiple passes to gather values for
their performance queries. It's important not to reset the query pool
in a batch that can be submitted multiple times, otherwise the queries
result risk to never become available.

Compontents: Vulkan
Affects: dEQP-VK.query_pool.performance_query.*

Change-Id: Ief00457fc0808a7c5ee7c0bf6aaf7de7f3042ca5

5 years agoUpdate VK_KHR_performance_query enumerate
Lionel Landwerlin [Tue, 15 Oct 2019 15:22:38 +0000 (18:22 +0300)]
Update VK_KHR_performance_query enumerate

Components: Vulkan
Affects: dEQP-VK.query_pool.performance_query.enumerate*

Change-Id: I443c1c9b7a1903063b27b77fc47cbb88259aa407
(cherry picked from commit bc519fecec3d1b27e0e5ee1a4947257260202eff)

5 years agoTests for VK_KHR_performance_query
Boris Zanin [Thu, 16 Aug 2018 08:55:01 +0000 (10:55 +0200)]
Tests for VK_KHR_performance_query

Add tests:
 * dEQP-VK.query_pool.performance_query.*

Components: Vulkan

VK-GL-CTS issue: 1302

Update VK_KHR_performance_query headers

Align CTS header for VK_KHR_performance_query with API MR 3268
Components: Vulkan

Affects:
 dEQP-VK.query_pool.performance_query.*
 dEQP-VK.api.info.get_physical_device_properties2.features
 dEQP-VK.api.info.get_physical_device_properties2.properties

VK-GL-CTS issue: 1947

Change-Id: I4d3c62dace2d259061f78d3014deb05bc4eac9d7
(cherry picked from commit 32556493fcafd676ec5d8fcfd3492a8c30fa0f97)
(cherry picked from commit 57bdbad1c7d6d527a30ae211164edab945818def)

5 years agoCheck renderpass2 support in image clearing tests
Ricardo Garcia [Tue, 12 Nov 2019 12:22:22 +0000 (13:22 +0100)]
Check renderpass2 support in image clearing tests

This commit makes sure VK_KHR_create_renderpass2 is supported before
using it in some image clearing tests.

Affected tests:
dEQP-VK.api.image_clearing.*separate_layouts*

Components: Vulkan
VK-GL-CTS issue: 2101

Change-Id: Ib1a44b44f771bb31fd1ef798d2727370d143a1fa

5 years agoFix check of api features
Lionel Landwerlin [Wed, 13 Nov 2019 16:04:22 +0000 (18:04 +0200)]
Fix check of api features

Fixes the cherry pick 282341d2cf5da0d9aaea1547958eb54c3f84ee0f.

Compontents: Vulkan
Affects: dEQP-VK.api.info.get_physical_device_properties2.features

Change-Id: I1d102716767c7bef0b872a5ebe1eb1d77bcd11b5

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Wed, 13 Nov 2019 15:17:00 +0000 (16:17 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I96bc5705c41b8ec87b7f14afc0cfa354b84cad4e

5 years agoSplit descriptor set indexing render pass workload
Mike Byrne [Fri, 1 Nov 2019 16:50:17 +0000 (16:50 +0000)]
Split descriptor set indexing render pass workload

The render pass workload for descriptor set indexing tests which call
DynamicBuffersInstance::iterate should be split into multiple
submissions to prevent timeouts observed in
dEQP-VK.descriptor_indexing.uniform_buffer_dynamic_in_loop
test.

A number (16) of command buffers, each for a separate render area, are
created and submitted separately.

Affects: dEQP-VK.descriptor_indexing*

Components: Vulkan

VK-GL-CTS Issue: 2061

Change-Id: Ib232854a1224aadbd63eaad30e15f893eeb48f85

Investigation for Khronos issue;
https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/2061

Change-Id: Ib232854a1224aadbd63eaad30e15f893eeb48f85

5 years agoReduce dEQP-VK.pipeline.render_to_image allocs to within platform limits
Tom Cooper [Mon, 28 Oct 2019 15:04:36 +0000 (15:04 +0000)]
Reduce dEQP-VK.pipeline.render_to_image allocs to within platform limits

These tests allocate an image of upto 25% of VkMemoryHeap heapSize and
should be limited to the value in
PlatformMemoryLimits.totalSystemMemory.

Component: Vulkan

VK-GL-CTS Issue: 2087

Affects:
dEQP-VK.pipeline.render_to_image*

Change-Id: Ie7d775cc55fdb54e448fc1c973d1e17925711e47

5 years agoFix descriptor_indexing.input_attachment subpass description
Tom Cooper [Sat, 26 Oct 2019 18:14:42 +0000 (19:14 +0100)]
Fix descriptor_indexing.input_attachment subpass description

The input attachments in the subpass description did not match the
descriptor set layout and shader. Unused attachment references have
been inserted to pad out the subpass description.

Components: Vulkan

VK-GL-CTS Issue: 2072

Affects: dEQP-VK.descriptor_indexing.input_attachment*

Change-Id: Iab36be779007828ddb25fe0600305a19be448804

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Fri, 1 Nov 2019 14:05:53 +0000 (15:05 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I74696bcb3e23aa3e8bde59ebea3137b262dd1394

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Fri, 1 Nov 2019 11:16:47 +0000 (12:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Ia5d78f0656fb1a2b2e4f989ba556edc3154856f7

5 years agoTests for VK_KHR_separate_depth_stencil_layouts
Piers Daniell [Tue, 30 Apr 2019 22:50:00 +0000 (16:50 -0600)]
Tests for VK_KHR_separate_depth_stencil_layouts

Test coverage for VK_KHR_separate_depth_stencil_layouts. See
https://gitlab.khronos.org/vulkan/vulkan/merge_requests/3172

This change modifies several test groups to use a single
image aspect bit for depth+stencil formats rather than the
VU required D+S aspects.

Where appropriate the tests are also modified to use
the new depth-only or stencil-only optimal layouts.

Affects:

dEQP-VK.api.copy_and_blit.*d16_unorm_s8_uint*
dEQP-VK.api.copy_and_blit.*d24_unorm_s8_uint*
dEQP-VK.api.copy_and_blit.*d32_sfloat_s8_uint*

dEQP-VK.api.image_clearing*d16_unorm_s8_uint*
dEQP-VK.api.image_clearing*d24_unorm_s8_uint*
dEQP-VK.api.image_clearing*d32_sfloat_s8_uint*

dEQP-VK.pipeline.stencil*d16_unorm_s8_uint*
dEQP-VK.pipeline.stencil*d24_unorm_s8_uint*
dEQP-VK.pipeline.stencil*d32_sfloat_s8_uint*

dEQP-VK.pipeline.depth*d16_unorm_s8_uint*
dEQP-VK.pipeline.depth*d24_unorm_s8_uint*
dEQP-VK.pipeline.depth*d32_sfloat_s8_uint*

dEQP-VK.*.depth_stencil_resolve*d16_unorm_s8_uint*
dEQP-VK.*.depth_stencil_resolve*d24_unorm_s8_uint*
dEQP-VK.*.depth_stencil_resolve*d32_sfloat_s8_uint*

Change-Id: I147f3736614cc897f1319c5aac5ed1fdba2d7b66
Compontents: Vulkan
(cherry picked from commit 39e17004ec33f0e546e6f391f933fb938e8c507d)

5 years agoWhitelist Vulkan CTS 1.1.6.1
Alexander Galazin [Fri, 25 Oct 2019 15:31:07 +0000 (17:31 +0200)]
Whitelist Vulkan CTS 1.1.6.1

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: Id79758cf4688ec414176433edae0914826f088df

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Thu, 31 Oct 2019 10:46:59 +0000 (11:46 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I592b6674f5e3a5a1f2a6d050dcc7263b0e5d682c

5 years agoAdd missing write to PointSize
Dae Kim [Wed, 30 Oct 2019 12:32:17 +0000 (12:32 +0000)]
Add missing write to PointSize

The primitive topology is POINT_LIST for test cases covering the vertex
stage, but the vertex shader in these cases isn't supplying a value for
PontSize.

Affects:

dEQP-VK.binding_model.buffer_device_address.*.vert

Components: Vulkan

VK-GL-CTS issue: 2080

Change-Id: Ibbbeb143bf957f9494b1df84e69bc4a01c891c6a

5 years agoFix missing image memory barrier in WSI display timing tests
John Corbally [Wed, 30 Oct 2019 11:14:45 +0000 (11:14 +0000)]
Fix missing image memory barrier in WSI display timing tests

The key part of the missing image memory barrier is changing
VK_IMAGE_LAYOUT_UNDEFINED to VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
(for the first time).

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

Components: Vulkan

VK-GL-CTS issue: 2079

Change-Id: I79e142c9c2a602e066a51e69e3aca9a1d2c0e650

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Tue, 29 Oct 2019 13:13:41 +0000 (14:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I34ada51e1b9c00280fb9f9d60463989e05f11953

5 years agoAdd timelineSempahore to mandatory ext features
Alexander Galazin [Mon, 28 Oct 2019 15:18:03 +0000 (16:18 +0100)]
Add timelineSempahore to mandatory ext features

https://gitlab.khronos.org/vulkan/vulkan/merge_requests/3421
clarifies that timelineSemaphore is mandatory for
implementations exposing VK_KHR_timeline_semaphore

This CL updates the test to align with the MR.

Components: Vulkan

Affects: dEQP-VK.api.info.device.mandatory_features

Change-Id: I12f9c9e6b05a77109cb0207b748cc9ccfa872d9b
(cherry picked from commit 33cc61974078e64d66e64ccf67ecc906f7a7f3fb)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Mon, 28 Oct 2019 18:51:20 +0000 (19:51 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I3fd2e50726e016645834052ba95fa761f84c5686

5 years agoFix check in testMandatoryExtensions
Piotr Byszewski [Mon, 28 Oct 2019 15:09:36 +0000 (16:09 +0100)]
Fix check in testMandatoryExtensions

Affects:
dEQP-VK.api.info.android.mandatory_extensions

Change-Id: Iec3b405cb168daa7dd7fc2183963778ef7d6eb0b
Components: Vulkan

5 years agoRemove deprecated std::bind2nd() call
Pawel Ksiezopolski [Mon, 28 Oct 2019 14:03:51 +0000 (15:03 +0100)]
Remove deprecated std::bind2nd() call

std::bind2nd() was deprecated in C++11 and removed in C++17.

Affects:
dEQP-VK.descriptor_indexing.*

Components: Vulkan

VK-GL-CTS issue: 2074

Change-Id: I408a39ce9f1632515e3ff6bcfb95966e19aa4b22

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Sun, 27 Oct 2019 18:28:49 +0000 (19:28 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I21178b89019aad73d0b1862e10d5590361fcdcc8

5 years agoAdd scissor matching renderArea to descriptor indexing tests
Slawomir Cygan [Thu, 24 Oct 2019 15:45:28 +0000 (17:45 +0200)]
Add scissor matching renderArea to descriptor indexing tests

This fixes rendering outside of render area, what
is forbidden by spec.

This also fixes regression from 7b7ba4e0, where
looping the RenderPass caused workload execution time
to increase and trigger OS-specific device timeout.

Components: Vulkan

VK-GL-CTS Issue: 2069

Affects: dEQP-VK.descriptor_indexing.*

Change-Id: I40f665ff892d03004860583029eb393e09c1ae95

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Fri, 25 Oct 2019 16:07:46 +0000 (18:07 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I365220265de5dd5b239cca76b1ffcd0221404824

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

Change-Id: Id21fae15bb0fad00a22e2d5798f958e6640804e2

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

Change-Id: I58c329c990cacdb992c4c9be0b95cb65aa469a80

5 years agoCheck available functionality with context method
Piotr Byszewski [Tue, 15 Oct 2019 09:06:51 +0000 (11:06 +0200)]
Check available functionality with context method

This change adds Context::isDeviceFunctionalitySupported and
Context::isInstanceFunctionalitySupported methods that replace
isDeviceExtensionSupported/isInstanceExtensionSupported.

Components: Framework

VK-GL-CTS issue: 2005

Affects:
dEQP-VK.*

Change-Id: If796fc31fe6e769495cdf1ccefa4ae8192caf2b5

5 years agoRemove NaNs from double compare tests
Ricardo Garcia [Wed, 23 Oct 2019 16:11:52 +0000 (18:11 +0200)]
Remove NaNs from double compare tests

Affected tests:
dEQP-VK.spirv_assembly.instruction.*.64bit_compare.double.*

Components: Vulkan
VK-GL-CTS issue: 2066

Change-Id: I8d735bbffe2db5d2c8cfac5a616efd6010057408

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

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

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

Components: Vulkan
VK-GL-CTS issue: 2068

Change-Id: Idb963219a4e894eee6a0bb3b1fc20797d5b0323e

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

Change-Id: Ic9de3ec00dbd38b2106f1c497059e40d4d361297

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

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

Change-Id: I25b86f1ae2b8e3650e061f9f2e345147c01419c6

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

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

Affects:
dEQP-VK.synchronization.signal_order.*

Components: Vulkan
VK-GL-CTS issue: 2063

Change-Id: Iebc72ba0ed89ba3ca2b83a5b97d6b24ab7871edb

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

Components: Vulkan
VK-GL-CTS Issue: 2022

Affects:
dEQP-VK.spirv_assembly.instruction.*

Change-Id: Ibb0a17d8843c03cd1cf15d2c5af1f547481e8452

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

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

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

Change-Id: Ie599ba76ba75af6fee1f4163bd96ea2bd6e4c145

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

Change-Id: Ib3cab2c6bc13dee32caf2403b9dc52492f660082

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

Change-Id: I2aa94658d6c8b6543fd9c4899f7da481ba1120a1

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

Change-Id: I0954d6799d7b0e4a527cd0fbbdcf61237ca7e9a7

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

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

Component: Vulkan

VK-GL-CTS Issue: 1931

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

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

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

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

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

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

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

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

Components: Vulkan

VK-GL-CTS Issue: 2047

Change-Id: Ia9148e12172ac1c4757f5007e57b3a2b3a3434eb

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

Components: Framework
VK-GL-CTS Issue: 2033

Affects:
dEQP-VK.rasterization.*

Change-Id: Ib41552b1bb6d9aa2b25d0cbc6f02d51ce997f4e3

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

This reverts commit bac8df251bb6103d7844bfeacbb29bf14011b7cb.

Change-Id: I60aa83d860b0b11ec7fc58fb97806635a1eebdca

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

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

Affects:

dEQP-VK.*

Components: Framework

VK-GL-CTS issue: 1982

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

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

Components: Vulkan

Change-Id: Ie68fd0fd2606aac29ddf1e1a0c6668504a42a91a

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

Change-Id: I3b96cb8cde6cbfc585d717a94f2164739887726f

5 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

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

Components: Vulkan

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

VK-GL-CTS issue: 2050

Change-Id: If73d9ff3e026ae4c32fd00fcc546734eebf9990e

5 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

5 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

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

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

Components: Framework

VK-GL-CTS issue: 2053

Change-Id: I4ce2b6f33fd22c7ddc3aba0adbe9f7e761237e51

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

Components: Vulkan

Change-Id: I7982ff1203b8eaeccfdd4b3a6b9bc3ab0b688721

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

Change-Id: Ife971c6779bf35094b5a72a87abaa47a6901530b

5 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

5 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

5 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

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

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

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

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

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

OpUConvert where the operand type is a signed integer type.

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

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

Components: Vulkan

VK-GL-CTS issue: 1876

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

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

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

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

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

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

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

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

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

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

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

Components: Vulkan
VK-GL-CTS issue: 1747

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