platform/upstream/VK-GL-CTS.git
5 years agoAdded tests for rasterizer discard
Toni Merilehti [Thu, 31 May 2018 11:05:10 +0000 (14:05 +0300)]
Added tests for rasterizer discard

New tests were added to verify correct functionality when setting
rasterizerDiscardEnable to VK_TRUE in rasterizationStateCreateInfo.
Tests verify that primitives are discarded before rasterization by
comparing the rendered image to a blank reference image and ensuring
that no fragment shader invocations have occured.

New tests:

dEQP-VK.rasterization.discard.*

Components: Vulkan

VK-GL-CTS issue: 1149

VK-GL-CTS public issue: 100

Change-Id: Ided170a2831efaac7e393ce8cafb93269180b3d0

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Sun, 8 Jul 2018 12:45:07 +0000 (14:45 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Ie72582139799c3bc5a8943a056bdbde3410a0054

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Sun, 8 Jul 2018 12:45:05 +0000 (14:45 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I5cc2ec5db45c7389e4371f10cf5c68186b43169e

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5
Alexander Galazin [Sun, 8 Jul 2018 12:45:02 +0000 (14:45 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5

Change-Id: I7c25701183541186be93af679e622f169f5d37e1

5 years agoMerge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4
Alexander Galazin [Sun, 8 Jul 2018 12:44:59 +0000 (14:44 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.3 into vk-gl-cts/opengl-es-cts-3.2.4

Change-Id: Ice7c3e12cfbc1982ab7d9e363670d81c77c6e7e4

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Sun, 8 Jul 2018 09:41:59 +0000 (11:41 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: Ia44bdd5c4993686508bfa1ecc85b8a528b958f32

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Fri, 6 Jul 2018 21:12:08 +0000 (23:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: Id18cb2c55524e201388d4021d3755ed9f2c722db

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 6 Jul 2018 20:13:57 +0000 (22:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I02b6ca03cf03b1280440b8bcc497afc98f85037f

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 6 Jul 2018 20:06:52 +0000 (22:06 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I141a0abc53983443da9a5bb7c905538f1ddb4f22

5 years agoFix 8bit storage spir-v tests
Arkadiusz Sarwa [Fri, 8 Jun 2018 07:29:49 +0000 (09:29 +0200)]
Fix 8bit storage spir-v tests

Wrong name of the function has been changed in the spir-v code.

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

Components:
Vulkan

VK-GL-CTS issue:
1203

Change-Id: I71b9b87e53776b0afb4d82c32a2bfae8b40ec88b
(cherry picked from commit 493d9dee0595daaf07873271fd6f1b8737246b3d)

5 years agoAllowed device extensions list is missing entry
Marcin Kańtoch [Thu, 7 Jun 2018 13:42:25 +0000 (15:42 +0200)]
Allowed device extensions list is missing entry

VK_KHR_create_renderpass2 is missing from the list of allowed
extensions in dEQP-VK.api.info.device.extensions test.
This causes the test to fail if the extension is exposed
in the driver.

Affects:

dEQP-VK.api.info.device.extensions

Components: Vulkan

VK-GL-CTS issue: 1208

Change-Id: I7024db0f775487b5601b5e8c82a807c58d070883
(cherry picked from commit 62deeb1fc1bcda275ff652c6466f9570a2fad75d)

5 years agoMerge vk-gl-cts/vulkan-cts-next-dev into vk-gl-cts/master
Alexander Galazin [Fri, 6 Jul 2018 14:40:37 +0000 (16:40 +0200)]
Merge vk-gl-cts/vulkan-cts-next-dev into vk-gl-cts/master

Change-Id: I4c564522620ff7f2bf6270b8b409c84c67804216

5 years agoMerge vk-gl-cts/github-vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 6 Jul 2018 10:24:12 +0000 (12:24 +0200)]
Merge vk-gl-cts/github-vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I29544b2f3f6b7bee65ac6ac1339eb52176efe5a5

5 years agoFix build error introduced by the previous commit
Alexander Galazin [Fri, 6 Jul 2018 10:21:32 +0000 (12:21 +0200)]
Fix build error introduced by the previous commit

Components: Vulkan

5 years agoUpdate SPIR-V tools and headers
Alexander Galazin [Wed, 4 Jul 2018 07:17:56 +0000 (09:17 +0200)]
Update SPIR-V tools and headers

Components: Framework

Change-Id: I6ed52b681738664ee471d78e59fc843c0b41319a

5 years agoCompile shaders for 1.0-compatible tests as SPIRV 1.0, not max supported
Chris Forbes [Fri, 2 Mar 2018 21:22:20 +0000 (13:22 -0800)]
Compile shaders for 1.0-compatible tests as SPIRV 1.0, not max supported

Components: Vulkan
VK-GL-CTS: 1232

Change-Id: I5a440f97f79be0e6d37d89018ae8b611e9d4e7c1

5 years agoDrop support for NDK r11
Chris Forbes [Mon, 18 Jun 2018 18:32:39 +0000 (11:32 -0700)]
Drop support for NDK r11

Change-Id: Ia17f539c248543b1fe8cdba96cf25347db0dc7b5
Components: Framework
VK-GL-CTS: 1194

5 years agoAHardwareBuffer make the system API dynamic
Tony Zlatinski [Fri, 25 May 2018 21:57:20 +0000 (16:57 -0500)]
AHardwareBuffer make the system API dynamic

Instead of asserting and crashing the tests, when
the AHardwareBuffer handle is not supported, throw an exception:
"Platform doesn't support Android Hardware Buffer handles"

Move all of the AHB system APIs from implicit to dynamically loaded
and encapsuate those within the AndroidHardwareBufferExternalApi class.
Dynmaically probing and loading the AHB related API allows for run-time
selection of the symbols and to determine if AHB APIs are supported or not.
This, also, allows for the CTS to always be built against NDK API26/28.
After this change, we can make the default NDK API as API26, since
this change would allow for the CTS to work on Android APIs 21-25,
as well as the newer API versions of the NDK.

In addition, moved all of the AHB related interfaces to one place:
vktExternalMemoryUtil.cpp.

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

Components: Vulkan
VK-GL-CTS issue: 1192

Change-Id: I5145eff2fbcf084bfc8ff42751102979f9a28d72

5 years agoCheck required peer memory features in sparse resources device group tests
Maciej Jesionowski [Fri, 29 Jun 2018 09:52:54 +0000 (11:52 +0200)]
Check required peer memory features in sparse resources device group tests

This is a minimal fix to these cases to not use the memory in unsupported way.
The tests will return NotSupported if the required features are missing.

Affects:
dEQP-VK.sparse_resources.*device_group*

VK-GL-CTS issue: 1252

Components: Vulkan

Change-Id: Ia55509eef39c30e2283ba41d87ce55294edf6a17

5 years agoAdd tests for compute pipeline derivatives
Chris Forbes [Tue, 5 Jun 2018 01:15:25 +0000 (18:15 -0700)]
Add tests for compute pipeline derivatives

Initial touch-tests for CreateComputePipelines using a base pipeline by
index and by handle. I intend to add more over time, but this is enough
to expose trouble in some implementations.

VK-GL-CTS: 1220
Components: Vulkan
New Tests: dEQP-VK.pipeline.derivative.*

Change-Id: I693f5be8a2b1087b0a2eb89e1110b1c671cbd5dc

5 years agoAllow fp16 denorm inputs to be flushed to zero.
Stephen Clarke [Fri, 15 Jun 2018 13:09:03 +0000 (14:09 +0100)]
Allow fp16 denorm inputs to be flushed to zero.

Added a new version of Compare16BitFloat for an fp16 input and a float
result.  Previously, the code was using the version for a float input
with an fp result and switching the original and returned values.
But this function is not symmetric: e.g. a denorm input and zero result
should be allowed, but a zero input and denorm result should not be
allowed.
Also removed the rounding modes parameter, since conversion from fp16
to float is exact.

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

Components: Vulkan

VK-GL-CTS issue: 1219

Change-Id: I96d01bb428b550de1e86a601b929d08b3131870d

5 years agoMax compiler threads only specifies a suggestion
Neil Monday [Wed, 27 Jun 2018 20:29:07 +0000 (16:29 -0400)]
Max compiler threads only specifies a suggestion

In this test, it is expected that calling MaxShaderCompilerThreadsKHR()
with a count of 0 will compile non-parallel. However, the extension
purposefully says this is only a  "request" for non-parallel compiling
or linking.

This change will remove this specific test.

Affects:

parallel_shader_compile.compilation_completion_non_parallel

Components: OpenGL

VK-GL-CTS issue: 1226

Change-Id: I49214b3b32b4991ee7b96aad3853e24075c0f137

6 years agoUpdate SPIR-V tools/headers
Alexander Galazin [Mon, 25 Jun 2018 10:23:23 +0000 (12:23 +0200)]
Update SPIR-V tools/headers

Components: Framework

Change-Id: I3b67da0c17de5e637d44f0061b12b6024c940988

6 years agoFix: add extensions checking
Arkadiusz Sarwa [Mon, 25 Jun 2018 07:52:17 +0000 (09:52 +0200)]
Fix: add extensions checking

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

Components: Vulkan

VK-GL-CTS issue: 1235

Change-Id: I816d832f4834fe61570f49648a9f92ebaca31a94

6 years agoFix validation errors in draw tests
Piers Daniell [Thu, 14 Jun 2018 19:58:05 +0000 (13:58 -0600)]
Fix validation errors in draw tests

Many of the draw tests were causes validation errors
because the VkMappedMemoryRange.size parameter was not
a multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize.

In all cases for these tests the size can be set to
VK_WHOLE_SIZE to avoid the validation error. VK_WHOLE_SIZE
can be used since in all cases the test flush the whole
mapped range.

Affects: dEQP-VK.draw.*

Change-Id: Idfa664ed03a1b0f55b356a443a7bc309ca7fae20
Components: Vulkan

6 years agoTest cross invocation communication
Ari Suonpaa [Mon, 11 Jun 2018 13:14:41 +0000 (16:14 +0300)]
Test cross invocation communication

Added a test where tessellation control shader writes to output varyings
using multiple invocations. Both per vertex and per patch output is
tested. Also fixed validation error caused by an invalid stage mask.

Affects:

dEQP-VK.tessellation.shader_input_output.*

New tests:

dEQP-VK.tessellation.shader_input_output.cross_invocation_per_*

Components: Vulkan

VK-GL-CTS issue: 1207

Change-Id: If3416193a4a020ad4f3efcbfaae58d2bca23653e

6 years agoFix: add extensions checking
Arkadiusz Sarwa [Fri, 22 Jun 2018 10:40:40 +0000 (12:40 +0200)]
Fix: add extensions checking

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

Components: Vulkan

VK-GL-CTS issue: 1235

Change-Id: Ic312f6571534dfbb7117ca9f49b7c9067cfc04d6

6 years agoRevert "Require geometry shader in multisample resolve"
Alexander Galazin [Fri, 22 Jun 2018 04:44:13 +0000 (00:44 -0400)]
Revert "Require geometry shader in multisample resolve"

This reverts commit 961ab17a006bccfa3b57ec34c8b88587482b78d3.

Change-Id: I3c7ae4d2b770b310ab264d270507a43beb2b30c1

6 years agoAllowed device extensions list is missing entry
Marcin Kańtoch [Thu, 7 Jun 2018 13:42:25 +0000 (15:42 +0200)]
Allowed device extensions list is missing entry

VK_KHR_create_renderpass2 is missing from the list of allowed
extensions in dEQP-VK.api.info.device.extensions test.
This causes the test to fail if the extension is exposed
in the driver.

Affects:

dEQP-VK.api.info.device.extensions

Components: Vulkan

VK-GL-CTS issue: 1208

Change-Id: I7024db0f775487b5601b5e8c82a807c58d070883
(cherry picked from commit 62deeb1fc1bcda275ff652c6466f9570a2fad75d)

6 years agoAdd tests for the VK_KHR_8bit_storage extension
Arkadiusz Sarwa [Mon, 22 Jan 2018 09:10:52 +0000 (10:10 +0100)]
Add tests for the VK_KHR_8bit_storage extension

Affect tests:
dEQP-VK.api.info.get_physical_device_properties2.features

Add tests:
dEQP-VK.spirv_assembly.instruction.compute.8bit_storage.*
dEQP-VK.spirv_assembly.instruction.graphics.8bit_storage.*

Components: Vulkan

VK-GL-CTS issue: 791

Change-Id: Ib29c03bf2cf59f70ad652f09bfa45260fef10e4f
(cherry picked from commit dc7e8a60d7f241e64fcfde9648ba841f0db5ed79)

6 years agoRequire geometry shader in multisample resolve
Boris Zanin [Fri, 18 May 2018 14:35:59 +0000 (16:35 +0200)]
Require geometry shader in multisample resolve

Updates tests:
 * dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.*
 * dEQP-VK.renderpass.suballocation.multisample_resolve.layers_6.*
 * dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.*
 * dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.*

Affects tests:
 * dEQP-VK.renderpass.suballocation.multisample_resolve.*

Framework's Context class extended with function
 * requireDeviceCoreFeature

Components: Vulkan, Framework

VK-GL-CTS issue: 1173

Change-Id: I8f4c8e85bf9ca97fa0a4024e132225714e281088
(cherry picked from commit 2584db9e45f73ade28f7b18614b32ac2ebef2d3a)

6 years agoTests for VK_KHR_create_renderpass2: multiview
Boris Zanin [Tue, 20 Mar 2018 14:54:56 +0000 (15:54 +0100)]
Tests for VK_KHR_create_renderpass2: multiview

Add tests:
 * dEQP-VK.multiview.renderpass2.*

Affects tests:
 * dEQP-VK.multiview.*

Components: Vulkan

VK-GL-CTS issue: 1011

Change-Id: I6cd54231dae7ff30249ffb2f6f0799b1359f7790

6 years agoTests for VK_KHR_create_renderpass2
Boris Zanin [Wed, 7 Mar 2018 10:37:46 +0000 (11:37 +0100)]
Tests for VK_KHR_create_renderpass2

Add tests:
 * dEQP-VK.renderpass2.*

Affects tests:
 * dEQP-VK.renderpass.*

Framework's Context class extended with functions
 * requireDeviceExtension
 * requireInstanceExtension

Components: Vulkan, Framework

VK-GL-CTS issue: 1011

Change-Id: I721563467dcd329f60da1b41e635feec228f5df2

6 years agoRemove undefined EGL test cases
Alexander Galazin [Wed, 13 Jun 2018 12:33:29 +0000 (14:33 +0200)]
Remove undefined EGL test cases

Affects:
dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_flag
dEQP-EGL.functional.reusable_sync.valid.wait_server

VK-GL-CTS issue: 1196

Change-Id: I5f2484242139a2589a47413076555fba9fc1fa30

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Thu, 21 Jun 2018 08:33:48 +0000 (10:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: I1bd7a59a50e3cdda92da25ee389b31d8c3d0b189

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 21 Jun 2018 08:00:05 +0000 (10:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Iea6c9a56605b4c4407513face9be7fd4f61d3c83

6 years agoRemove undefined EGL test cases
Alexander Galazin [Wed, 13 Jun 2018 12:33:29 +0000 (14:33 +0200)]
Remove undefined EGL test cases

Affects:
dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_flag
dEQP-EGL.functional.reusable_sync.valid.wait_server

VK-GL-CTS issue: 1196

Change-Id: I5f2484242139a2589a47413076555fba9fc1fa30

6 years agoRemove undefined EGL test cases
Alexander Galazin [Wed, 13 Jun 2018 12:33:29 +0000 (14:33 +0200)]
Remove undefined EGL test cases

Affects:
dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_flag
dEQP-EGL.functional.reusable_sync.valid.wait_server

VK-GL-CTS issue: 1196

Change-Id: I5f2484242139a2589a47413076555fba9fc1fa30

6 years agoRemove undefined EGL test cases
Alexander Galazin [Wed, 13 Jun 2018 12:33:29 +0000 (14:33 +0200)]
Remove undefined EGL test cases

Affects:
dEQP-EGL.functional.reusable_sync.invalid.wait_server_invalid_flag
dEQP-EGL.functional.reusable_sync.valid.wait_server

VK-GL-CTS issue: 1196

Change-Id: I5f2484242139a2589a47413076555fba9fc1fa30

6 years agowayland: search for GLESv1 toggle DEQP_SUPPORT_GLES1 on if found
Juan A. Suarez Romero [Tue, 29 May 2018 15:03:13 +0000 (15:03 +0000)]
wayland: search for GLESv1 toggle DEQP_SUPPORT_GLES1 on if found

Some tests require GLES1 support and report test failure if support
has not been built.

Search for GLES1 libraries and enable it.

Components: Framework

VK-GL-CTS issue: 1161

Change-Id: Iea0bb9f9362a4529cbf452efddd06b417cd74c76

6 years agoMerge pull request #99 from AIOOB/patch-1
Alexander Galazin [Fri, 15 Jun 2018 13:03:53 +0000 (15:03 +0200)]
Merge pull request #99 from AIOOB/patch-1

Require extension for the deviceFeatures2 test

6 years agoFix protected memory buffer tests to do proper operation
Chris Forbes [Tue, 12 Jun 2018 18:03:59 +0000 (11:03 -0700)]
Fix protected memory buffer tests to do proper operation

Update and copy variants of these tests were doing the FILL operation
instead.

Change-Id: Iede9e71f50c1d2d5699b35ad9b86fc6237714977
Components: Vulkan
Affects: dEQP-VK.protected_memory.buffer.*
VK-GL-CTS: 1215
(cherry picked from commit 39fbe90f21cb24b46e1bbc2d49e75604453977c0)

6 years agoFix protected memory buffer tests to do proper operation
Chris Forbes [Tue, 12 Jun 2018 18:03:59 +0000 (11:03 -0700)]
Fix protected memory buffer tests to do proper operation

Update and copy variants of these tests were doing the FILL operation
instead.

Change-Id: Iede9e71f50c1d2d5699b35ad9b86fc6237714977
Components: Vulkan
Affects: dEQP-VK.protected_memory.buffer.*
VK-GL-CTS: 1215

6 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

6 years agoDon't assume sampling is allowed on linear-tiled YCbCr
Gary Sweet [Wed, 6 Jun 2018 12:35:43 +0000 (13:35 +0100)]
Don't assume sampling is allowed on linear-tiled YCbCr

Linear-tiled formats do not have to support sampling.

The api.image_format_properties tests were checking that
sampling was supported for YCbCr in both optimal and linear
tiling.

Affects:

dEQP-VK.api.info.image_format_properties.*.linear.*

Components: Vulkan

VK-GL-CTS issue : 1200

Change-Id: Id2c2aafaca66fe25ecee243f026315a87d3d7abf

6 years agoFix invalid block layouts
Ari Suonpaa [Tue, 29 May 2018 06:43:22 +0000 (09:43 +0300)]
Fix invalid block layouts

Upcoming update in SPIR-V validator checks correctness of block
layouts. This change fixes the errors in 16bit storage tests found
by the new validation rules.

Affects:

dEQP-VK.spirv_assembly.instruction.*.16bit_storage.*

Components: Vulkan

VK-GL-CTS issue: 1184

Change-Id: I1794fdefe044c6e256e189ab5a21c69a69eeb58e

6 years agoUse local binding for renderImage layout change
Vikram Kushwaha [Thu, 24 May 2018 20:57:44 +0000 (13:57 -0700)]
Use local binding for renderImage layout change

As implementations may not support VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT
access, a layout change with multi device binding can not be assumed in
all cases.

Affects:

dEQP-VK.device_group.sfr*

Components: Vulkan

VK-GL-CTS issue: 1193

Change-Id: I315ff69fc9eaac3b090a57989bd0c0d177fcbe7c

6 years agoTest omitting blend state with unused attachments
Paavo Pessi [Fri, 4 May 2018 12:26:40 +0000 (15:26 +0300)]
Test omitting blend state with unused attachments

This test creates a render pass with a single color attachment and two
subpasses. The first subpass uses the color attachment and creates a
graphics pipeline with a valid color blend state. The second subpass
sets the color attachment to VK_ATTACHMENT_UNUSED and creates a
graphics pipeline without a color blend state.

A new helper function was added for creating a graphics pipeline.

New tests:

dEQP-VK.renderpass.*.simple.color_unused_omit_blend_state

Components: Vulkan, Framework

VK-GL-CTS issue: 1115

Change-Id: I1d95dab7db5727ded22fe84aca5959110949f581

6 years agoMemory binding tests not invaidating host memory before results check.
Stephen Gallimore [Tue, 12 Jun 2018 14:35:46 +0000 (15:35 +0100)]
Memory binding tests not invaidating host memory before results check.

Affected tests:
dEQP-VK.memory.binding.*.buffer_*

Components: Vulkan

VK-GL-CTS issue: 1214

Change-Id: Ib347401ee818a42487df001f3ba76247b157321c

6 years agoTest does not clean up all references
Pierre Tsai [Fri, 25 May 2018 20:40:26 +0000 (16:40 -0400)]
Test does not clean up all references

Affects:
KHR-GL46.texture_repeat_mode.*

At the end of the test, resultTextureId needs to be
cleaned up properly, by the context.

Components: OpenGL

VK-GL-CTS issue: 1191

Change-Id: I96d45baaef7345c1c5b4a52ced223c20ddfd5735

6 years agoUpdate glslang, SPIR-V Tools/Headers
Alexander Galazin [Mon, 11 Jun 2018 07:45:59 +0000 (09:45 +0200)]
Update glslang, SPIR-V Tools/Headers

Components: Framework

Change-Id: I8dbcc9023abf55882df75aded4342b21c857458f

6 years agoUpdate GLES mustpass
Alexander Galazin [Mon, 11 Jun 2018 08:47:30 +0000 (10:47 +0200)]
Update GLES mustpass

Change-Id: I1d6dcd0f7ebdf98e1fbb706269ede5f8d1e37d2f

6 years agogeneratemipmap_zero_level_array_compressed may reuse stale object
Yabin Zheng [Wed, 6 Jun 2018 03:09:25 +0000 (11:09 +0800)]
generatemipmap_zero_level_array_compressed may reuse stale object

The test should add a new individual texture object for this sub-test.

Components: OpenGL

Affects:
dEQP-GLES2.functional.negative_api.texture.generatemipmap_zero_level_array_compressed

VK-GL-CTS issue: 1206

Change-Id: I3af22e04c110f7e08a90596c198a9ae3da76fcdc

6 years agoAdd texture specification test for GL_OES_texture_half_float.
Nicolas Capens [Fri, 16 Mar 2018 13:51:47 +0000 (09:51 -0400)]
Add texture specification test for GL_OES_texture_half_float.

Google bug: b/74609191
Components: AOSP
Affects: dEQP-GLES2.functional.texture.specification.*

Change-Id: I85aec3469872f2733f528ef7902427e9e87935e7

6 years agoFixes ycbcr copy tests to ignore padding
Prantit Lokre [Thu, 17 May 2018 18:41:16 +0000 (11:41 -0700)]
Fixes ycbcr copy tests to ignore padding

Copies are not expected to preserve the bits
in the padding for formats like R10X6.

Vulkan issue: 1122
Components: Vulkan
Affects:
dEQP-VK.ycbcr.copy.*

Change-Id: If617a32fbd4c690a0ef48e6831405fc674732865

6 years agoDon't rely on unspecified argument evaluation order in atomic swap tests
Chris Forbes [Wed, 30 May 2018 16:26:57 +0000 (09:26 -0700)]
Don't rely on unspecified argument evaluation order in atomic swap tests

Bug: b/78779994
Test: dEQP-VK.protected_memory.ssbo.ssbo_atomic.fragment.compswap.random.*
VK-GL-CTS: 1198
Components: Vulkan

Change-Id: Ifba8940745c28a32ca631beb374394a5e3fe508b
(cherry picked from Android commit 51e0000bcde19cee3c0e4686c0a3caec121b3c42)

6 years agoAdd test for VK_EXT_shader_stencil_export
Caio Marcelo de Oliveira Filho [Wed, 9 May 2018 22:14:54 +0000 (15:14 -0700)]
Add test for VK_EXT_shader_stencil_export

The extension allows fragment shader to output a reference value for
the pixel. The test uses a first subpass to set reference values based
on position and VK_STENCIL_OP_REPLACE to write those to the stencil
buffer. Then a second subpass will draw to a color buffer using the
generated stencil.

A new overload for addFunctionCaseWithPrograms() was added to the
framework.

New tests:
    dEQP-VK.pipeline.shader_stencil_export.op_replace

Components: Framework, Vulkan

VK-GL-CTS issue: 1029

Change-Id: Ic2c2f9ebe33c8575e1d6ccb20b2435aadc999b84

6 years agoExclude texture_view.view_classes
Alexander Galazin [Fri, 1 Jun 2018 10:30:10 +0000 (12:30 +0200)]
Exclude texture_view.view_classes

Exclude KHR-GL*.texture_view.view_classes tests
as per approved waiver VK-GL-CTS 1190

Components: OpenGL

Affects: mustpass

VK-GL-CTS issue 1141, 1190

Change-Id: I593e122b7af7cd4cd96e98400c0a876321803f78

6 years agoFix various GCC 8 Warnings
Mika Väinölä [Thu, 3 May 2018 07:25:51 +0000 (10:25 +0300)]
Fix various GCC 8 Warnings

Remove unnecessary parentheses and ignored type qualifiers on cast.
Add breaks and returns to suppress fallthrough warnings. Catch
tcu::NotSupportedError by reference. Change some typedefs to fix
casts between incompatible function types. Clearing tcu::Vec4 with
memset caused warnings.

Affects: *

Components: Framework, OpenGL, Vulkan

VK-GL-CTS issue: 1160

Change-Id: Iffb9df16b29e02df2ec5610afb6793fba51cc33d

6 years agoUpdate glslang
Alexander Galazin [Tue, 5 Jun 2018 15:02:29 +0000 (17:02 +0200)]
Update glslang

Components: Framework

Change-Id: I64dd21dd8d82b9916937a1ff1fb623c8153d8ad7

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 5 Jun 2018 10:13:25 +0000 (12:13 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I8aa7dfe1afb68f582f464ca21b66cf4e764f0f9b

6 years agoSparse Texture tests not following spec
Your Name [Fri, 13 Apr 2018 20:06:03 +0000 (16:06 -0400)]
Sparse Texture tests not following spec

CTS is testing texture types that are incompatible
with Sparse Textures.

Affects:

KHR-GL46.sparse_texture_tests.SparseDSATextureCommitment
KHR-GL46.sparse_texture_tests.SparseTextureAllocation
KHR-GL46.sparse_texture_tests.SparseTextureCommitment
KHR-GL46.sparse_texture_tests.TextureParameterQueries
KHR-GL46.sparse_texture_tests.InternalFormatQueries

1.If 1D/1D array are not clear in the spec, then CTS should delete test
1D/1D array

2.GL_TEXTURE_2D shoule set depth = 1

3.sparse texture should create width/height/depth less than page size

4.Target GL_TEXTURE_BUFFER, GL_RENDERBUFFER,
GL_TEXTURE_2D_MULTISAMPLE,GL_TEXTURE_2D_MULTISAMPLE_ARRAY are not in
the spec, so all of them sohuld be delete.

Components: OpenGL

VK-GL-CTS issue: 1121

Change-Id: I144886ae57769be85f430127d8d4211f9554a1b2

6 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 1 Jun 2018 09:22:26 +0000 (11:22 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I80cba075059ad393b8742838e1ae4a5cfe0302ea

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master
Alexander Galazin [Fri, 1 Jun 2018 09:22:24 +0000 (11:22 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/master

Change-Id: I3b5f0d071852a19deae0e3ccc317482db4eb444b

6 years agoMerge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5
Alexander Galazin [Fri, 1 Jun 2018 09:22:21 +0000 (11:22 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.4 into vk-gl-cts/opengl-es-cts-3.2.5

Change-Id: Ie074683ba2b3818d0ceff54719c40e259deb3e71

6 years agoRequest required 16bit storage features in UConvert/SConvert tests
Chris Forbes [Tue, 29 May 2018 19:26:19 +0000 (12:26 -0700)]
Request required 16bit storage features in UConvert/SConvert tests

These tests require specific features within the 16bit storage extension

Change-Id: I573b8ca69209ec36b3c249f5b9a638d4e7743209
Components: Vulkan
Bug: b/78779994
VK-GL-CTS: 1195
Affects: dEQP-VK.spirv_assembly.instruction.compute.*
(cherry picked from Android commit 20426c97899d621fba9bcbae9374ec5439beedd6)

6 years agoSkip BC/DXT formats in Texture3D tests
Juan A. Suarez Romero [Mon, 14 May 2018 15:24:04 +0000 (15:24 +0000)]
Skip BC/DXT formats in Texture3D tests

These formats only supports 2D images.

Affects:
KHR-GLES2.texture_3d.compressed_texture.negative_compressed_tex_image
KHR-GLES2.texture_3d.compressed_texture.negative_compressed_tex_sub_image

Components: OpenGL

VK-GL-CTS issue: 1163

Change-Id: I806dccfdbb2969b51c0ee9a1010c04107154733a
(cherry picked from commit a0b8363a7837546c73e4d30a6c6d37da21ea8645)

6 years agoEnable shader cache by default
Jari Komppa [Fri, 6 Apr 2018 19:53:29 +0000 (22:53 +0300)]
Enable shader cache by default

This change flips the command line option for the shader cache to be
enabled by default.

The change also incorporates shader cache truncation, which is enabled
by default. This resets the shader cache on the start of a CTS run. For
more performance the option can be disabled so the shader cache is used
across CTS runs, but this may lead to very large shader cache files over
time.

Affects:

dEQP-VK.*

Components: Framework, Vulkan

VK-GL-CTS issue: 899

Change-Id: Ia1bc8c932b6b280e2815f7de7f6e715b0e4edb27

6 years agoAdded PointSize in shader used for drawing points
Dae Kim [Wed, 30 May 2018 12:55:30 +0000 (13:55 +0100)]
Added PointSize in shader used for drawing points

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

Change-Id: I2d38d367d413e205e00b32cdd96b8ca3ecf6eda4

6 years agoMerge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Alexander Galazin [Wed, 30 May 2018 10:28:18 +0000 (12:28 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master

Change-Id: Iab9fd83b7c630343d12fa16b1c09bf4cd3b67302

6 years agoMacOS WSI test support
Mike Schuchardt [Tue, 1 May 2018 22:45:44 +0000 (16:45 -0600)]
MacOS WSI test support

Adds TYPE_MACOS to WSI framework to enable dEQP-VK.wsi.macos.* tests.
Adds WSI integration to tcu::osx::VulkanPlatform using an Objective-C++
wrapper around a native NSView subclass backed by a CAMetalLayer.

Affects:

dEQP-VK.wsi.macos.*

Components: Framework, Vulkan

Change-Id: I53b487ec6040e88b125d168be7e8c3408f44d959

6 years agoGL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+
Juan A. Suarez Romero [Wed, 16 May 2018 11:01:52 +0000 (11:01 +0000)]
GL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+

dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8_alpha8
assumes that using GL_SRGB8_ALPHA8 in GLES2 should fail unless proper
extensions are supported.

But the OpenGL ES context created can be either 2.0 or an upper version,
and upper versions (3.0+) supports this format without extensions.

Thus, if OpenGL ES 3.0+ context is returned, this test should assume
that rendering is possible.

This is an extension of fix done in Change-ID
Ibb95736959ff9d5b0ff972ccf3983abc98795be3.

Affectd tests:
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8_alpha8

Components: OpenGL

VK-GL-CTS issue: 1137

Change-Id: I733a8595b1eba7756787cde4a6bca2391dc345d7
(cherry picked from commit dd951adf61b3b6ad6cdab92b26b00c6931235681)

6 years agoIntegrated SPIRV-Tools-opt to conformance test
Jari Komppa [Tue, 17 Apr 2018 09:51:08 +0000 (12:51 +0300)]
Integrated SPIRV-Tools-opt to conformance test

Added optional shader optimization pass to all shaders in the
conformance test. The optimizer is disabled by default, but can
be enabled through a command-line parameter.

Due to the nature of optimizations and certain hand-crafted
SPIR-V tests, the optimizer MUST NOT be enabled by default, because
it will alter the tests and possibly eliminate the things that
are being tested.

Running with the optimizer for testing is, however, recommended
since it can expose bugs in drivers. Only some optimization recipes
are currently supported, but adding new ones is relatively simple.

Affects:

None by default, most tests if enabled.

Components: Framework, Vulkan

VK-GL-CTS issue: 92

Change-Id: I74996448fda1f4e11a9b16bba8c44561723a1e4e

6 years agoFix UConvert validation error in mul_sdiv tests
Boris Zanin [Wed, 23 May 2018 09:25:05 +0000 (11:25 +0200)]
Fix UConvert validation error in mul_sdiv tests

With new spirv-tools the SPIR-V validator enforces type check
requirement in OpUConvert, making this test to fail.

Replace UConvert with SConvert for signed tests.
Update SPRV-Tools.

Update tests:
 * dEQP-VK.spirv_assembly.type.*high_part_zero*

Components: Vulkan

VK-GL-CTS issue: 1186

Change-Id: I73172eda179148d56aa104eb35cdc5afc25a9953

6 years agoNew tests for VK_NV_shader_subgroup_partitioned
Jeff Bolz [Sat, 17 Mar 2018 17:30:36 +0000 (12:30 -0500)]
New tests for VK_NV_shader_subgroup_partitioned

Forked from subgroup arithmetic tests, they are mostly the same but with different shaders

New Tests: dEQP-VK.subgroups.partitioned.*
Components: Vulkan

Change-Id: I74e4f9cf716cf0d7293e4259dedf116af750347a

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master
Alexander Galazin [Mon, 28 May 2018 08:22:48 +0000 (10:22 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/master

Change-Id: Ica9b46f19f9c3b45d0553db9deec82c696f3033a

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Mon, 28 May 2018 08:15:07 +0000 (10:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: If0ab08c681fd90e94d179ded910a531dcc518861

6 years agoFix VkPipelineLayout use after free
Slawomir Cygan [Wed, 18 Apr 2018 13:56:37 +0000 (15:56 +0200)]
Fix VkPipelineLayout use after free

The test destroys pipeline layout, used to create the graphics pipeline,
before the command buffer using this pipeline is recorded.

This is invalid according to spec:
"A VkPipelineLayout object must not be destroyed while any
command buffer that uses it is in the recording state."

Components: Vulkan

VK-GL-CTS Issue: 1134

Affects:
dEQP-VK.draw.differing_interpolation.*

Change-Id: I2dd692cfb69afaf0b9d6e8d8a29b86b945b7eaba

6 years agoMade glsl loop tests a bit more robust
Jari Komppa [Thu, 17 May 2018 10:27:30 +0000 (13:27 +0300)]
Made glsl loop tests a bit more robust

The way the loop test suite checks for a correct result depends on
rotating the input vector's components, giving only 4 possible results.
In other words, a subtly failing implementation still had a 1 in 4
chance of passing the test.

This change increments the vector on each iteration and then decrements
the vector after the loop by the number of expected loop iterations. The
correctness test remains unchanged, but if the number of iterations does
not match the expected, the resulting vector will have a wrong value.

Also added tests where loops are within different control flow blocks,
and tests that contain a do..while block which should never loop unless
the loop variable is off by one.

Affects:

dEQP-VK.glsl.loops.*

New tests:

dEQP-VK.glsl.loops.special.*.pre_fallthrough_vertex
dEQP-VK.glsl.loops.special.*.pre_fallthrough_fragment
dEQP-VK.glsl.loops.special.*.post_fallthrough_vertex
dEQP-VK.glsl.loops.special.*.post_fallthrough_fragment
dEQP-VK.glsl.loops.special.*.dowhile_trap_vertex
dEQP-VK.glsl.loops.special.*.dowhile_trap_fragment
dEQP-VK.glsl.loops.special.*.ifblock_vertex
dEQP-VK.glsl.loops.special.*.ifblock_fragment
dEQP-VK.glsl.loops.special.*.elseblock_vertex
dEQP-VK.glsl.loops.special.*.elseblock_fragment

Components: Vulkan

VK-GL-CTS issue: 1166

Change-Id: I266537d6b5816a9e574b5b99061a4413d6493f41

6 years agoFix validation errors in synchronization tests
Mika Väinölä [Wed, 28 Feb 2018 14:51:05 +0000 (16:51 +0200)]
Fix validation errors in synchronization tests

Change a pipeline stage flag to one supported by
VK_ACCESS_COLOR_ATTACHMENT_READ_BIT and initialize
a VkExternalSemaphoreProperties struct.

Affects:

dEQP-VK.synchronization.cross_instance.*
dEQP-VK.synchronization.internally_synchronized_objects.
pipeline_cache_graphics

Components: Vulkan

VK-GL-CTS issue: 1046

Change-Id: I537933539b616c14942791accee689db40294dba

6 years agoFix multiview mutlisample tests
Alexander Galazin [Fri, 18 May 2018 09:51:14 +0000 (11:51 +0200)]
Fix multiview mutlisample tests

The multiview multisample tests used VK_SAMPLE_COUNT_2_BIT
without checking that it is supported.
The minimum requirement is to support 4-bit and 1-bit only.

Affects: dEQP-VK.multiview.multisample.*

Components: Vulkan

VK-GL-CTS issue: 1152

Change-Id: Id999cbb42a5961cca1f89c709c1f0bc8d6124645

6 years agoGL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+
Juan A. Suarez Romero [Wed, 16 May 2018 11:01:52 +0000 (11:01 +0000)]
GL_SRG8_ALPHA8 also supported in OpenGL ES 3.0+

dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8_alpha8
assumes that using GL_SRGB8_ALPHA8 in GLES2 should fail unless proper
extensions are supported.

But the OpenGL ES context created can be either 2.0 or an upper version,
and upper versions (3.0+) supports this format without extensions.

Thus, if OpenGL ES 3.0+ context is returned, this test should assume
that rendering is possible.

This is an extension of fix done in Change-ID
Ibb95736959ff9d5b0ff972ccf3983abc98795be3.

Affectd tests:
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8_alpha8

Components: OpenGL

VK-GL-CTS issue: 1137

Change-Id: I733a8595b1eba7756787cde4a6bca2391dc345d7

6 years agoFix barriers in dEQP-VK.api.fill_and_update_buffer.*
Chris Forbes [Sat, 19 May 2018 01:50:47 +0000 (18:50 -0700)]
Fix barriers in dEQP-VK.api.fill_and_update_buffer.*

Change-Id: Icb7ac6167e358556178c864884e7c7c53afd455c
Affects: dEQP-VK.api.fill_and_update_buffer.*
Components: Vulkan
VK-GL-CTS: 1177

6 years agoAdd missing self-dependency in color->input self-dep tests
Chris Forbes [Fri, 18 May 2018 22:50:39 +0000 (15:50 -0700)]
Add missing self-dependency in color->input self-dep tests

Change-Id: Ibf400c91bbc59abb49795078804e35e50c59c7db
VK-GL-CTS: 1181
Components: Vulkan
Affects: dEQP-VK.renderpass.*

6 years agoAccount for noncoherent atom size in renderpass memory flush
Chris Forbes [Fri, 18 May 2018 20:49:26 +0000 (13:49 -0700)]
Account for noncoherent atom size in renderpass memory flush

Change-Id: Ibffb14fcdbaba5e9fbeb8ba9d9aba9cc59db4b17
Components: Vulkan
Affects: dEQP-VK.renderpass.*
VK-GL-CTS: 1180

6 years agoRemove spurious TS/GS stage bits from renderpass test barriers
Chris Forbes [Fri, 18 May 2018 17:46:27 +0000 (10:46 -0700)]
Remove spurious TS/GS stage bits from renderpass test barriers

None of this code actually uses these stages, and we weren't checking
whether they were supported. This was invalid on devices that don't
support the TS/GS stages.

Change-Id: I06cd1df95f52060150e36d28bc0525f2d398aef0
VK-GL-CTS: 1180
Components: Vulkan
Affects: dEQP-VK.renderpass.*

6 years agoFix gl_FragData[u_index] test in OpenGL ES 3.x context
Yabin Zheng [Wed, 21 Mar 2018 01:38:40 +0000 (09:38 +0800)]
Fix gl_FragData[u_index] test in OpenGL ES 3.x context

The test is valid if GL_EXT_draw_buffers or GL_NV_draw_buffers
is supported

Affects:
dEQP-GLES3.functional.shaders.fragdata.draw_buffers

Components: OpenGL

VK-GL-CTS issue: 1168

Change-Id: I44b41330ca37614920ed1cb0d6d021a8bc1e0fa3

6 years agoAdd SPIR-V tests for 16, 32 and 64-bit integers
Paavo Pessi [Thu, 19 Apr 2018 11:47:40 +0000 (14:47 +0300)]
Add SPIR-V tests for 16, 32 and 64-bit integers

New tests were added to test various SPIR-V bit operations,
comparators, constants and initializers with signed and unsigned
integers of different width.

In bit field and shift operations some of the parameters are not
required to have the same bit width as Base and Result. This kind of
operations are tested with all possible combinations of result type
and parameter bit width.

The result type of bit field operations is always a 32-bit integer.

New tests:

dEQP-VK.spirv_assembly.type.*.shift_right_logical*
dEQP-VK.spirv_assembly.type.*.shift_right_arithmetic*
dEQP-VK.spirv_assembly.type.*.shift_left_logical*
dEQP-VK.spirv_assembly.type.*.bitwise_or*
dEQP-VK.spirv_assembly.type.*.bitwise_xor*
dEQP-VK.spirv_assembly.type.*.bitwise_and*
dEQP-VK.spirv_assembly.type.*.not*
dEQP-VK.spirv_assembly.type.*.iequal*
dEQP-VK.spirv_assembly.type.*.inotequal*
dEQP-VK.spirv_assembly.type.*.ugreaterthan*
dEQP-VK.spirv_assembly.type.*.sgreaterthan*
dEQP-VK.spirv_assembly.type.*.ugreaterthanequal*
dEQP-VK.spirv_assembly.type.*.sgreaterthanequal*
dEQP-VK.spirv_assembly.type.*.ulessthan*
dEQP-VK.spirv_assembly.type.*.slessthan*
dEQP-VK.spirv_assembly.type.*.ulessthanequal*
dEQP-VK.spirv_assembly.type.*.slessthanequal*
dEQP-VK.spirv_assembly.type.*.bit_field_insert*
dEQP-VK.spirv_assembly.type.*.bit_field_s_extract*
dEQP-VK.spirv_assembly.type.*.bit_field_u_extract*
dEQP-VK.spirv_assembly.type.*.bit_reverse*
dEQP-VK.spirv_assembly.type.*.bit_count*
dEQP-VK.spirv_assembly.type.*.constant*
dEQP-VK.spirv_assembly.type.*.constant_composite*
dEQP-VK.spirv_assembly.type.*.constant_null*
dEQP-VK.spirv_assembly.type.*.variable_initializer*
dEQP-VK.spirv_assembly.type.*.spec_constant_initializer*
dEQP-VK.spirv_assembly.type.*.spec_constant_composite_initializer*

Components: Vulkan

VK-GL-CTS issue: 1096

Change-Id: Id1d6c5b741b52f5acc9c759e5cfcd8ac4825532d

6 years agoFix dependencies in vulkan pipeline test
Joan Bonet Orantos [Tue, 22 May 2018 08:09:05 +0000 (10:09 +0200)]
Fix dependencies in vulkan pipeline test

The srcStageMask field in the subpass dependency was not strict
enough. This can cause that the incoming subpasses, that try to copy
samples from this subpass, may try to read content that may not be
 written yet.

Affects:

dEQP-VK.pipeline.multisample.min_sample_shading.min_*

Components: Vulkan

VK-GL-CTS issue: 1185

Change-Id: Ide5e3d2a709e8fe26d23ada1d20bf2eb27beffd8

6 years agoSkip BC/DXT formats in Texture3D tests
Juan A. Suarez Romero [Mon, 14 May 2018 15:24:04 +0000 (15:24 +0000)]
Skip BC/DXT formats in Texture3D tests

These formats only supports 2D images.

Affects:
KHR-GLES2.texture_3d.compressed_texture.negative_compressed_tex_image
KHR-GLES2.texture_3d.compressed_texture.negative_compressed_tex_sub_image

Components: OpenGL

VK-GL-CTS issue: 1163

Change-Id: I806dccfdbb2969b51c0ee9a1010c04107154733a

6 years agoFix VulkanPlatform compiling and linking on OSX
Dzmitry Malyshau [Wed, 9 May 2018 18:15:26 +0000 (14:15 -0400)]
Fix VulkanPlatform compiling and linking on OSX

There where 2 problems with the code:
  1. it broke upon the change to vk::Library interface,
since OSX is not yet CI tested
  2. it didn't link against OpenGL library for Default target,
which appears to be required for anything on OSX

The latter was always an issue, but one we could work around locally.
I believe the proposed upstream patch is clean enough to avoid our hacks.

Change-Id: I9b570e3700031d92367a815baf5b32f751e248b3
Components: Framework

6 years agoFix image blit mirrored comparisons
Dzmitry Malyshau [Wed, 9 May 2018 17:14:21 +0000 (13:14 -0400)]
Fix image blit mirrored comparisons

The old looping would not go through any iterations for mirrored offsets.
The looping has to be mirrored when the destination is mirrored, and the
source texture coordinate computation adjusted accordingly.

Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.*.mirror*.*

Change-Id: I8feb1d8b90c8013b292865b0e3b20ef414b05920
Components: Vulkan

6 years agoRemove one copy of the ballot test source
Graeme Leese [Wed, 25 Apr 2018 15:52:21 +0000 (16:52 +0100)]
Remove one copy of the ballot test source

The code for the ballot tests is the same for framebuffer and
non-framebuffer tests but it's all written out twice. Make both tests
use the same source.

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

Change-Id: I3f8ac60a3339fd974742d8a6a3eb540559e2a382

6 years agoFix barrier and invalidation of the fill_buffer readback
Dzmitry Malyshau [Mon, 7 May 2018 20:24:07 +0000 (16:24 -0400)]
Fix barrier and invalidation of the fill_buffer readback

The old code had a barrier waiting for a different memory region that is being
filled, and same goes for the memory invalidation call that follows.
It resulted in the range of size=0 being requeste for invalidation, which
doesn't include actual bytes filled by cmdFillBuffer that is being tested.

Affects:
dEQP-VK.api.fill_and_update_buffer.*

Change-Id: Id2d68dc65145b42ecb0f966c70d57db81e9acb4a
Components: Vulkan

6 years agoTest copying data from/to tightly sized buffers
Paavo Pessi [Thu, 3 May 2018 08:53:30 +0000 (11:53 +0300)]
Test copying data from/to tightly sized buffers

New tests were added to verify that the source and destination buffers
in vkCmdCopyBufferToImage and vkCmdCopyImageToBuffer respectively can
be just large enough to contain the accessed elements, specifically in
cases where the buffer size is not a multiple of buffer row length.

New tests:

dEQP-VK.api.copy_and_blit.*.image_to_buffer.tightly_sized_buffer
dEQP-VK.api.copy_and_blit.*.image_to_buffer.tightly_sized_buffer_offset
dEQP-VK.api.copy_and_blit.*.buffer_to_image.tightly_sized_buffer
dEQP-VK.api.copy_and_blit.*.buffer_to_image.tightly_sized_buffer_offset

Components: Vulkan

VK-GL-CTS issue: 1124

Change-Id: Ice8f542a37bc45f969e33eb148ad0e77f40f8dd8

6 years agoAdd tests for render targets with write masks
Toni Merilehti [Thu, 3 May 2018 12:04:09 +0000 (15:04 +0300)]
Add tests for render targets with write masks

New tests verify correct rendering when using multiple render targets
with write masks.

New tests:

dEQP-VK.renderpass.suballocation.attachment_write_mask.*
dEQP-VK.renderpass.dedicated_allocation.attachment_write_mask.*

Components: Vulkan

VK-GL-CTS issue: 1082

VK-GL-CTS public issue: 91

Change-Id: I3b308bdcd83f7936c078ecedcf21bd6339dd1f28

6 years agoWrong shaders in glcParallelShaderCompileTests.cpp
Rahul Jain [Mon, 21 May 2018 11:48:01 +0000 (17:18 +0530)]
Wrong shaders in glcParallelShaderCompileTests.cpp

In glcParallelShaderCompileTests.cpp:50
it is written as
"int main() {\n"

which is invalid as per spec.

As per spec GLSL 4.60, section 6.1 last paragraph:
It is a compile-time or link-time error to declare or define a function
main with any other parameters or return type.

in glcParallelShaderCompileTests.cpp:55

it is written as "out ver4 fragColor;\n"
it should be "out vec4 fragColor;\n"

there is no data type as "ver4"

Affects:
KHR-GL46.parallel_shader_compile.compilation_completion_parallel

Components: OpenGL

VK-GL-CTS issue: 1182

Change-Id: I2f213eeaf28039c1f36b7772257090d81e1f013e

6 years agoRequire geometry shader in multisample resolve
Boris Zanin [Fri, 18 May 2018 14:35:59 +0000 (16:35 +0200)]
Require geometry shader in multisample resolve

Updates tests:
 * dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.*
 * dEQP-VK.renderpass.suballocation.multisample_resolve.layers_6.*
 * dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.*
 * dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_6.*

Affects tests:
 * dEQP-VK.renderpass.suballocation.multisample_resolve.*

Framework's Context class extended with function
 * requireDeviceCoreFeature

Components: Vulkan, Framework

VK-GL-CTS issue: 1173

Change-Id: I8f4c8e85bf9ca97fa0a4024e132225714e281088

6 years agoWhitelist VK_KHR_get_display_properties2
Alexander Galazin [Fri, 18 May 2018 13:01:32 +0000 (15:01 +0200)]
Whitelist VK_KHR_get_display_properties2

Components: Vulkan

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

Change-Id: Ic064e283e164cad2c9785ffe6253a2c192419668

6 years agoAdded more early-out hardware support checks
Jari Komppa [Fri, 4 May 2018 11:51:17 +0000 (14:51 +0300)]
Added more early-out hardware support checks

This patch adds more early-out hardware support checks to speed up the
conformance test especially on hardware that does not support some
features.

Affects:

dEQP-VK.api.pipeline.*
dEQP-VK.api.copy_and_blit.*
dEQP-VK.api.buffer_view.create.*
dEQP-VK.api.buffer.*

Components: Framework, Vulkan

VK-GL-CTS issue: 899

Change-Id: Ied10dfd4ce60eda4d1830a38f42b5f38f813d50f