platform/upstream/VK-GL-CTS.git
5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Mon, 11 Feb 2019 09:57:15 +0000 (10:57 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I735ee279e048933019df18e234b19c8e4dcdd972

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Fri, 8 Feb 2019 14:11:12 +0000 (15:11 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: Id48dfe4f133b06dde0148b10975e675de2eaeebb

5 years agoFix deleting texture in DSA test
asokolow [Tue, 22 Jan 2019 06:29:33 +0000 (07:29 +0100)]
Fix deleting texture in DSA test

Components: OpenGL

VK-GL-CTS Issue: 1571

Affects:
KHR-GL45.direct_state_access.framebuffers_get_attachment_parameters

Change-Id: Ic15929f20f983e154263a79f9163b04c80b808d9

5 years agoChange render size of shaderexecutor to 128
Graeme Leese [Thu, 10 Jan 2019 13:39:37 +0000 (13:39 +0000)]
Change render size of shaderexecutor to 128

This prevents certain texture tests from overflowing the maximum image
height.

Components: Vulkan
VK-GL-CTS Issue: 1456
Affects: dEQP-VK.glsl.*

Change-Id: Ifec5e9aff4d1e60a8f13e7ceb87ffc06e2c9daf2

5 years agoAdd tests checking if no depth is written when depth test is disabled
Slawomir Cygan [Fri, 18 Jan 2019 15:27:10 +0000 (16:27 +0100)]
Add tests checking if no depth is written when depth test is disabled

This adds depth buffer verification to all dEQP-VK.pipeline.depth tests.

Moreover new tests are added, checking if depth buffer is not modified,
when depth test is disabled (while depth write is enabled).

Components: Vulkan

VK-GL-CTS Issue: 1568

Affects: dEQP-VK.pipeline.depth.*

New Tests: dEQP-VK.pipeline.depth.format.*.depth_test_disabled.depth_write_enabled

Change-Id: I5b496ef5a2b89b47fa254a9400bd6c985323c10a

5 years agoAdd testing for VK_EXT_depth_clip_enable
Piers Daniell [Sat, 12 Jan 2019 00:23:07 +0000 (17:23 -0700)]
Add testing for VK_EXT_depth_clip_enable

This extension allows the depth clip to be enabled/disabled
independent of depth clamp. These tests verify depth clip
behavior with both depth clamp enabled and disabled.

Adds tests:
dEQP-VK.clipping.clip_volume.depth_clip.*

Components: Vulkan

VK-GL-CTS issue: 1554

Change-Id: I202fcddb40b5fdd23955359a5ffba06c45e5cfef

5 years agoAdd more merge cache tests
Slawomir Cygan [Tue, 20 Nov 2018 16:00:59 +0000 (17:00 +0100)]
Add more merge cache tests

This change adds multiple combinations of merge source and destination
caches, including cache hits & misses, merging with empty or merged cache,
multiple stages, etc.

Components: Vulkan

VK-GL-CTS Issue: 1555

New Tests: dEQP-VK.pipeline.cache.merge.*

Removed Tests: dEQP-VK.pipeline.cache.misc_tests.merge_cache_test

Change-Id: I799fd2e38d22a6095dc8b1e4cfbc7f6d0a14e6a0

5 years agoFix calls to vkBindImageMemory2
Ilkka Saarelainen [Tue, 29 Jan 2019 13:05:57 +0000 (15:05 +0200)]
Fix calls to vkBindImageMemory2

Some tests in the CTS called vkBindImageMemory2 once for each plane
of a multi-planar format when using an image created with DISJOINT
flag. However, the specification states that a single call to
vkBindImageMemory2 must bind all or none of the planes.

This combines the multiple calls to a single call.

Affects:

dEQP-VK.protected_memory.interaction.ycbcr.*_disjoint
dEQP-VK.ycbcr.format.*_disjoint

Components: Vulkan

VK-GL-CTS issue: 1564

Change-Id: I921c38f24f4499c72d1c9798fa50e00e38f8c9d2

5 years agoAdd more graphicsfuzz vkrunner tests
Paul Thomson [Thu, 17 Jan 2019 17:25:15 +0000 (17:25 +0000)]
Add more graphicsfuzz vkrunner tests

Also modify the existing graphicsfuzz test slightly to add copyright
header and better comments.

Components: Vulkan

Affects:

dEQP-VK.graphicsfuzz.pow-vec4

New Tests:

dEQP-VK.graphicsfuzz.control-flow-switch
dEQP-VK.graphicsfuzz.dead-struct-init
dEQP-VK.graphicsfuzz.mat-array-deep-control-flow
dEQP-VK.graphicsfuzz.mat-array-distance
dEQP-VK.graphicsfuzz.swizzle-struct-init-min

Change-Id: I9f3dbc8c33ca82683114648e8d72fda25a24fa82

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Tue, 5 Feb 2019 08:56:49 +0000 (09:56 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I0d9703f6c933f1531706e05c616c333651066f5f

5 years agoFix swapchain mutable tests buffer allocations
Lionel Landwerlin [Wed, 23 Jan 2019 18:29:34 +0000 (18:29 +0000)]
Fix swapchain mutable tests buffer allocations

We're seeing failure on our implementation and those seem to be
related to the fact that some buffers are allocated with one VkDevice
and used with another VkDevice. This raises errors in the validation
layers :

   Validation(ERROR): msg_code: 385926663:
   [ VUID-vkBindBufferMemory-memory-parent ] Object: 0x6 (Type = 8) |
   Object 0x6 was not created, allocated or retrieved from the correct
   device. The spec valid usage text states 'memory must have been
   created, allocated, or retrieved from device'

Affects: dEQP-VK.image.swapchain_mutable.*

Change-Id: I4d3c62dace2d259061382d3014deb05bc4eac9d7

5 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Mon, 4 Feb 2019 12:10:18 +0000 (13:10 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I9934155193938f026ba0164995523eef96317e3d

5 years agoMerge pull request #136 from werman/vulkan/VK_EXT_conditional_rendering
Alexander Galazin [Mon, 4 Feb 2019 12:09:04 +0000 (13:09 +0100)]
Merge pull request #136 from werman/vulkan/VK_EXT_conditional_rendering

Add tests of VK_EXT_conditional_rendering for secondary command buffer

5 years agoUpdate default Android API level to 28
Alexander Galazin [Fri, 18 Jan 2019 12:52:52 +0000 (13:52 +0100)]
Update default Android API level to 28

Components: Framework, OpenGL, Vulkan

Affects: running on Android

Change-Id: I4f7db78ab1eaa470ffe3118fea4b5e925aed9989

5 years agoMemory model tests for transitive av/vis ops
Jeff Bolz [Sat, 10 Nov 2018 19:52:45 +0000 (13:52 -0600)]
Memory model tests for transitive av/vis ops

Components: Vulkan

New Tests: dEQP-VK.memory_model.transitive.*

Change-Id: Ia90ad7165c87fba2bfe18cf8a27acf479aa68512

5 years agoNaN handling in float16 tests
Boris Zanin [Fri, 21 Dec 2018 13:53:25 +0000 (14:53 +0100)]
NaN handling in float16 tests

Support of NaNs is optional according the specification.
Tests always have expected that NaNs are always supported.
To be compatible with the specification skip check of NaN
input floats in logical.* and add a new set of tests
logical_nan.*.  The new tests require device extension
VK_KHR_shader_float_controls to validate whether NaNs are
supported (property shaderSignedZeroInfNanPreserveFloat16).

Updated tests:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opfunord*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opfunord*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opford*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opford*

Added tests:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical_nan.*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical_nan.*

Affected tests:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opisnan*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opisnan*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opisinf*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opisinf*

Components: Vulkan

VK-GL-CTS issue: 1528

Change-Id: Iadd91ed24c78e15ff458355262b009015b8a8e4a

5 years agoAdd tests for clearing cube attachments with non zero base array layer
dapanel [Fri, 19 Oct 2018 11:04:52 +0000 (13:04 +0200)]
Add tests for clearing cube attachments with non zero base array layer

Added test to check if base array layer is used properly for cube image views.

Components: Vulkan

VK-GL-CTS Issue: 1547

New tests:
dEQP-VK.api.image_clearing.*.cube_layers.*

Change-Id: I716168717dde8ef8fad26427fcd79a21c7b83598

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Wed, 30 Jan 2019 13:32:36 +0000 (14:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I4dc98f1a1a40a191c9adc8086d3c842444697a93

5 years agoFix mustpasses
Alexander Galazin [Wed, 30 Jan 2019 12:48:36 +0000 (13:48 +0100)]
Fix mustpasses

Components: Vulkan

Change-Id: Ic0effbe836c0501255e3958e0224f55d64fe5d3f

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Wed, 30 Jan 2019 11:32:55 +0000 (12:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I6077e7955922b190bb161f7ea55b70622de9cc95

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Wed, 30 Jan 2019 11:32:51 +0000 (12:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ibe8e4681ee550224f9db8109857812113c2bc503

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Wed, 30 Jan 2019 11:32:48 +0000 (12:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I15606e0ae4cebef241218414134324f043f06633

5 years agoAdd tests of VK_EXT_conditional_rendering for secondary command buffer
Danylo Piliaiev [Wed, 12 Dec 2018 16:21:07 +0000 (18:21 +0200)]
Add tests of VK_EXT_conditional_rendering for secondary command buffer

Tests which previosly were under "secondary_buffer" category are now
under "inherited" category since begin/end conditional rendering is
still in primary command buffer.

New tests for conditional rendering in secondary command buffer took
these tests' names.

Components: Vulkan

Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
5 years agoAdd missing PointSize to some geometry tests
Ilkka Saarelainen [Sun, 13 Jan 2019 19:58:43 +0000 (21:58 +0200)]
Add missing PointSize to some geometry tests

Validation layers catch validation errors in YCbCr and glsl tests
caused by the missing gl_PointSize in the geometry shader code.

This adds the missing gl_PointSize to get rid of the validation
errors.

Components: Vulkan

Affects:
dEQP-VK.glsl.*geometry
dEQP-VK.ycbcr.*geometry*

VK-GL-CTS issue: 1502

Change-Id: I0f306d9c4c244b275f1e437869e3a6af5169f217

5 years agoAdded variants of PointCoord test with uniforms
Jari Komppa [Fri, 7 Dec 2018 12:05:32 +0000 (14:05 +0200)]
Added variants of PointCoord test with uniforms

Adds variants of the PointCoord test that include an uniform that
changes the output.

New tests:

dEQP-VK.glsl.builtin_var.simple.pointcoord_uniform_frag
dEQP-VK.glsl.builtin_var.simple.pointcoord_uniform_vert

Components: Vulkan

VK-GL-CTS issue: 1365

Change-Id: If2e46051ae67aefa558886b0fffcbf5916213f28

5 years agoFix validation errors in subgroups tests
Graeme Leese [Thu, 10 Jan 2019 11:20:02 +0000 (11:20 +0000)]
Fix validation errors in subgroups tests

Some subgroups tests were attempting to create a descriptor pool of size
0, which is invalid. Instead, skip the whole construction of descriptor
sets since they aren't needed.

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

Change-Id: I5abedcc2360a0336c521aea855a9725b127c9a0f

5 years agoExtend api.version_check.entry_points test
Toni Merilehti [Mon, 14 Jan 2019 12:42:01 +0000 (14:42 +0200)]
Extend api.version_check.entry_points test

This adds a check that verifies that vkGet*ProcAddr returns valid
function pointers for extension functions. The tested extensions are
multi-author extensions that are supported by the device.

Also, the gen_framework.py script is updated to generate
a vkExtensionFunctions.inl file that contains functions of instance
and device extensions.

Affects:

dEQP-VK.api.version_check.entry_points

Components: Vulkan

VK-GL-CTS issue: 1374

Change-Id: Ia66319515300474f5dcbcab6f090ec15a823ca7b

5 years agoAdded missing writes to gl_Position in vertex shaders
Dae Kim [Mon, 28 Jan 2019 11:11:09 +0000 (11:11 +0000)]
Added missing writes to gl_Position in vertex shaders

Some vertex shaders are not writing a value to gl_Position, which can cause
unintended run-time behavior (including termination or system instability).

Components: Vulkan
VK-GL-CTS issue: 1579

Affects:
dEQP-VK.binding_model.descriptorset_random.*
dEQP-VK.memory_model.message_passing.*

Change-Id: I3f2f21f23508bda3062a4480e9fac78748bab32b

5 years agoDepth attachment not stored in late_fragment_tests
Alex Walters [Fri, 25 Jan 2019 18:10:08 +0000 (18:10 +0000)]
Depth attachment not stored in late_fragment_tests

The stencil was stored, but the depth attachment was set to DONT_CARE.
This allows implementations to optimise out the depth store at the end
of the renderpass, when the test is expecting to readback valid depth
values for reference comparison.

Affects:

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

Components: Vulkan

VK-GL-CTS issue: 1578

Change-Id: Ie3bb52fa63ff379d70759190460ce8662c4c09ad

5 years agoChange vkrunner tests to use Archive
Graeme Leese [Wed, 9 Jan 2019 17:54:49 +0000 (17:54 +0000)]
Change vkrunner tests to use Archive

Loading the files directly doesn't work on Android.

Components: Vulkan

Affects:
dEQP-VK.vkrunner.*
dEQP-VK.graphicsfuzz.*
dEQP-VK.draw.*
dEQP-VK.dynamic_state.*

VK-GL-CTS issue: 1574

Change-Id: I2efb547f74d44486aee093837c973425606fe4da

5 years agoAdd ASTC LDR error colour quality warning
Alex Walters [Fri, 14 Sep 2018 10:44:55 +0000 (11:44 +0100)]
Add ASTC LDR error colour quality warning

Some hardware can output the HDR error colour (black) instead of the
LDR error colour (magenta). Valid compression blocks are rendered
correctly.

This change adds a second comparison mechanism if the initial *fast*
deMemCmp fails; the texture values are compared allowing for any value
matching an error colour to compare against the other error colour.

If such a match is detected the test will output a QualityWarning
instead of a Pass.

If the two compared values don't match, but are not both error colours
the test result is still a Fail.

Affects:

dEQP-VK.image.texel_view_compatible*astc*

Components: Vulkan

VK-GL-CTS issue: 1231

Change-Id: Ie14913de0f2f3cf7fed90c275e48c67181c1e7ff
(cherry picked from commit b038d43aa868be1e6d4471c6977984151ada3af5)

5 years agoFix the device_group test failure by allowing same number of tries to
Mohd Faisal [Fri, 19 Oct 2018 09:35:36 +0000 (10:35 +0100)]
Fix the device_group test failure by allowing same number of tries to
create object as device test.

Components: Vulkan

Affects: dEQP-VK.api.object_management.alloc_callback_fail.device_group

VK-GL-CTS Issue: 1431

Change-Id: I099a05f3109c1997cad323a0577f66c95755b151
(cherry picked from commit 4c98da04296ed97e73fecdd2e5b80478ba7f60af)

5 years agoReduce devices created in device_group tests
Peter Quayle [Tue, 11 Dec 2018 18:02:26 +0000 (18:02 +0000)]
Reduce devices created in device_group tests

The device_group tests could sometimes hit timeouts on
slower CPUs. This change reduces the number of objects
created in these tests to match the reduced number used
in the device and instance tests.

Affects:
dEQP-VK.api.object_management.
multithreaded_per_thread_resources.device_group
dEQP-VK.api.object_management.
multithreaded_shared_resources.device_group

Components: Vulkan

VK-GL-CTS issue: 1512
Change-Id: Icb68643ff530a8b1a1a7daa9fc93d8db8bc5faf9
(cherry picked from commit 9134406c47a0f345ea9e3c67dc7b99c7947b2436)

5 years agoFix GL errors expected for glClearNamedBufferData and glClearNamedBufferSubData
asokolow [Thu, 20 Sep 2018 09:56:25 +0000 (11:56 +0200)]
Fix GL errors expected for glClearNamedBufferData and glClearNamedBufferSubData

The spec says:

"An INVALID_VALUE error is generated if type is not one of the types in
table 8.2.
An INVALID_VALUE error is generated if format is not one of the formats
in table 8.3."

However, the test was expecting INVALID_ENUM

Components: OpenGL

VK-GL-CTS Issue: 1572

Change-Id: Ibcb338061584af48026b291c4372303c083102ea
Affects: KHR-GL45.direct_state_access.buffers_errors

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Thu, 24 Jan 2019 21:13:10 +0000 (22:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I557cfbf99b4603ec546a3443bd2f5334475980dc

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Thu, 24 Jan 2019 21:13:07 +0000 (22:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I00246ec185fe843f4ca638ca0a4bfa34b8598cde

5 years agoFixes multiview query tests
Yu-Jun Li [Mon, 7 Jan 2019 18:48:18 +0000 (10:48 -0800)]
Fixes multiview query tests

Queries need to be reset prior to use

Components: Vulkan
VK-GL-CTS issue: 1575

Affects:
dEQP-VK.multiview.queries.*

Change-Id: Icf0f712a3391784ee47c00de833f8417bb8337c3
(cherry picked from commit bd913ffd046955e976337ab6fb1e93520b37c375)

5 years agoFixes multiview query tests
Yu-Jun Li [Mon, 7 Jan 2019 18:48:18 +0000 (10:48 -0800)]
Fixes multiview query tests

Queries need to be reset prior to use

Components: Vulkan
VK-GL-CTS issue: 1575

Affects:
dEQP-VK.multiview.queries.*

Change-Id: Icf0f712a3391784ee47c00de833f8417bb8337c3

5 years agoFix dependency on unspecified rounding mode
Stephen Clarke [Tue, 15 Jan 2019 11:32:49 +0000 (11:32 +0000)]
Fix dependency on unspecified rounding mode

These tests perform an addition whose Rounding mode is unspecified
according to the specification.  This test is not testing addition,
it is testing that the input values are read correctly, so modify
the input values such that they do not require rounding.

Affected tests:
* dEQP-VK.spirv_assembly.instruction.compute.indexing.input.non16basealignment*

Components: Vulkan

VK-GL-CTS issue: 1473
Change-Id: Ifab284d95cc2e36c3a551c30d57deeca7bd8d4b2

5 years agoSeparate out debug information in Android build
Chris Forbes [Thu, 14 Jun 2018 06:23:02 +0000 (23:23 -0700)]
Separate out debug information in Android build

We don't want to place the debug information in the APK, but we should
keep it around on the host so that the debugger can work.

In a "normal" Android app packaging process this is done for us by
gradle, but we roll our own. Do it as a CMake post-build step instead.

Change-Id: I59b13659d66333a06ce60b6057db19b39c067f53
Components: Framework
VK-GL-CTS: 1194
VK-GL-CTS: 1533
(cherry picked from commit 651bd0d1bcfc3763521f16bfd3b9a40396998e8c)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Mon, 21 Jan 2019 20:16:15 +0000 (21:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I90db06a96453f6f1ba2095858d490715b12b3b1d

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Mon, 21 Jan 2019 20:16:12 +0000 (21:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Ia670fa92c0d87e0c01f07e156a00d19533faf9f0

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Mon, 21 Jan 2019 20:16:08 +0000 (21:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ic7e43b929357fc3e076de1105d7e24fb3b92b946

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Mon, 21 Jan 2019 18:21:53 +0000 (19:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I79cdbe3b49745c53437cd85f3022bf9c6123211d

5 years agoUpdate vkrunner version
Chris Forbes [Fri, 18 Jan 2019 17:44:03 +0000 (09:44 -0800)]
Update vkrunner version

Includes fixes for missing synchronization.

VK-GL-CTS Issue: 1567

Change-Id: I21e8cf172e7bd45d54c0b8e0ef9e2776a85e691c

5 years agoAdd const matrix multiply test
Paul Thomson [Wed, 2 Jan 2019 12:09:53 +0000 (12:09 +0000)]
Add const matrix multiply test

Test case ported from an ANGLE regression test.

New tests:

dEQP-GLES3.functional.shaders.constants.const_mat_multiply*

Components: AOSP

Chromium issue: 912508

Change-Id: I5ecc13af8f8e7a5d5a50126ea609e8ad6fab185b

5 years agoAdd UTF8 abuse tests for extension and layer names
Jari Komppa [Mon, 7 Jan 2019 12:31:34 +0000 (14:31 +0200)]
Add UTF8 abuse tests for extension and layer names

These tests abuse the layer and extension name fields of the instance
creation APIs. The APIs are defined as taking in UTF-8 strings but
all actual strings so far are ASCII, so it is possible that these
inputs are unexpected and may lead to crashes.

New tests:

dEQP-VK.api.device_init.create_instance_extension_name_abuse
dEQP-VK.api.device_init.create_instance_layer_name_abuse

Components: Vulkan

VK-GL-CTS issue: 1510

Change-Id: Iaf370dd737ca8ce8c4fda849a95b951fa12d2ab5

5 years agoAdd graphicsfuzz vkrunner tests
Paul Thomson [Fri, 21 Dec 2018 11:42:32 +0000 (11:42 +0000)]
Add graphicsfuzz vkrunner tests

Add a new category for simplified test cases found by GraphicsFuzz that
trigger bugs in widely-used shader compilers so that the bugs will be
fixed and will stay fixed. The test cases do not try to get coverage of
specific features; the tests usually trigger very specific and subtle
bugs and may look strange without this context. Nevertheless, the tests
should clearly pass.

Add one test case. Other test cases to follow.

Components: Vulkan

New Tests: dEQP-VK.graphicsfuzz.pow-vec4

Change-Id: I518cc24b5649e662ee383b36dbe05b55153325c4

5 years agoFix missing self dependency in renderpass tests
Leif-Julian Ovrelid [Thu, 8 Nov 2018 09:16:10 +0000 (10:16 +0100)]
Fix missing self dependency in renderpass tests

The dEQP-VK.renderpass.suballocation.formats and
dEQP-VK.renderpass.dedicated_allocation.formats tests were missing self
dependencies in some cases where they read then write one attachment
in one subpass. In cases with overlapping rendering this would give a
read-write-then-read-write situation, which neads a self dependency to
work reliably. Some of the tests were missing the self dependency, some
of them had the color attachment bits set when depending on depth, and
one case had a self dependency where it should not.
This patch adds a self dependency to two test cases that need it,
removes self dependency from a case that does not need it, and fixes
the depth tests to have the correct bits set.

Affects:

dEQP-VK.renderpass.suballocation.formats.*.input.*
dEQP-VK.renderpass.dedicated_allocation.formats.*.input.*
dEQP-VK.renderpass2.suballocation.formats.*.input.*
dEQP-VK.renderpass2.dedicated_allocation.formats.*.input.*

Components: Vulkan

VK-GL-CTS Issue: 1454

Change-Id: I4a9bec3ef6b088ab3a50d7f658867076f68788b9
(cherry picked from commit f659f8c9ad39c179a79a92ee3b66cb83e1dd52ed)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Fri, 18 Jan 2019 12:19:35 +0000 (13:19 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I3eef5f481cfa4bf5c8bcb0feb69733d492de95d3

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Fri, 18 Jan 2019 10:54:53 +0000 (11:54 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Idec176bfe0b3a95eb0c557f32015968cbeb914d7

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 18 Jan 2019 09:47:28 +0000 (10:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I2b85e569622052ec742b1272ac367fc1dccf1733

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 18 Jan 2019 09:47:25 +0000 (10:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Iaf773ccd948a5707df4d2ae4628a702e739bd8df

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 18 Jan 2019 09:47:22 +0000 (10:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: Idf9225adfcbc231e544516558bd6d794dce40b26

5 years agoFix NaN handling in funord tests
Stephen Clarke [Mon, 14 Jan 2019 16:31:18 +0000 (16:31 +0000)]
Fix NaN handling in funord tests

Support of NaNs is optional according to the specification, but
these tests were assuming that NaNs are always supported.
Modify these tests to skip check if an operand is a NaN.

Add infrastructure for a new set of tests opfunord_nan*, which
use VK_KHR_shader_float_controls to check whether NaNs are supported.
But since this is a bugfix, do not actually add the new tests.

Affected tests:
* dEQP-VK.spirv_assembly.instruction.compute.opfunord*

Components: Vulkan

VK-GL-CTS issue: 1551
Change-Id: Ic60f13377ff9d2bdc2e10047aab8be0617904670

5 years agoFix validation failure in float_controls
Piotr Byszewski [Thu, 17 Jan 2019 12:37:07 +0000 (13:37 +0100)]
Fix validation failure in float_controls

Half of float_controls tests read operation arguments from
SSBO (other half generates them in the code). Whent vertex
stage is tested this SSBO must be decorated as NonWritable.
This change resolves this issue by applying NonWritable
decoration to input SSBO for all tested stages.
Operation output is always saved in fragment stage and to
separate SSBO.

Components: Vulkan

VK-GL-CTS issue: 1543

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

Change-Id: Iaed891d7b45b2a5f02ce1443dc13a40e24fa2086

5 years agoUpdate Vulkan CTS Readme
Alexander Galazin [Thu, 17 Jan 2019 11:51:30 +0000 (12:51 +0100)]
Update Vulkan CTS Readme

Clarify API level requirements for implementations with
VK_ANDROID_external_memory_android_hardware_buffer support

Components: Vulkan

Change-Id: I8536595678a8d4daff9e16ed3a9e9e25594e372e

5 years agoFixes ycbcr image properties requirement
Matthew Netsch [Wed, 16 Jan 2019 19:36:30 +0000 (14:36 -0500)]
Fixes ycbcr image properties requirement

Mipmaps/Arrays are optional for ycbcr images

Components: Vulkan
VK-GL-CTS issue: 1506

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

Change-Id: I795ec1c8b3e44a460ddd0c7c2fe0fe1731794cab
(cherry picked from commit 845394de5b43c71adddc72e7563b50c65e852b27)

5 years agoFixes ycbcr image properties requirement
Matthew Netsch [Wed, 16 Jan 2019 19:36:30 +0000 (14:36 -0500)]
Fixes ycbcr image properties requirement

Mipmaps/Arrays are optional for ycbcr images

Components: Vulkan
VK-GL-CTS issue: 1506

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

Change-Id: I795ec1c8b3e44a460ddd0c7c2fe0fe1731794cab

5 years agoFix image type in Uniform texel buffer tests
Alexander Galazin [Thu, 17 Jan 2019 11:56:27 +0000 (12:56 +0100)]
Fix image type in Uniform texel buffer tests

Form the issue:
The Shader Resource and Storage Class Correspondence table
in the Descriptor Set Interface section of the Vulkan 1.1
specification clearly states that a descriptor resource
which is a uniform texel buffer should correspond to
an OpTypeImage(Dim=Buffer,Sampled=1) type.

The current tests in the binding_model category
generate OpTypeSampledImage for uniform texel buffer
resources instead, which I believe is incorrect.

This can be fixed by changing the GLSL declaration from
samplerBuffer to textureBuffer

Components: Vulkan

VK-GL-CTS public issue: 139

Affects:
dEQP-VK.binding_model.*uniform_texel_buffer.*

Change-Id: Ie1beb05cac69a6cf1220bbd47c2d7876eed7ff26

5 years agoProtected Memory Fixes - Barrier Layouts & Flags
Martin Freebody [Mon, 14 Jan 2019 13:34:40 +0000 (13:34 +0000)]
Protected Memory Fixes - Barrier Layouts & Flags

This change removes errors reported by core validation layer.

Affects: dEQP-VK.protected_memory.*

Components: Vulkan

Change-Id: Ic258ba2af077b2dc119db0d177613558464e0c9a

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Thu, 17 Jan 2019 12:07:33 +0000 (13:07 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I46729dcd60ae4c533dabacb17fbeecc92f709bb0

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Thu, 17 Jan 2019 11:24:09 +0000 (12:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Ibfebb592de5aff940b3167f5475139cec99ef6f5

5 years agoUpdate VK_KHR_vulkan_memory_model to spec version 3
Jeff Bolz [Wed, 12 Dec 2018 19:46:54 +0000 (13:46 -0600)]
Update VK_KHR_vulkan_memory_model to spec version 3

Components: Vulkan
Affects: dEQP-VK.memory_model.*
Change-Id: I3ba8a275092f0a2fcfef02cdabf2ab51750f74f5

5 years agoFixes depth load_op in multiview tests
Tom Cooper [Mon, 14 Jan 2019 14:02:03 +0000 (14:02 +0000)]
Fixes depth load_op in multiview tests

Depth load_op was set to dont care before drawing with depth test.

Components: Vulkan
VK-GL-CTS issue: 1557

Affects:
dEQP-VK.multiview*.depth.*

Change-Id: Ia853a84fa7c96b641a2dd91075d015a90a372d35

5 years agoTruncate random coordinates in late fragment tests
Steve Hill [Fri, 11 Jan 2019 10:12:46 +0000 (10:12 +0000)]
Truncate random coordinates in late fragment tests

The late-fragment tests generate random triangles.  Unfortunately,
the reference rasteriser does not respect the sub-pixel precision
of the physical device (it assumes 8 bits) which means that on
some platforms the reference rasterisation does not agree with
implementation.

This patch rounds the random coordinates to the reported
sub-pixel precision.  It was decided that in the short term this
was a less invasive change than modifying the reference rasteriser.

Affects: dEQP-VK.renderpass*.subpass_dependencies.late_fragment_tests.*

Components: Vulkan

VK-GL-CTS issue: 1549

Change-Id: I50f20284d9d2cb22e73564d6f71c0a3342547b68

5 years agoReenable coverage of opaque type indexing
Graeme Leese [Tue, 8 Jan 2019 17:16:30 +0000 (17:16 +0000)]
Reenable coverage of opaque type indexing

These tests appear to have working code for testing various scenarios
that was disabled. This adds coverage of 1D samplers, non-constant SSBO
indexing, and SSBO indexing in tessellation and geometry stages.

Components: Vulkan
VK-GL-CTS Issue: 1544
New Tests: dEQP-VK.glsl.opaque_type_indexing.sampler.*.{i,u,}sampler1d
           dEQP-VK.glsl.opaque_type_indexing.sampler.*.{i,u,}sampler1darray
           dEQP-VK.glsl.opaque_type_indexing.sampler.*.sampler1dshadow
           dEQP-VK.glsl.opaque_type_indexing.sampler.*.sampler1darrayshadow
           dEQP-VK.glsl.opaque_type_indexing.ssbo.uniform_*
           dEQP-VK.glsl.opaque_type_indexing.ssbo.dynamically_uniform_*
           dEQP-VK.glsl.opaque_type_indexing.ssbo_storage_buffer_decoration.uniform_*
           dEQP-VK.glsl.opaque_type_indexing.ssbo_storage_buffer_decoration.dynamically_uniform_*
           dEQP-VK.glsl.opaque_type_indexing.ubo.*_geometry
           dEQP-VK.glsl.opaque_type_indexing.ubo.*_tess_ctrl
           dEQP-VK.glsl.opaque_type_indexing.ubo.*_tess_eval
           dEQP-VK.glsl.opaque_type_indexing.ssbo.*_geometry
           dEQP-VK.glsl.opaque_type_indexing.ssbo.*_tess_ctrl
           dEQP-VK.glsl.opaque_type_indexing.ssbo.*_tess_eval

Change-Id: I16ed787be3057b1d77c89d9684472f1e74a3b870

5 years agoTest swizzles of 2D texture lookup coordinates
Mika Väinölä [Mon, 7 Jan 2019 13:00:20 +0000 (15:00 +0200)]
Test swizzles of 2D texture lookup coordinates

Add new tests that verify 2D textures with given lookup coordinate
swizzles are rendered correctly.

New tests:
dEQP-VK.texture.swizzle.texture_coordinate.*

Affects:
dEQP-VK.texture.swizzle.*

Components: Vulkan

VK-GL-CTS issue: 1212

Change-Id: I8d1a3ef060542232ffa016342728d9b5fb01902a

5 years agoTouch watchdog more often for precision tests.
Bas Nieuwenhuizen [Tue, 15 Jan 2019 17:02:59 +0000 (18:02 +0100)]
Touch watchdog more often for precision tests.

Have a test that takes ~2.5 minutes here using ARM
emulation:

01-15 17:58:54.903  3909  3926 I dEQP    : Test case 'dEQP-VK.glsl.builtin.precision.reflect.mediump_compute.vec4'..
01-15 18:01:28.631  3909  3926 I dEQP    :   Pass (Pass)

Since this is still below the overall 300 seconds limit
for a test I thought just increasing the watchdog touch
frequency would be okay.

We probably strictly need about 1000, but for leaving
some time before/after this for the driver to do stuff
(like compiling a shader), I took something lower.

Affected tests:
dEQP-VK.glsl.builtin.precision.*

Component: Vulkan

VK-GL-CTS issue: 1560

Change-Id: I450ddac39635c857ee1966d86ae16085082d242b

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Tue, 15 Jan 2019 15:36:24 +0000 (16:36 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I7ca6e37c293b217b4e95f475e171e142c33ac181

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Tue, 15 Jan 2019 15:36:23 +0000 (16:36 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I99ab3d97b302f2b9d82ec0ce8a05e716d1aec54a

5 years agoAdded PointSize in shader used for drawing points
Dae Kim [Fri, 11 Jan 2019 11:38:11 +0000 (11:38 +0000)]
Added PointSize in shader used for drawing points

Follow-up change of 76a3efb8583de58358570c912e4388a780a2cb39.

A SPIR-V assembly shader with undefined PointSize was being used with
point list topology.

Affects:

dEQP-VK.subgroups.*

Components: Vulkan

VK-GL-CTS issue: 1197,1552

Change-Id: I10404d8fe45b9fb7484d1b90b984e66ca8569de4

5 years agoAdd AHB to Android allowed extensions list
Chris Forbes [Tue, 15 Jan 2019 01:30:31 +0000 (17:30 -0800)]
Add AHB to Android allowed extensions list

Affects: dEQP-VK.api.info.android.no_unknown_extensions
VK-GL-CTS Issue: 1559
Components: Vulkan
Google Bug: b/120907290

Change-Id: Id1f2d63cbd51e7b3e51106f8f0214cd8d95c199c

5 years agoFix logging of 8-bit integer values
Slawomir Cygan [Mon, 10 Dec 2018 16:08:05 +0000 (17:08 +0100)]
Fix logging of 8-bit integer values

The values were 'streamed' using << to std::stream, so they
were treated as characters, instead of integer values.

Components: Vulkan

VK-GL-CTS Issue: 1505

Affects:
dEQP-VK.spirv_assembly.type.scalar.*8.*

Change-Id: I34e697eb5b1c554b98a2fe556368bd6485fb406f

5 years agoFix incorrect use of copyImageToBuffer in TextureRenderer::renderQuad()
Samuel Pitoiset [Thu, 13 Dec 2018 15:45:41 +0000 (16:45 +0100)]
Fix incorrect use of copyImageToBuffer in TextureRenderer::renderQuad()

The last parameter is an access flag, not a pipeline stage one.
As the default value is already correct, removing the last
parameter is enough.

Fixes https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/1511

Components: Vulkan

VK-GL-CTS issue: 1511
Affects: dEQP-VK.texture.*

Change-Id: Ib261482d4a9fae911fbda6ad5a45548a02430c1a
(cherry picked from commit 92491133746a3d1715a683dad7f5516096c79d8f)

5 years agoAllow coarse derivatives to be calced by fine func
Boris Zanin [Tue, 27 Nov 2018 11:54:43 +0000 (12:54 +0100)]
Allow coarse derivatives to be calced by fine func

OpDPdxCoarse (OpDPdyCoarse) are allowed to be calculated by same
formulas as OpDPdxFine (OpDPdyFine).  Also due to OpFwidthCoarse
is described as sum of OpDPdxCoarse, OpDPdyCoarse allow it to be
calculated by OpFwidthFine.

Components: vulkan

VK-GL-CTS issue: 1452

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

Change-Id: Ib91d813626e579309d3d9176d52b0954efa920d4

5 years agoAdd 1.1.3.0 to known conformance versions
Alexander Galazin [Sat, 12 Jan 2019 11:48:48 +0000 (12:48 +0100)]
Add 1.1.3.0 to known conformance versions

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I521e0a02b6b26065e7da30b006511cdaf7707418

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Fri, 11 Jan 2019 17:42:50 +0000 (18:42 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: Ic27d89a0685072c89ba6c0ab226f7a4c7459f98a

5 years agoCorrect support conditions for float16s
Graeme Leese [Mon, 10 Dec 2018 14:31:51 +0000 (14:31 +0000)]
Correct support conditions for float16s

My previous fix missed out the graphics versions of these tests, so add
the correct conditions under which these tests can be supported as well.

Components: Vulkan
VK-GL-CTS issue: 1499
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float16.opconstantcomposite.*
dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.fconvert16_*
dEQP-VK.spirv_assembly.instruction.graphics.float16.opconstant.*

Change-Id: I7ac48027b4160bd82484e7d8d780d8a1870babbf
(cherry picked from commit f2ed80c3d2f8b4f2e782f71cc3755fe06ab52b33)

5 years agoRemove one method of specifying features in vktSpvAsm
Graeme Leese [Mon, 10 Dec 2018 14:31:31 +0000 (14:31 +0000)]
Remove one method of specifying features in vktSpvAsm

The features can either be specified as a vector of strings (most of
which won't work), or as a VulkanFeatures struct, which is properly
checked. Remove the vector of strings method and change everything to
use the VulkanFeatures.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*

Change-Id: Ia4f51f9e64dde129cb577982f2a17fa529c4c961
(cherry picked from commit f58817ce095d2a0dda0b5d2a57f82428b3462f38)

5 years agoRemove incorrect vertexPipelineStoresAndAtomics dependencies
Graeme Leese [Tue, 8 Jan 2019 15:38:23 +0000 (15:38 +0000)]
Remove incorrect vertexPipelineStoresAndAtomics dependencies

Components: Vulkan
Affects: dEQP-VK.pipeline.push_descriptor.graphics.*
         dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.*
         dEQP-VK.glsl.opaque_type_indexing.ssbo.*
         dEQP-VK.glsl.opaque_type_indexing.ssbo_storage_buffer_decoration.*

Change-Id: I68a6a42aac647e61b6d58f2cdc74b0a5b9ea9718

5 years agoCorrect support conditions for float16s
Graeme Leese [Mon, 10 Dec 2018 14:31:51 +0000 (14:31 +0000)]
Correct support conditions for float16s

My previous fix missed out the graphics versions of these tests, so add
the correct conditions under which these tests can be supported as well.

Components: Vulkan
VK-GL-CTS issue: 1499
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float16.opconstantcomposite.*
dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.fconvert16_*
dEQP-VK.spirv_assembly.instruction.graphics.float16.opconstant.*

Change-Id: I7ac48027b4160bd82484e7d8d780d8a1870babbf

5 years agoRemove one method of specifying features in vktSpvAsm
Graeme Leese [Mon, 10 Dec 2018 14:31:31 +0000 (14:31 +0000)]
Remove one method of specifying features in vktSpvAsm

The features can either be specified as a vector of strings (most of
which won't work), or as a VulkanFeatures struct, which is properly
checked. Remove the vector of strings method and change everything to
use the VulkanFeatures.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*

Change-Id: Ia4f51f9e64dde129cb577982f2a17fa529c4c961

5 years agoAdd tests for vkAcquireNextImage2KHR
Piotr Byszewski [Tue, 4 Dec 2018 13:14:21 +0000 (14:14 +0100)]
Add tests for vkAcquireNextImage2KHR

This change adds two tests for vkAcquireNextImage2KHR.
* "basic2" test is based on existing "basic" test. This test
was generalized so that it can be executed using both
vkAcquireNextImage and vkAcquireNextImage2.
* New "device_group" test also does the same thing as "basic"
tests but it is rendering triangle over 600 frames using
device_group extension.
This change triggers layer errors (4 for each frame) but it
seams this is because of AcquireNextImage2 not beeing supported
by layers (https://github.com/KhronosGroup/
Vulkan-LoaderAndValidationLayers/issues/2502).

VK-GL-CTS issue: 1369

Components: Vulkan

Affects:
dEQP-VK.wsi.*.swapchain.render.*

Change-Id: I31b4ff99990a2b478cbcbbf4a8f7978edf2163c2

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Fri, 11 Jan 2019 11:22:52 +0000 (12:22 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Ibbb2f02096cee66991004e8b14dedd9c4c618c59

5 years agoUpdate glslang
Alexander Galazin [Fri, 11 Jan 2019 08:51:22 +0000 (09:51 +0100)]
Update glslang

Component: Framework

Change-Id: I35639832f859e7eb4d62c887eee465555f04b877

5 years agoClear Core Validation Errors for Protected Memory
Martin Freebody [Tue, 18 Dec 2018 14:48:13 +0000 (14:48 +0000)]
Clear Core Validation Errors for Protected Memory

Affects: dEQP-VK.protected_memory.*

Components: Vulkan

VK-GL-CTS issue: 1539

Change-Id: I19c51330394f2fccc7a7a01fed3395bb66a5ab3f

5 years agoCause vkrunner tests to fail if scripts not found
Graeme Leese [Wed, 9 Jan 2019 16:46:22 +0000 (16:46 +0000)]
Cause vkrunner tests to fail if scripts not found

Rather than simply ignoring the test throw an InternalError.

Components: Vulkan
VK-GL-CTS Issue: 1548
Affects: dEQP-VK.vkrunner-example.*

Change-Id: Ib29692c792acf49f428e042fb9cc951dd32130dd
(cherry picked from commit 255f67d1d9dc6616058335ca8a0597b92a3bfa27)

5 years agoAllow a tolerance for results of sqrt
Graeme Leese [Wed, 9 Jan 2019 16:21:05 +0000 (16:21 +0000)]
Allow a tolerance for results of sqrt

The tolerance added to the test is around 5 ULP.

Components: Vulkan
VK-GL-CTS Issue: 1546
Affects: dEQP-VK.vkrunner-example.sqrt_*

Change-Id: Idfb6f8485d10a29cf0c4c46355df1df1008298df
(cherry picked from commit 215b2e3f4424e4568cb19c290d82fe7c48cb1b8b)

5 years agoAdded test for backwards subpass self dependency
Ari Suonpaa [Mon, 10 Dec 2018 07:50:45 +0000 (09:50 +0200)]
Added test for backwards subpass self dependency

There is a plan to change spec to allow subpass self dependency
to go backwards in non-framebuffer stages. This change adds
a test for one such case where geometry shader writes to an
indirect buffer, which in turn is used by an indirect draw
in the same subpass.

Affects:

dEQP-VK.renderpass*.subpass_dependencies.self_dependency.*

Components: Vulkan

VK-GL-CTS issue: 1446
Change-Id: If1d1f5fd7ad5938d54baf4c70dfc76ca0f332972

5 years agoFix dup tests to not free in-use semaphores/fences
Liam Middlebrook [Thu, 3 Jan 2019 22:07:10 +0000 (14:07 -0800)]
Fix dup tests to not free in-use semaphores/fences

The dup{,2,3} tests were subject to a race condition in which a
semaphore may be deleted before a VkQueue which was dependent on it had
completed execution.

This change moves the vkQueueWaitIdle call into the same scope as the
semaphores/fences that the queue is dependent on.

VK-GL-CTS issue: 1538

Components: Vulkan

Affects: dEQP-VK.api.external.{fence,semaphore}.opaque_fd.dup*

Change-Id: I73cf541c9c184790df44b68b8a065787634847d9
(cherry picked from commit 732a8b6800972b271735cf9b865a3612fb56dfc4)

5 years agoFix dup tests to not free in-use semaphores/fences
Liam Middlebrook [Thu, 3 Jan 2019 22:07:10 +0000 (14:07 -0800)]
Fix dup tests to not free in-use semaphores/fences

The dup{,2,3} tests were subject to a race condition in which a
semaphore may be deleted before a VkQueue which was dependent on it had
completed execution.

This change moves the vkQueueWaitIdle call into the same scope as the
semaphores/fences that the queue is dependent on.

VK-GL-CTS issue: 1538

Components: Vulkan

Affects: dEQP-VK.api.external.{fence,semaphore}.opaque_fd.dup*

Change-Id: I73cf541c9c184790df44b68b8a065787634847d9

5 years agopipeline timestamps test: fix too-large VkBufferCopy
Lingfeng Yang [Thu, 27 Dec 2018 00:43:40 +0000 (16:43 -0800)]
pipeline timestamps test: fix too-large VkBufferCopy

The pipeline timestamps test intends to copy the entire buffer contents
from source to destination, but the copy is done for 512 bytes, which
currently exceeds the size of the buffer, 256. That is not valid
behavior.

Components: Vulkan
Affects: dEQP-VK.pipeline.timestamp.transfer_tests.transfer_stage_with_copy_buffer_method
VK-GL-CTS Issue: 1535

Change-Id: I1ab1ef3a94f4d22702d37c86b6aa2c21c0919a7c

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Thu, 10 Jan 2019 11:57:11 +0000 (12:57 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I53a8d2676ea31656cd43414e20d203961fbdac76

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Thu, 10 Jan 2019 11:57:10 +0000 (12:57 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I7a9d2154ae19bdac61feed815f69691914a59bd4

5 years agoSet correct range for OpVectorTimesScalar tests
Stephen Clarke [Fri, 21 Dec 2018 12:38:35 +0000 (12:38 +0000)]
Set correct range for OpVectorTimesScalar tests

The min[] and max[] values should be based on the result in double precision, not after it has been converted to fp16type.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_2.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_3.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_4.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_2.opvectortimesscalar*
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_3.opvectortimesscalar*
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_4.opvectortimesscalar*

Components: Vulkan

VK-GL-CTS issue: 1532
Change-Id: I30810c8c954ee899bb05602b1f8805f82ac021b3
(cherry picked from commit 12b26bd9762dd56068522cc0a17b26c9e31df1e2)

5 years agoFix errors in SPIR-V 16bit_storage tests
Samuel Iglesias Gonsálvez [Fri, 22 Jun 2018 06:30:28 +0000 (08:30 +0200)]
Fix errors in SPIR-V 16bit_storage tests

Commit 04ba8ac400a3 was wrongly setting a condition that made
all the *16_to_16* tests to fail. Also, in the last rebase of CL#2458,
there were a rename of an argument of OpFunction that was not updated.

Affects: dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.*

Components: Vulkan
VK-GL-CTS issue: 1234

Change-Id: Ia83bedefa33d3e37b62336ebadb2bc992e0ddb2a
(cherry picked from commit 56e8d4e2318dcd0bceddca4d182649f3a03be7ab)

5 years agoRemove NaN handling in float16 tests
Boris Zanin [Fri, 21 Dec 2018 13:53:25 +0000 (14:53 +0100)]
Remove NaN handling in float16 tests

Support of NaNs is optional according the specification.
Tests always have expected that NaNs are always supported.
To be compatible with the specification skip check of NaN
input floats.

Updated tests:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opfunord*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opfunord*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opford*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opford*

Affected tests:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opisnan*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opisnan*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opisinf*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opisinf*

Components: Vulkan

VK-GL-CTS issue: 1528

Change-Id: Iadd91ed24c78e15ff458355262b009015b8a8e4a

5 years agoSet correct range for OpVectorTimesScalar tests
Stephen Clarke [Fri, 21 Dec 2018 12:38:35 +0000 (12:38 +0000)]
Set correct range for OpVectorTimesScalar tests

The min[] and max[] values should be based on the result in double precision, not after it has been converted to fp16type.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_2.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_3.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_4.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_2.opvectortimesscalar*
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_3.opvectortimesscalar*
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_4.opvectortimesscalar*

Components: Vulkan

VK-GL-CTS issue: 1532
Change-Id: I30810c8c954ee899bb05602b1f8805f82ac021b3

5 years agoAllow a tolerance for results of sqrt
Graeme Leese [Wed, 9 Jan 2019 16:21:05 +0000 (16:21 +0000)]
Allow a tolerance for results of sqrt

The tolerance added to the test is around 5 ULP.

Components: Vulkan
VK-GL-CTS Issue: 1546
Affects: dEQP-VK.vkrunner-example.sqrt_*

Change-Id: Idfb6f8485d10a29cf0c4c46355df1df1008298df