platform/upstream/VK-GL-CTS.git
5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 15 Nov 2018 15:16:35 +0000 (16:16 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I285b9ae9fc013999961c6b8c40f7eb8a661a5609

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Thu, 15 Nov 2018 12:13:40 +0000 (13:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: Ia8831045cbcd2ec8efe1089d624a24d24eaa19ff

5 years agoFix ARB_gl_spirv multiple shader object test
Alejandro Piñeiro [Mon, 29 Oct 2018 17:42:40 +0000 (18:42 +0100)]
Fix ARB_gl_spirv multiple shader object test

Right now it fails when calling glslangUtils::spirvValidate. Note that
this test is using a custom SPIR-V shader in assembly text format,
that is then assembled for the test itself. So it seems that became
outdated.

Affects:

KHR-GL46.gl_spirv.spirv_modules_shader_binary_multiple_shader_objects_test

Components: OpenGL

VK-GL-CTS issue: 1445

Change-Id: I04b841fb3fba80537346da06bf889b21902e8da5

5 years agoSplit same_module tests
Toni Merilehti [Fri, 2 Nov 2018 12:13:50 +0000 (14:13 +0200)]
Split same_module tests

Test dEQP-VK.spirv_assembly.instruction.graphics.module.same_module
currently uses tessellation and geometry stages, and will only run if
the device has tessellation and geometry support. This will split
the test into four different variations and allows the test to run
without tessellation and/or geometry stages.

Components: Vulkan

VK-GL-CTS issue: 1052

New tests:

dEQP-VK.spirv_assembly.instruction.graphics.module.same_module*

Affects:

dEQP-VK.spirv_assembly.instruction.graphics.module.same_module*

Change-Id: I10a62a313afe17cfc37360eec53102c7b06ea103

5 years agoAdd tests for OpSpecConstantOp INotEqual
Jeff Bolz [Tue, 30 Oct 2018 19:39:14 +0000 (14:39 -0500)]
Add tests for OpSpecConstantOp INotEqual

This was the only spec constant operation missing tests.

Components: Vulkan
New Tests: dEQP-VK.spirv_assembly.instruction.*.opspecconstantop.inotequal*

Change-Id: I5549880871d9afbc95ad239f0622562e21a4312d

5 years agoUpdate glslang/spirv-tools/spirv-headers to TOT github.
Jeff Bolz [Wed, 7 Nov 2018 17:37:16 +0000 (11:37 -0600)]
Update glslang/spirv-tools/spirv-headers to TOT github.

There was a revlock between these components due to the raytracing
extension rename. This updates all three to past that point. It also
picks up some updated precompiled header performance.

Components: Vulkan
Change-Id: I86a4ff8b50e4cd7ff4ddbf0dc351112d7e21d4d1

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Thu, 15 Nov 2018 10:35:52 +0000 (11:35 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I95716dc2f4ae3cb6bce8299415734d69337a6e68

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 15 Nov 2018 09:20:24 +0000 (10:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I5345587323415ff836b8b6f66a0d6fa8716107dd

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 15 Nov 2018 08:39:17 +0000 (09:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I93bd8195bc88e16a631bd26fc75095d3b2bbf43c

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

5 years agoFixes for Protected Memory
Martin Freebody [Wed, 7 Nov 2018 12:40:32 +0000 (12:40 +0000)]
Fixes for Protected Memory

This change removes errors reported by core validation layer.

Affects: dEQP-VK.protected_memory.*

Components: Vulkan

Change-Id: Id7223e5777747345778babe83b0d9c3605a4ce1f

5 years agoFurther validation fixes for renderpass tests
Graeme Leese [Thu, 8 Nov 2018 13:59:27 +0000 (13:59 +0000)]
Further validation fixes for renderpass tests

All the VkInputAttachmentAspectReference structures were pointing to
incorrect subpasses.
The multisample_resolve tests were transitioning the multisample images
to TRANSFER_SRC, which was invalid but also superfluous, so remove it.

Components: Vulkan
Affects: dEQP-VK.renderpass.*
         dEQP-VK.renderpass2.*

Change-Id: I9356f9d4ee0dfa8938cd2fe9a062c732706e3a3f

5 years agoFix invalid color values in image.mutable tests
Dae Kim [Thu, 1 Nov 2018 10:17:00 +0000 (10:17 +0000)]
Fix invalid color values in image.mutable tests

The color values used in the tests ended up reinterpreted as f16/f32 denorms
for some combinations of image/imageview formats (e.g. rgba16_uint -> f16/f32).
With this patch the tests select color values depending on the formats under
test and avoids denorms.

Affects:

dEQP-VK.image.mutable.*

Components: Vulkan

VK-GL-CTS issue: 1285

Change-Id: Idd7ec555261109c54af865adb344f3239e49064d

5 years agoAdd watchdog touches to dEQP-VK.api.descriptor_pool#repeated_reset_long
Pierre Couillaud [Wed, 31 Oct 2018 11:57:40 +0000 (04:57 -0700)]
Add watchdog touches to dEQP-VK.api.descriptor_pool#repeated_reset_long

On some low-end devices, this test would hit the dEQP watchdog. Add some
watchdog touches to avoid this.

Google Bug: b/116847904
Component: Vulkan
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
VK-GL-CTS Issue: 1464

Change-Id: I18181aa274ab1dc191b5f0acbb58b41465b5cdad

5 years agoAdd tests for VK_EXT_scalar_block_layout
Jeff Bolz [Thu, 27 Sep 2018 17:36:06 +0000 (12:36 -0500)]
Add tests for VK_EXT_scalar_block_layout

Components: Vulkan, Framework

Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*

Change-Id: I373b9aed610d714b22e89910c98ce50ac882c513

5 years agoSPIR-V validation understands VK_EXT_scalar_block_layout
David Neto [Wed, 10 Oct 2018 20:37:38 +0000 (16:37 -0400)]
SPIR-V validation understands VK_EXT_scalar_block_layout

Refactor SPIR-V validator options into own struct and header

Shader build options now record scalar layout flag.

Shader build options can yield a validator options object.

Update SSBO and UBO layout tests to tell validation when they are
using scalar layout.

Update fetch_sources.py to include GitLab SPIRV-Tools supporting
validation of scalar block layout.

Remaining validation failures:
- FPRoundingMode checks are not sensitive to capabilities in
  SPV_KHR_float_controls

Components: Vulkan
Affects:
dEQP-VK.ssbo.*
dEQP-VK.ubo.*

Change-Id: I4449b58f8c33c82eea8965847059fdeb22806876

5 years agoUpdate SPIR-V compiler wrapper for OpenGL
Piers Daniell [Thu, 8 Nov 2018 18:57:05 +0000 (11:57 -0700)]
Update SPIR-V compiler wrapper for OpenGL

This copies the change for Vulkan made in:
https://gerrit.khronos.org/#/c/2980/

Change-Id: I30ebb4cc9c131480df5c27a4846d7cb664df4cb9
Components: OpenGL

5 years agoUse the correct type for image creation flags
Graeme Leese [Thu, 10 May 2018 11:11:48 +0000 (12:11 +0100)]
Use the correct type for image creation flags

Components: Vulkan
Affects:    dEQP-VK.api.info.image_format_properties2.*

Change-Id: I73fe492be9da52f9feb1aa32a1d161c9214b767d

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 8 Nov 2018 14:51:57 +0000 (15:51 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I958316132bee10f25f5e5a969ab84292bc5f3d61

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Thu, 8 Nov 2018 13:55:15 +0000 (14:55 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I16aa60e3d83febd0e9268ed51eebe8d0671768e7

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 8 Nov 2018 12:40:50 +0000 (13:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I07c6dba293349d24486832cbd2288c765f647003

5 years agoAdded framework function for image to buffer copy
Ari Suonpaa [Thu, 4 Oct 2018 09:26:29 +0000 (12:26 +0300)]
Added framework function for image to buffer copy

Several existing tests have their own implementation for
copying image to a buffer. Use a framework function where
it leads to a cleaner code.

Affects:

dEQP-VK.api.buffer_view.access.*
dEQP-VK.api.command_buffers.*
dEQP-VK.api.smoke.*
dEQP-VK.binding_model.shader_access.*
dEQP-VK.compute.basic.*
dEQP-VK.draw.shader_layer.*
dEQP-VK.draw.shader_viewport_index.*
dEQP-VK.fragment_operations.early_fragment.*
dEQP-VK.fragment_operations.scissor.multi_viewport.*
dEQP-VK.fragment_operations.scissor.*
dEQP-VK.geometry.*
dEQP-VK.memory.binding.*
dEQP-VK.memory.external_memory_host.*
dEQP-VK.pipeline.multisample.sampled_image.*
dEQP-VK.pipeline.multisample.storage_image.*
dEQP-VK.pipeline.shader_stencil_export.*
dEQP-VK.rasterization.*
dEQP-VK.renderpass*.multisample_resolve.*
dEQP-VK.renderpass*.multisample.*
dEQP-VK.renderpass*.sampleread.*
dEQP-VK.renderpass*.sparserendertarget.*
dEQP-VK.glsl.*
dEQP-VK.sparse_resources.buffer.*
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.*
dEQP-VK.subgroups.*
dEQP-VK.tessellation.common_edge.*
dEQP-VK.tessellation.geometry_interaction.scatter.*
dEQP-VK.tessellation.geometry_interaction.passthrough.*
dEQP-VK.tessellation.geometry_interaction.point_size.*
dEQP-VK.tessellation.misc_draw.*
dEQP-VK.tessellation.primitive_discard.*
dEQP-VK.tessellation.shader_input_output.*
dEQP-VK.tessellation.user_defined_io.*
dEQP-VK.tessellation.winding.*
dEQP-VK.texture.*
dEQP-VK.ubo.*

Components: Vulkan

VK-GL-CTS issue: 1375
Change-Id: Ib2041e801446ea78d8591c348c3b438061de9a67

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 8 Nov 2018 11:52:47 +0000 (12:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I7e4ffa1e9b7956f0c77ee9b8dfc3d958743c0929

5 years agoCorrect invalidate->flush after writing to host-mapped memory
Thomas Spurden [Thu, 1 Nov 2018 17:56:19 +0000 (17:56 +0000)]
Correct invalidate->flush after writing to host-mapped memory

Affects:

dEQP-VK.pipeline.push_constant.graphics_pipeline.*

Change-Id: Iee43b30343581efe94b606811d2dc90c0bcd6993
Components: Vulkan

5 years agoSpecify PointSize when drawing point lists
Dae Kim [Tue, 6 Nov 2018 10:01:43 +0000 (10:01 +0000)]
Specify PointSize when drawing point lists

Test cases for vertex stages are using VK_PRIMITIVE_TOPOLOGY_POINT_LIST without
specifying a value for gl_PointSize in the vertex shader.

Affects:

dEQP-VK.binding_model.descriptorset_random.*vert*
dEQP-VK.memory_model.message_passing.*vert*

Components: Vulkan

VK-GL-CTS issue: 1450

Change-Id: If1279a0b2a5989a267c57d72f2495c790dcdc4bb

5 years agoFix swapchain creation in dEQP-VK.wsi.*.swapchain.*
Chad Versace [Mon, 15 Oct 2018 19:45:46 +0000 (12:45 -0700)]
Fix swapchain creation in dEQP-VK.wsi.*.swapchain.*

In the Vulkan 1.1.87 spec release, the release fixed a bug in
VkSwapchainCreateInfoKHR by adding the following VU:

    * imageFormat, imageUsage, imageExtent, and imageArrayLayers must be
      supported for VK_IMAGE_TYPE_2D VK_IMAGE_TILING_OPTIMAL images as
      reported by vkGetPhysicalDeviceImageFormatProperties.

Jesse Hall authored the fix in response to behavior discovered by Chad
Versace while debugging failures in dEQP-VK.wsi.android.swapchain.* on
Intel Chrome OS devices.  This patch fixes the failing tests to comply
with the spec bugfix.

Components: Vulkan
VK-GL-CTS Issue: 1395
Affects: dEQP-VK.wsi.*.swapchain.*
See-Also: https://gitlab.khronos.org/vulkan/vulkan/issues/1029
Change-Id: I959774833d03b63eb6e23fbd3a7ff33378b44110
(cherry picked from commit 49eab80e4a8b3af1790b9ac88b096aa9bffd193f)

5 years agoFix VK_KHR_depth_stencil_resolve coverage
Piers Daniell [Fri, 26 Oct 2018 23:29:40 +0000 (17:29 -0600)]
Fix VK_KHR_depth_stencil_resolve coverage

The way the subtest names were generated for the depth_stencil_resolve
group of tests caused coverage loss on implementations that don't
have symmetric support for depth and stencil resolve modes.

For example, the following test was constructed:
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat.depth_min_stencil_min_testing_depth

The goal of this test is to verify VK_RESOLVE_MODE_MIN_BIT_KHR
works for the depth aspect of a depth-only format. However, to
run this test the implementation has to support
VK_RESOLVE_MODE_MIN_BIT_KHR for stencil too, which it may not.
Running this test on such an implementation throws NotSupported,
which skips testing coverage. Since stencil is not involved
in this test it doesn't make any sense to skip the test if the
implementation doesn't support VK_RESOLVE_MODE_MIN_BIT_KHR
for stencil.

The fix is to improve the way tests are constructed such that
only VK_RESOLVE_MODE_NONE_KHR resolve mode is used on aspects
which don't exist in the format. This means the implementation
doesn't need to support unnecessary resolve modes of one aspect
to get testing coverage or the other.

Affects:

dEQP-VK.renderpass2.depth_stencil_resolve.*

Change-Id: I36b9ca066949a7897db38ab1657debd833b4117d
Components: Vulkan

5 years agoParametrize clear value in depth_stencil_resolve
Piotr Byszewski [Fri, 26 Oct 2018 10:59:11 +0000 (12:59 +0200)]
Parametrize clear value in depth_stencil_resolve

Depth/stencil resolve tests used 0 for clear value.
This change parametrizes clear value and executes
existing tests with vales different then 0.

Components: Vulkan

VK-GL-CTS issue: 1176

Affects:
dEQP-VK.renderpass2.depth_stencil_resolve.*

Change-Id: Ic7685214b30bc218961281cad8267ad91ef96b37

5 years agoUtilize copyBufferToImage framework function where possible
Ari Suonpaa [Thu, 27 Sep 2018 10:05:47 +0000 (13:05 +0300)]
Utilize copyBufferToImage framework function where possible

Several existing tests have their own implementation for
copying buffer to an image. Use a framework function where
it leads to a cleaner code.

Affects:

dEQP-VK.binding_model.shader_access.*
dEQP-VK.compute.basic.copy_image_to_ssbo*
dEQP-VK.geometry.basic.*
dEQP-VK.image.atomic_operations.*
dEQP-VK.multiview.*
dEQP-VK.glsl.*
dEQP-VK.spirv_assembly.instruction.graphics.*
dEQP-VK.texture.explicit_lod.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1376
Change-Id: Icfda7bdde1e8e0a7bf77ccb36bf4ca948d45a200

5 years agoFixed unused attachment tests to properly use renderpass2
Ari Suonpaa [Thu, 25 Oct 2018 10:46:17 +0000 (13:46 +0300)]
Fixed unused attachment tests to properly use renderpass2

Unused attachment tests under renderpass group were still
using a legacy renderpass API. Now the tests under
renderpass2 group properly use the correct functions and
structures. Also removed final layout parameter from tests
since they are generating a validation error. It was
confirmed the validator is correctly checking the final
layout even when the attachment is unused.

Affects:

dEQP-VK.renderpass*.unused_attachment.*

Components: Vulkan

VK-GL-CTS issue: 1397
Change-Id: Ib14828ee37371a702303cc5c6a91a4fb76a74724

5 years agoSubgroupBallot: Don't test 0 <= id
Graeme Leese [Wed, 25 Apr 2018 20:15:24 +0000 (21:15 +0100)]
SubgroupBallot: Don't test 0 <= id

Since id is a uint this is always true.

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

Change-Id: I57065c9748126c71e22ee7d38b7501c2db175396

5 years agoRationalise the 'check*' functions in subgroups
Graeme Leese [Tue, 17 Apr 2018 16:45:09 +0000 (17:45 +0100)]
Rationalise the 'check*' functions in subgroups

There are loads of these and they all do the same thing. Move them to
the common subgroups utils section and reuse them throughout the tests.

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

Change-Id: Ie2373d53b77234eba7a8afa6acdbbaf12c89e9f8

5 years agoRemove one copy of the clustered test sources
Graeme Leese [Tue, 30 Oct 2018 16:54:58 +0000 (16:54 +0000)]
Remove one copy of the clustered test sources

We really shouldn't have duplicates of test code like this.

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

Change-Id: I3b32d6d7f3762d2d21375aa9b8095b0f64543942

5 years agoFurther validation fixes for renderpass tests
Graeme Leese [Wed, 24 Oct 2018 10:59:48 +0000 (11:59 +0100)]
Further validation fixes for renderpass tests

Correct synchronisation for multisample tests and include stencil usage
in pipline barriers.

Component: Vulkan
Affects: dEQP-VK.renderpass.*
         dEQP-VK.renderpass2.*

Change-Id: I481dca4a2544911a36cdb9773efe4e7ad1a94c7f

5 years agoFix case when unsuported create flag was used for AHB
Kacper Kleczewski [Tue, 23 Oct 2018 12:50:51 +0000 (13:50 +0100)]
Fix case when unsuported create flag was used for AHB

Additional validation step is added to ValidateAHardwareBuffer function
which return false if API level is lower than 28 and
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT create flag is requested.

Components: Vulkan

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

VK-GL-CTS Issue: 1439

Change-Id: Iadaa5c1d584bbf3d3335952c501799aff3c5b2d6

5 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Tue, 6 Nov 2018 15:20:18 +0000 (16:20 +0100)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I5c227fb62141046cb6d2a8f1956b2c4a60d67abb

5 years agoMerge "Merge vk-gl-cts/github-master into vk-gl-cts/master"
Alexander Galazin [Tue, 6 Nov 2018 13:01:44 +0000 (08:01 -0500)]
Merge "Merge vk-gl-cts/github-master into vk-gl-cts/master"

5 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Tue, 6 Nov 2018 12:12:37 +0000 (13:12 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I6e7da6cfd1fe7d69bccf4231f4b04d9d3fdbd30b

5 years agoMerge pull request #131 from werman/vulkan/VK_EXT_conditional_rendering
Alexander Galazin [Tue, 6 Nov 2018 11:44:00 +0000 (12:44 +0100)]
Merge pull request #131 from werman/vulkan/VK_EXT_conditional_rendering

Add tests for VK_EXT_conditional_rendering

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Tue, 6 Nov 2018 11:41:45 +0000 (12:41 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I0bc9d40f5467c3fcef1840984651ed3cdb953e5c

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 6 Nov 2018 10:59:01 +0000 (11:59 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ia532a2dca73418c4dda309ff8f3b58c5d7da15e7

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 1 Nov 2018 10:24:35 +0000 (11:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I5874225ecf8aae48bd833a15492668a83f985f38

6 years agoTerminate EGL display after use
Yogesh Gole [Wed, 17 Oct 2018 11:21:19 +0000 (16:51 +0530)]
Terminate EGL display after use

Previously function getDefaultEglConfigList destroyed native
display but did not terminate the EGL display. It may happen
that next create call will allocate native display at same
address as previous and as per spec multiple calls made to
eglGetPlatformDisplayEXT with the same <platform> and
<native_display> will return the same EGLDisplay handle. But
returned EGLDisplay will have references to stale data.

To fix this destroy the EGL Display along with native display.

Affects: CTS-Configs.*

Components: OpenGL and Framework

VK-GL-CTS Issue: 1426

Change-Id: I8e4c7d693d26bd9be6d7f892d0b5162d9b2b245c

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 1 Nov 2018 09:53:29 +0000 (10:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I587d40c09a99e93dd4cccf359ceba1dbf9ff47a9

6 years agoExtend push desriptors test to 128 compute dispatches
Slawomir Cygan [Tue, 4 Sep 2018 10:16:20 +0000 (12:16 +0200)]
Extend push desriptors test to 128 compute dispatches

This adds new test case with 128 compute dispatches,
each with different pushed descriptor offset being pushed.

Component: Vulkan

VK-GL-CTS Issue: 1429

New Tests: dEQP-VK.pipeline.push_descriptor.compute.binding1_numcalls128_storage_buffer

Change-Id: Ib5914e034679c962fadf6dcadfb722a85a468c6d

6 years agoCorrect vertex input tests on null driver
Piotr Byszewski [Thu, 25 Oct 2018 14:50:20 +0000 (16:50 +0200)]
Correct vertex input tests on null driver

On Null driver all features are enabled and this triggered execution
of tests for 128 vertex attributes that are not commonly supported.
Tests allocate buffer for verification which is not big enough for
128 attributes. This causes memory corruption and crash.
This change resolves those issues.

Components: Vulkan

VK-GL-CTS issue: 1443

Affects:
dEQP-VK.pipeline.vertex_input.*

Change-Id: I9a89cc62fdd34f9da40ebf9d84e6cf5b5aed07d5

6 years agoUse GENERAL image layout for images used as STORAGE image
Slawomir Cygan [Wed, 24 Oct 2018 14:19:20 +0000 (16:19 +0200)]
Use GENERAL image layout for images used as STORAGE image

The test was using VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
which is not valid for STORAGE images.

Components: Vulkan

VK-GL-CTS Issue: 1441

Affects:
dEQP-VK.pipeline.push_descriptor.*

Change-Id: Ic858ba32ce04601541a224aecbc105f42a36687d

6 years agoCorrect image properties tests on Null driver
Piotr Byszewski [Tue, 23 Oct 2018 09:42:49 +0000 (11:42 +0200)]
Correct image properties tests on Null driver

On Null driver all features are enabled and this trigered some issues
with YCBCR format in image_format_properties tests. This change
resolves those issues.

VK-GL-CTS issue: 1438

Components: Vulkan

Change-Id: I3d1707438909ae4f5e828092a97a6380b615beca
Affects: dEQP-VK.api.info.image_format_properties.*

6 years agoProperly align and pad vec16x2 values in UBO array
Slawomir Cygan [Mon, 22 Oct 2018 15:12:11 +0000 (17:12 +0200)]
Properly align and pad vec16x2 values in UBO array

Each of vec16x2 element should be thightly packed, followed by padding.

Without this change the test was padding each float16 value.

Components: Vulkan

VK-GL-CTS Issue: 1436

Affects:
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.uniform_16_to_64.uniform_vector_float
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.uniform_float_16_to_64.uniform_vector_float*

Change-Id: I4405a96eb5a27cfd8bf362853b28d59f20cb2314

6 years agoFix for unnormalized coordinate test using mipmaps
Jari Komppa [Wed, 24 Oct 2018 09:18:40 +0000 (12:18 +0300)]
Fix for unnormalized coordinate test using mipmaps

The unnormalized coodinate test used textures with mipmaps, while
unnormalized coordinates are only defined for single mip level textures.
This required adding new constructors to the texture framework that
allow explicit setting of mip levels.

Affects:

dEQP-VK.texture.filtering.unnormal.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1390

Change-Id: Ibd049a04d143979624d10148e3911728579b3a2c

6 years agoFix API usage errors in dEQP-VK.geometry.basic.*
Ilkka Saarelainen [Thu, 25 Oct 2018 13:06:58 +0000 (16:06 +0300)]
Fix API usage errors in dEQP-VK.geometry.basic.*

Fixes API usage errors caused by unsafe memory flush
and unsupported combinations of image memory barrier
dstAccessMask and dstStageMask.

Components: Vulkan

Affects:

dEQP-VK.geometry.basic.*

VK-GL-CTS issue: 1418

Change-Id: Iaa226bff5728a711b79f863b990b950cf95dd1c6

6 years agoFix swapchain creation in dEQP-VK.wsi.*.swapchain.*
Chad Versace [Mon, 15 Oct 2018 19:45:46 +0000 (12:45 -0700)]
Fix swapchain creation in dEQP-VK.wsi.*.swapchain.*

In the Vulkan 1.1.87 spec release, the release fixed a bug in
VkSwapchainCreateInfoKHR by adding the following VU:

    * imageFormat, imageUsage, imageExtent, and imageArrayLayers must be
      supported for VK_IMAGE_TYPE_2D VK_IMAGE_TILING_OPTIMAL images as
      reported by vkGetPhysicalDeviceImageFormatProperties.

Jesse Hall authored the fix in response to behavior discovered by Chad
Versace while debugging failures in dEQP-VK.wsi.android.swapchain.* on
Intel Chrome OS devices.  This patch fixes the failing tests to comply
with the spec bugfix.

Components: Vulkan
VK-GL-CTS Issue: 1395
Affects: dEQP-VK.wsi.*.swapchain.*
See-Also: https://gitlab.khronos.org/vulkan/vulkan/issues/1029
Change-Id: I959774833d03b63eb6e23fbd3a7ff33378b44110

6 years agoAdd tests for VK_EXT_conditional_rendering
Danylo Piliaiev [Fri, 12 Oct 2018 15:19:55 +0000 (18:19 +0300)]
Add tests for VK_EXT_conditional_rendering

All functions affected by VK_EXT_conditional_rendering are tested:
 - vkCmdDraw, vkCmdDrawIndexed, vkCmdDrawIndirect, vkCmdDrawIndexedIndirect
 - vkCmdDrawIndirectCountKHR, vkCmdDrawIndexedIndirectCountKHR (VK_KHR_draw_indirect_count)
 - vkCmdDispatch, vkCmdDispatchIndirect, vkCmdDispatchBase
 - vkCmdClearAttachments

The only limitation of these tests is that combination of different functions in one render
pass are not tested - only several calls of the same functions. Due to the different hardware
specific support of conditional rendering some implementations may have exhibit issues in such cases,
especially when combining conditional rendering with functions from VK_KHR_draw_indirect_count.

Components: Vulkan

New Tests: dEQP-VK.conditional_rendering.*

Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
6 years agoAdd option for Android dEQP builds to link against and embed ANGLE shared object...
Tim Van Patten [Fri, 5 Oct 2018 22:14:47 +0000 (16:14 -0600)]
Add option for Android dEQP builds to link against and embed ANGLE shared object libraries

Add the option '--angle-path' to scripts/android/build_apk.py to point
to the directory containing ANGLE shared object libraries for the
specified ABI.   This will cause dEQP to link against and embed the ANGLE
shared object libraries and use them during the dEQP test execution.

Components: Android dEQP

Google bug: 80239516

Change-Id: I04043d03b7837601656690126296e61b8ed9e658

6 years agoUse precompiled headers on MSVC
Jeff Bolz [Fri, 19 Oct 2018 04:00:34 +0000 (23:00 -0500)]
Use precompiled headers on MSVC

This is a significant improvement in build time on MSVC,
maybe 25% overall. Qualitatively, compile time is about 2x
faster, but link time, lack of parallelism for the whole
duration of the build, and some unaccelerated components
(e.g. glslang and some internal modules) reduce the total
wall clock time improvement from 50% down to that 25%.

This also helps a lot with performance of the builds for
generating mustpass lists.

Components: Vulkan, OpenGL, Framework
Change-Id: I6013d9728444d9892e9a5ec8f31a574c10ca06b2

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Fri, 26 Oct 2018 07:38:23 +0000 (09:38 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: I6a27bf242fd8721dbd2a44528371686b857d0654

6 years agoExtend transcoding tests to 1D/3D images
Piotr Byszewski [Fri, 24 Aug 2018 16:05:26 +0000 (18:05 +0200)]
Extend transcoding tests to 1D/3D images

Previously implementation assumed that
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT feature is
only for 2D images. This change executes most of the tests
aslo for 1D and 3D images.

Components: Vulkan

VK-GL-CTS issue: 1209

Affects:
dEQP-VK.image.texel_view_compatible.*

Change-Id: Iefc2b4f5658b39836cb28a62e9d38d3c4662cfbe

6 years agoRequire VK_KHR_shader_float16_int8 in float16 opconstant tests
Iago Toral Quiroga [Thu, 4 Oct 2018 07:43:17 +0000 (09:43 +0200)]
Require VK_KHR_shader_float16_int8 in float16 opconstant tests

The SPIR-V code in the shaders used by these tests includes
16-bit floating point OpVectorTimesScalar and
OpMatrixTimesVector operations, which require the extension. There
is no compute version of these tests, only graphics.

Components: Vulkan
VK-GL-CTS issue: 1403

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

Change-Id: If0f7960013759a0d5dad41629dcefc79350c3c88

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Thu, 25 Oct 2018 19:17:25 +0000 (21:17 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: Idfc653d433d9eaadcf155da6e3ab94f76662e8e9

6 years agoAdd 1.1.2.2 to known conformance versions
Alexander Galazin [Thu, 25 Oct 2018 15:27:30 +0000 (17:27 +0200)]
Add 1.1.2.2 to known conformance versions

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I4bcd1140981c7eac4b5e3a97da3cfc8458520448

6 years agoFix uninitialised variable warning for some compilers
Steve Hill [Thu, 25 Oct 2018 09:36:50 +0000 (10:36 +0100)]
Fix uninitialised variable warning for some compilers

Some compilers seem to get confused as to whether the scope
string-variable is initialised properly.

This change makes the switch that sets it up consistent with the
other switches and pacifies those compilers.

Components: Vulkan

Affects: dEQP-VK.memory_model.*

VK-GL-CTS issue: 1442

Change-Id: Id5ff742c85510af173020cf1bbfc16429a33f29f

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 25 Oct 2018 16:33:14 +0000 (18:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ic2ef309419e39a4b2baf634017e25979d743a607

6 years agoTest 2D texture swizzles with VkComponentMappings
Mika Väinölä [Thu, 27 Sep 2018 14:03:15 +0000 (17:03 +0300)]
Test 2D texture swizzles with VkComponentMappings

Add an optional VkComponentMapping parameter to TextureRenderer and
new tests that verify quads rendered with given component mapping are
swizzled correctly.

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

Components: Vulkan

VK-GL-CTS issue: 1394

Change-Id: I33601e8eaed134462defabfa007fe0c9103c869a

6 years agoTest depth/stencil resolve attachments
Piotr Byszewski [Tue, 4 Sep 2018 15:32:30 +0000 (17:32 +0200)]
Test depth/stencil resolve attachments

This change extends tests for VK_KHR_depth_stencil_resolve
by also testing depth/stencil resolve attachments.

Components: Vulkan

VK-GL-CTS issue: 1176

Affects:
dEQP-VK.renderpass2.depth_stencil_resolve.*

Change-Id: I736e2159175ff79e06e9c890bdff47b029fccb74

6 years agoAdd tests for VK_KHR_depth_stencil_resolve
Piotr Byszewski [Tue, 10 Jul 2018 17:03:39 +0000 (19:03 +0200)]
Add tests for VK_KHR_depth_stencil_resolve

Components: Vulkan

VK-GL-CTS issue: 1176

Affects:
dEQP-VK.api.info.get_physical_device_properties2.properties
dEQP-VK.renderpass2.depth_stencil_resolve.*

Change-Id: I485a6bd45928114a512339d993eccd21e7155853

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 25 Oct 2018 15:03:10 +0000 (17:03 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I2d8288ee3b75ef786496453b0efa6591f4f5c0ad

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 25 Oct 2018 13:52:47 +0000 (15:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: Ic87368f606cb8ec126d42ec9f72b1baffcdcf950

6 years agoFix incomplete VkImageSubresourceRange
Noah Fredriks [Wed, 11 Jul 2018 21:56:05 +0000 (17:56 -0400)]
Fix incomplete VkImageSubresourceRange

Pipeline image barrier arraySize doesn't include the entire image.

Affects: dEQP-VK.api.copy_and_blit.core.resolve_image.whole_array*

Components: Vulkan

VK-GL-CTS Issue: 910

Change-Id: I9974c9390478cf70f2238e03a7180fc81166f84e

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 25 Oct 2018 13:27:17 +0000 (15:27 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ie615d2294ca51629dd202087883acee9b0791f51

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Thu, 25 Oct 2018 12:46:24 +0000 (14:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I52a560f1c5cbd065182b36b6e8bff7d3a9c81879

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 25 Oct 2018 12:20:14 +0000 (14:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ie74a921aba656d271738734379ad7bf5ff596fa4

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 25 Oct 2018 11:51:47 +0000 (13:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I116b300bfdd3ee78827aa671a737de007eb241ef

6 years agoFix spelling on NotSupported error message
Slawomir Cygan [Mon, 22 Oct 2018 11:12:16 +0000 (13:12 +0200)]
Fix spelling on NotSupported error message

Components: Vulkan

VK-GL-CTS Issue: 1433

Affects: dEQP-VK.api.info.device_group.peer_memory_features

Change-Id: I42e2d7a50d2f74d706e42f0f196ff76c8446fa1c

6 years agoAdded tests for out-of-order attribute locations
Ari Suonpaa [Wed, 17 Oct 2018 10:33:03 +0000 (13:33 +0300)]
Added tests for out-of-order attribute locations

Extended vertex input tests to issue attribute locations
out-of-order.

New tests:

dEQP-VK.pipeline.vertex_input.*.out_of_order.*

Components: Vulkan

VK-GL-CTS issue: 1416
Change-Id: I2e0a90a14c3c663bbf4dd3b4d0b9a73cbdb859a3

6 years agoMake VK_KHR_shader_subgroup_vote tests work with sparse dispatch
Connor Abbott [Thu, 18 Oct 2018 12:20:31 +0000 (14:20 +0200)]
Make VK_KHR_shader_subgroup_vote tests work with sparse dispatch

The voteallequal tests created a value which was supposed to be
different for some threads in the subgroup, and then called
voteAllEqual() on it expecting it to return false. However, because the
entire expression was reduced modulo 2, if the implementation dispatched
threads in a sparse manner so that some subgroup indices were skipped,
then all the active threads could have wound up with the same value. In
particular, this caused the graphics voteallequal tests to fail in the
fragment stage on AMD due to how the hardware dispatches single-pixel
point sprites.

Fix this by just using gl_SubgroupIndex directly, so that every thread
is guaranteed to get a unique value. Some care has to be taken for
boolean values -- I've just made them use subgroupElect() instead, as
that's the simplest way to get a guaranteed-divergent boolean value.

Affected tests:
dEQP-VK.subgroups.vote.*

Components: Vulkan
VK-GL-CTS Issue: 1437

Change-Id: I10ddc438db4cd4925bdbc4f458a082fcab9c9155

6 years agoFix unaligned host accesses in UBO and SSBO tests
Gary Sweet [Mon, 22 Oct 2018 11:39:09 +0000 (12:39 +0100)]
Fix unaligned host accesses in UBO and SSBO tests

Prevent uniform blocks from starting unaligned.
Previously these tests would end up casting
non-4-byte aligned addresses to float*. On 32-bit
ARM CPUs this can cause unaligned access faults.

Components: Vulkan

Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*

VK-GL-CTS issue: 1434

Change-Id: Ied437b150b61f11630b5c1511ccedd410308b004

6 years agoAdd flush to binding descriptor set random tests
Steve Hill [Mon, 22 Oct 2018 08:48:57 +0000 (09:48 +0100)]
Add flush to binding descriptor set random tests

Components: Vulkan

Affects: dEQP-VK.binding_model.descriptorset_random.*

VK-GL-CTS issue: 1432

Change-Id: I56df9fefbeb511e441310df9f52d0e9a897bcbef

6 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

6 years agoImport dedicated allocs w/ importDedicatedMemory
crohde [Wed, 17 Oct 2018 10:33:35 +0000 (12:33 +0200)]
Import dedicated allocs w/ importDedicatedMemory

When exported memory was a dedicated allocation,
the memory must be imported also as dedicated allocation.
This was already implemented for images,
this change does it for buffers, too.

Affects:
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_twice
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_multiple_times
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup2
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup3
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.send_over_socket
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.bind_export_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_bind_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_import_bind_bind

Components: Vulkan

VK-GL-CTS issue: 1422
Change-Id: I782aeb256151dd98cc6a91b8a6942cd916d3f7b7

6 years agoImport dedicated allocs w/ importDedicatedMemory
crohde [Wed, 17 Oct 2018 10:33:35 +0000 (12:33 +0200)]
Import dedicated allocs w/ importDedicatedMemory

When exported memory was a dedicated allocation,
the memory must be imported also as dedicated allocation.
This was already implemented for images,
this change does it for buffers, too.

Affects:
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_twice
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_multiple_times
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup2
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup3
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.send_over_socket
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.bind_export_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_bind_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_import_bind_bind

Components: Vulkan

VK-GL-CTS issue: 1422
Change-Id: I782aeb256151dd98cc6a91b8a6942cd916d3f7b7

6 years agoProperly analyze edge0>=edge1 cases in smoothstep
Boris Zanin [Thu, 18 Oct 2018 08:50:25 +0000 (10:50 +0200)]
Properly analyze edge0>=edge1 cases in smoothstep

Smoothstep result is undefined if edge0 >= edge1. Make tests
return NaNs for such cases to them.

Affected tests:
 * dEQP-VK.glsl.builtin.precision.smoothstep.mediump_compute.*
 * dEQP-VK.glsl.builtin.precision.smoothstep.highp_compute.*
 * dEQP-VK.glsl.builtin.precision_fp16_storage16b.smoothstep.compute.*
 * dEQP-VK.glsl.builtin.precision_fp16_storage32b.smoothstep.compute.*

Components: Vulkan

VK-GL-CTS issue: 1425

Change-Id: Ieafc34c176c6681c2377898dde9a4934a3e5bcd3

6 years agoRemove NaN from OpFOrd* and OpFUnord* tests
Boris Zanin [Wed, 17 Oct 2018 13:50:49 +0000 (15:50 +0200)]
Remove NaN from OpFOrd* and OpFUnord* tests

Due to Vulkan specification enables NaNs to be unsupported
by implementation, the NaN values cannot be processed.

As it is quite complicated to remove NaNs from tested values
stream this fix just blocks their analysis.

Following instructions are not fully tested now:
 * OpFOrdEqual
 * OpFOrdGreaterThan
 * OpFOrdLessThan
 * OpFOrdGreaterThanEqual
 * OpFOrdLessThanEqual
 * OpFUnordEqual
 * OpFUnordGreaterThan
 * OpFUnordLessThan
 * OpFUnordGreaterThanEqual
 * OpFUnordLessThanEqual

Affected tests:
 * dEQP-VK.glsl.builtin.precision.comparison.mediump_compute.*
 * dEQP-VK.glsl.builtin.precision.comparison.highp_compute.*
 * dEQP-VK.glsl.builtin.precision_fp16_storage16b.comparison.compute.*
 * dEQP-VK.glsl.builtin.precision_fp16_storage32b.comparison.compute.*

Components: Vulkan

VK-GL-CTS issue: 1423

Change-Id: Ic64cfdbe23d796de90dae0931109421ded2b526a

6 years agoValidation fixes for device group tests
Graeme Leese [Tue, 9 Oct 2018 08:39:10 +0000 (09:39 +0100)]
Validation fixes for device group tests

Flush and invalidate whole allocations and fix a stray pipeline barrier
stage.

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

Change-Id: I0e214ccde2dff72a6d004702aa362bb88c47d977

6 years agoFix asserts and check for base image format support in image.mutable tests
Slawomir Cygan [Thu, 2 Aug 2018 16:01:57 +0000 (18:01 +0200)]
Fix asserts and check for base image format support in image.mutable tests

This adds a check if base image can be created given the format.

It is required for implementations supporting VK_KHR_maintenance2 or 1.1:
if these are supported, the exisiting VkImageView format support does not
cover base image format support.

Additionally, fix malformed asserts and missign case switches in this test.

Components: Vulkan

Affects: dEQP-VK.image.mutable

VK-GL-CTS Issue: 1295, 1294

(cherry picked from commit eaaa3979b015e2a923b3250b4269d3c9d21137cc)

Change-Id: I7a4afbb624d73aadca4f9a6edf955b3cdc2d863e

6 years agoFix asserts in image.mutable tests
Slawomir Cygan [Thu, 2 Aug 2018 16:01:57 +0000 (18:01 +0200)]
Fix asserts in image.mutable tests

Fix malformed asserts and missing case switches in this test.

Components: Vulkan

Affects: dEQP-VK.image.mutable

VK-GL-CTS Issue: 1294

(cherry picked from commit 29c222eaa9cc5aeac37886b3cc25330ddc31689b)

Change-Id: I1a49f615e843c33d5483cd7bba4773370377dde7

6 years agoFix validation in dynamic offset tests
Graeme Leese [Tue, 16 Oct 2018 10:24:17 +0000 (11:24 +0100)]
Fix validation in dynamic offset tests

Correct memory flush/invalidate ranges and use "readonly" on buffers.

Components: Vulkan
Affects: dEQP-VK.pipeline.dynamic_offset.graphics.*

Change-Id: Ie76a9a08f3b852560771e77eacd7b00a0ec42601

6 years agoMark storage buffer as readonly
Graeme Leese [Tue, 16 Oct 2018 10:08:33 +0000 (11:08 +0100)]
Mark storage buffer as readonly

Since the test only reads it, mark the buffer as readonly. Without the
qualifier the test is invalid on implementations that don't support
vertexPipelineStoresAndAtomics.

Components: Vulkan
Affects: dEQP-VK.memory.pipeline_barrier.host_write_storage_buffer.*
         dEQP-VK.memory.pipeline_barrier.all.*

Change-Id: Ia92553415bc4b24812f5993c79d3ba2cd7fad0a9

6 years agoFix validation in renderpass tests
Graeme Leese [Wed, 3 Oct 2018 10:35:44 +0000 (11:35 +0100)]
Fix validation in renderpass tests

Correct alignments for flush/invalidate, pipeline stages for subpass
dependencies, and image layouts in pipeline barriers.

Components: Vulkan
Affects: dEQP-VK.renderpass.*
         dEQP-VK.renderpass2.*

Change-Id: Icf5bd5c0b88a34a8c4c131d47f12874ca660253e

6 years agotest layered resolves with a single region convering all layers.
Dave Airlie [Mon, 26 Mar 2018 00:36:12 +0000 (10:36 +1000)]
test layered resolves with a single region convering all layers.

We have a test that does a layer resolve using one region and resolve call
per layer, this does one region/resolve call for all the layers.

v2: add missing extent update.

Components: Vulkan

VK-GL-CTS issue: 1379

New Tests:
dEQP-VK.api.copy_and_blit.*whole_array_image_one_region*

Change-Id: I283aa0291aba84b172f655fa7675c1f34087d957

6 years agoUpdate SPIR-V Tools/Headers
Alexander Galazin [Mon, 22 Oct 2018 09:20:48 +0000 (11:20 +0200)]
Update SPIR-V Tools/Headers

Update SPIR-V tools and headers to gitlab-prelim-rc8

Components: Framework

Change-Id: I8b3fbb78e0008e0309e1168a99d0bb68cb394b22

6 years agoCorrect copy_and_blit on Null driver
Piotr Byszewski [Thu, 18 Oct 2018 09:55:56 +0000 (11:55 +0200)]
Correct copy_and_blit on Null driver

On Null driver all features are enabled which leads copy_and_blit
tests to be executed for incompatible image formats. This change
detects that and fails the verification to prevent hiting assertions
in the framework.

VK-GL-CTS issue: 1427

Components: Vulkan

Affects:
dEQP-VK.api.copy_and_blit.*

Change-Id: I0d105c297f5548175580434cc2a12fa53b69339d

6 years agoUpdate spirv-tools to TOT github
Jeff Bolz [Fri, 19 Oct 2018 19:09:49 +0000 (14:09 -0500)]
Update spirv-tools to TOT github

I want to bring in the fix in
https://github.com/KhronosGroup/SPIRV-Tools/pull/1989
which resolves some build issues with my change in
https://github.com/KhronosGroup/SPIRV-Tools/pull/1969
before anybody wastes time on it.

Change-Id: I15f893f002e6d44f6d7f4e00997a22c3e5209545
Components: Vulkan, OpenGL, Framework

6 years agoFix SPIR-V validation in float_controls
Piotr Byszewski [Fri, 19 Oct 2018 11:36:09 +0000 (13:36 +0200)]
Fix SPIR-V validation in float_controls

FPRoundingMode decoration can be applied only to the Object
operand of an OpStore. This couldn't be done in vertex stage
without using write to SSBO which is not universally supported.
Because of that two vertex stage tests had to be removed.
FPRoundingMode is still tested in compute and fragment stage.

Components: Vulkan

VK-GL-CTS issue: 1430

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

Change-Id: I4f01149dae3ec9184b99302d51d681739ed15bf9

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 18 Oct 2018 18:22:07 +0000 (20:22 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Icdbfda5c3815cf424e8cc0065a5e73955f016c51

6 years agoWhitelist VK_KHR_swapchain_mutable_format extension
Maciej Jesionowski [Tue, 31 Jul 2018 09:20:24 +0000 (11:20 +0200)]
Whitelist VK_KHR_swapchain_mutable_format extension

Affected tests:
dEQP-VK.api.info.device.extensions

Components: Vulkan
VK-GL-CTS issue: 1014

Change-Id: Ic9dbf7161534765af624e5925bb9f6ea0ad16be8
(cherry picked from commit 3ef3fe8a93896f1c75ca6a07672276385f4cdd21)

6 years agoAdd tests for VK_KHR_swapchain_mutable_format
Norbert Garnys [Thu, 14 Jun 2018 11:07:14 +0000 (13:07 +0200)]
Add tests for VK_KHR_swapchain_mutable_format

New tests:
dEQP-VK.image.swapchain_mutable.*

Affected tests:
dEQP-VK.image.mutable.*

Components: Vulkan

VK-GL-CTS issue: 1014

Change-Id: I01ad8a374a53fb21c4f2d0bb413970808e23e784
(cherry picked from commit 2a301e65ffbe783e06f3aa6f2b7b5303afa526cf)

6 years agoFix 16-bit storage IO f64-to-f16 conversion tests
Alexander Galazin [Thu, 18 Oct 2018 13:12:50 +0000 (15:12 +0200)]
Fix 16-bit storage IO f64-to-f16 conversion tests

The tests were applying a rounding mode decoration
to OpFConvert that was used by OpReturnValue.
The extension doesn't allow this. The only allowed
successor for suc instruction is OpStore to specific
storage classes.

Components: Vulkan

VK-GL-CTS issue: 1424

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

Change-Id: Ia224e4c6d1e11e6bc1c250d68e5b24f90000d8e6

6 years agoRemove test lib dependencies on deqp-vk-package.
Jeff Bolz [Wed, 26 Sep 2018 17:58:05 +0000 (12:58 -0500)]
Remove test lib dependencies on deqp-vk-package.

These limit parallelism in MSVC builds, presumably due to the
circular dependency in the cmake files. These libs really only
depend on 'test utility' code and not on 'test framework' code,
so split out the test utility code into a util folder and fixup
all the includes/libs to point at those.

Change-Id: I6eae113df12d0a3ec90c618eb61a2816d02bcd9e
Components: Vulkan

6 years agoMerge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev
Alexander Galazin [Thu, 18 Oct 2018 11:15:01 +0000 (13:15 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vulkan-cts-next-dev

Change-Id: Ie175674eca5fd0cbd2fe0b7e9ea5658adf74ba32

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Alexander Galazin [Thu, 18 Oct 2018 10:11:32 +0000 (12:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master

Change-Id: I74bb0bd8b5d531ba868c3ac2ff5ae49acd86027a