platform/upstream/VK-GL-CTS.git
3 years agoSupport GL 4.5 in the gl_HelperInvocation tests
Alexander Galazin [Thu, 31 Dec 2020 08:41:16 +0000 (09:41 +0100)]
Support GL 4.5 in the gl_HelperInvocation tests

Affects:
dEQP-GLES31.functional.shaders.helper_invocation.*
dEQP-GL45.functional.shaders.helper_invocation.*

Components: AOSP

Change-Id: I425548e980cfefa5e8da694ce55aa42c64bde96c

3 years agoSupport GL 4.5 in the GL_EXT_shader_framebuffer_fetch tests
Alexander Galazin [Thu, 31 Dec 2020 08:38:38 +0000 (09:38 +0100)]
Support GL 4.5 in the GL_EXT_shader_framebuffer_fetch tests

Affects:
dEQP-GLES31.functional.shaders.framebuffer_fetch.*
dEQP-GL45.functional.shaders.framebuffer_fetch.*

Components: AOSP

Change-Id: Id4e7131280a78da62aaf8058d111f9bc99bdcf7f

3 years agoSupport GL 4.5 in the Common function tests
Alexander Galazin [Thu, 31 Dec 2020 08:35:39 +0000 (09:35 +0100)]
Support GL 4.5 in the Common function tests

Affects:
dEQP-GLES31.functional.shaders.builtin_functions.common.*
dEQP-GL45.functional.shaders.builtin_functions.common.*

Components: AOSP
Change-Id: I2480a179f4eea457fc5fbfd46c780cb54c6df7f0

3 years agoSupport GL 4.5 in the Opaque Type Indexing Tests
Alexander Galazin [Wed, 30 Dec 2020 16:31:00 +0000 (17:31 +0100)]
Support GL 4.5 in the Opaque Type Indexing Tests

Affects:
dEQP-GLES31.functional.shaders.opaque_type_indexing.*
dEQP-GL45.functional.shaders.opaque_type_indexing.*

Components: AOSP

Change-Id: Ife7a3ae5144823bf7cea55cbd13345930872a70d

3 years agoSupport GL 4.5 in the Internal format queries tests
Alexander Galazin [Wed, 30 Dec 2020 16:28:56 +0000 (17:28 +0100)]
Support GL 4.5 in the Internal format queries tests

Affects:
dEQP-GLES31.functional.state_query.internal_format.*
dEQP-GL45.functional.state_query.internal_format.*

Components: AOSP

Change-Id: Ib55a2e5da95c1d8f46aface5eb549fc4c0b3249e

3 years agoSupport GL 4.5 in the Layout binding tests
Alexander Galazin [Wed, 30 Dec 2020 09:26:07 +0000 (10:26 +0100)]
Support GL 4.5 in the Layout binding tests

Affects:
dEQP-GLES31.functional.layout_binding.*
dEQP-GL45.functional.layout_binding.*

Components: AOSP

Change-Id: I23c3bcd42e04bf015ac55b1265c49870f56938be

3 years agoSupport GL 4.5 in the Integer state query tests
Alexander Galazin [Wed, 30 Dec 2020 09:24:04 +0000 (10:24 +0100)]
Support GL 4.5 in the Integer state query tests

Affects:
dEQP-GLES31.functional.state_query.integer.*
dEQP-GL45.functional.state_query.integer.*

Components: AOSP

Change-Id: I56fdae2e4be32a1e136fc4d585a623ab60291898

3 years agoSuppotr GL 4.5 in the sRGB write control tests
Alexander Galazin [Wed, 30 Dec 2020 09:12:41 +0000 (10:12 +0100)]
Suppotr GL 4.5 in the sRGB write control tests

Affects:
dEQP-GLES31.functional.fbo.srgb_write_control.*
dEQP-GL45.functional.fbo.srgb_write_control.*

Components: AOSP

Change-Id: I82f0a0ff1c1d9d7abd4d1121403bd4f1eb5391c1

3 years agoSupport GL 4.5 in the Cube map array texture tests
Alexander Galazin [Wed, 30 Dec 2020 09:06:37 +0000 (10:06 +0100)]
Support GL 4.5 in the Cube map array texture tests

Affects:
dEQP-GLES31.functional.fbo.color.texcubearray.*
dEQP-GL45.functional.fbo.color.texcubearray.*

Components: AOSP

Change-Id: I3ef700ed64f877d0e49bc431d63e4adc2c415605

3 years agoSupport GL 4.5 in the base vertex extension drawing tests
Alexander Galazin [Wed, 30 Dec 2020 09:02:48 +0000 (10:02 +0100)]
Support GL 4.5 in the base vertex extension drawing tests

Affects:
dEQP-GLES31.functional.draw_base_vertex.*
dEQP-GL45.functional.draw_base_vertex.*

Components:  AOSP

Change-Id: I8351ad91728c5bd5dc949898b08983addcbceb38

3 years agoSupport GL 4.5 in the indexed draw buffers tests
Alexander Galazin [Tue, 29 Dec 2020 19:43:06 +0000 (20:43 +0100)]
Support GL 4.5 in the indexed draw buffers tests

Affects:
dEQP-GLES31.functional.draw_buffers_indexed.*
dEQP-GL45.functional.draw_buffers_indexed.*

Components: AOSP

Change-Id: Iac8739e212406e89e5d0f84de162914ada5a654d

3 years agoSupport GL 4.5 in the default vertex array object test
Alexander Galazin [Tue, 29 Dec 2020 19:35:31 +0000 (20:35 +0100)]
Support GL 4.5 in the default vertex array object test

Affects:
dEQP-GLES31.functional.default_vertex_array_object.vertex_attrib_divisor
dEQP-GL45.functional.default_vertex_array_object.vertex_attrib_divisor

Components: AOSP

Change-Id: I23e8a1b2c3d63196febbbae755935e3f08391ce2

3 years agoSupport GL 4.5 in the Boolean State Query tests
Alexander Galazin [Tue, 29 Dec 2020 19:18:51 +0000 (20:18 +0100)]
Support GL 4.5 in the Boolean State Query tests

Affects:
dEQP-GLES31.functional.state_query.boolean.*
dEQP-GL45.functional.state_query.boolean.*

Components: AOSP

Change-Id: I92419157e7281bd3989d80f719d6a862f121cb34

3 years agoSupport GL 4.5 in the atomic operation with image tests
Alexander Galazin [Tue, 29 Dec 2020 19:09:39 +0000 (20:09 +0100)]
Support GL 4.5 in the atomic operation with image tests

Affects:
dEQP-GL*.functional.compute.basic.image_atomic_op_local_size*

Components: AOSP

Change-Id: I82d2075352dca389c7832b7b7c958e114d99cbc8

3 years agoSupport GL 4.5 in the draw_indirect tests
Alexander Galazin [Tue, 29 Dec 2020 18:52:07 +0000 (19:52 +0100)]
Support  GL 4.5 in the draw_indirect tests

Affects:
dEQP-GL*draw_indirect.*

Components: AOSP

Change-Id: If9b5f24afc89e78f2b61bc5c0fcc4d44d10fa136

3 years agoNotice of withdrawal of Vulkan CTS 1.2.1.x
Alexander Galazin [Mon, 11 Jan 2021 09:34:17 +0000 (10:34 +0100)]
Notice of withdrawal of Vulkan CTS 1.2.1.x

Components: Vulkan

Change-Id: I5eca57f29a0a021c16a543cc3cc74cbe1b185aeb

3 years agoMerge "Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master"
Alexander Galazin [Wed, 13 Jan 2021 09:49:50 +0000 (09:49 +0000)]
Merge "Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master"

3 years agoAdd --force option to fetch_sources.py
Thomas Spurden [Wed, 16 Dec 2020 12:26:52 +0000 (12:26 +0000)]
Add --force option to fetch_sources.py

This passes --force to git fetch and checkout.

Change-Id: I56a7ccafefb2eaac69d2253516308daa8e8808cf

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Wed, 13 Jan 2021 08:09:23 +0000 (09:09 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I63ac3eac2007daeafed1ba2cdb6fd12754f0811f

3 years agoMove image to optimal layout before using it in renderpass in synchronization tests
Slawomir Cygan [Mon, 28 Dec 2020 14:48:20 +0000 (15:48 +0100)]
Move image to optimal layout before using it in renderpass in synchronization tests

This fixes 'write_clear_attachments' operation, where newly created image, while
still being in UNDEFINED layout was used in renderpass, that starts from
DEPTH_STENCIL_OPTIMAL layout.

This fixes regression introduced in 2e2e79bd.

Components: Vulkan

VK-GL-CTS Issue: 2709

Affects: dEQP-VK.synchronization.*write_clear_attachments*

Change-Id: I2e2f587ce5fbe928b6146f349cd37a645661645f

3 years agoFix checks for conditional rendering support
Eleni Maria Stea [Thu, 17 Dec 2020 11:01:14 +0000 (12:01 +0100)]
Fix checks for conditional rendering support

* Move conditional rendering support checks to a proper checkSupport()
  method, using simplified and improved context checks.

* Fix tests using vkCmdDispatchBase() so they check for
  VK_KHR_device_group.

Affected tests:
dEQP-VK.conditional_rendering.*

Components: Vulkan
VK-GL-CTS issue: 2685

Co-authored-by: Ricardo Garcia <rgarcia@igalia.com>
Change-Id: Ib8a8f0862d330105f99540098cfc27243eab90e3

3 years agoCheck for VK_KHR_portability_subset extension before checking it's features
Slawomir Cygan [Wed, 30 Dec 2020 13:56:50 +0000 (14:56 +0100)]
Check for VK_KHR_portability_subset extension before checking it's features

Fix text 'not supported' logic, by checking if VK_KHR_portability_subset
extension is supported. If it's not, than it's features should not be checked
and the test should just continue.

This is a fix for a regression introduced in 5534dd8f

Components: Vulkan

VK-GL-CTS Issue: 2711

Affects: dEQP-VK.image.extended_usage_bit.*

Change-Id: Idbb0d6dd10bc21b7882f388757beceaa5af80ea6

3 years agoFix indexing of SBT entries in dEQP-VK.ray_tracing_pipeline.shader_binding_table...
Slawomir Cygan [Wed, 23 Dec 2020 14:15:54 +0000 (15:15 +0100)]
Fix indexing of SBT entries in dEQP-VK.ray_tracing_pipeline.shader_binding_table test

There are few variants of this test ("hit", 'miss", "call"). Only "hit" and "call" variants prepare
per-geometry-instance shader hit groups, while "miss" variant prepares only
one hit group in the shader binding table.

At the same time, in the accelleration strucures, all variants advance
instanceShaderBindingTableRecordOffset per instance of geometry. This makes "miss" variant
to index incorrect records in the shader binding table.

Specification says:
"The application must organize the contents of the shader binding table’s memory in
 a way that application of the indexing rules will lead to correct records."

To avoid overrunning the shader binding table, instanceShaderBindingTableRecordOffset should
be always 0 in "miss" test variant.

VK-GL-CTS Issue: 2706

Affects: dEQP-VK.ray_tracing_pipeline.shader_binding_table.*

Components: Vulkan

Change-Id: I72870fc6ac6627522aaaa0fd9d2a3736001f44c1

3 years agoAdd striped 3D blitting tests
Eleni Maria Stea [Fri, 27 Nov 2020 12:15:27 +0000 (13:15 +0100)]
Add striped 3D blitting tests

This commit adds new tests to the color 3D image blitting group that try
to verify the proper filter (linear or nearest) is being applied in all
dimensions of the image.

Existing 3D blitting tests use source images containing gradients, with
colors values changing only small amounts from one pixel to its
neighbors. If the implementation uses the wrong filter mode (linear
instead of nearest and vice versa), a majority of these tests still
pass thanks to the test tolerance.

The new tests added by this commit use a striped pattern with slices
containing alternating red-blue colors in each of the X, Y or Z axes,
depending on the test, giving significantly different results for the
linear and nearest filter modes.

New tests:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.3d.*_stripes_*

Components: Vulkan
VK-GL-CTS issue: 2672

Co-authored-by: Ricardo Garcia <rgarcia@igalia.com>
Change-Id: Ib24a36d312be11d71f2e353e4a9ff763cc0e52a8

3 years agoAdd tests for logical operations
Eleni Maria Stea [Tue, 15 Dec 2020 10:39:51 +0000 (11:39 +0100)]
Add tests for logical operations

Adds tests that set logicOpEnable to VK_TRUE and try different values
for logicOp in VkPipelineColorBlendStateCreateInfo.

New tests:
dEQP-VK.pipeline.logic_op.*

Components: Vulkan
VK-GL-CTS issue: 2676

Co-authored-by: Ricardo Garcia <rgarcia@igalia.com>
Change-Id: I478c02ee2666922992e1639f094e8ffa844672da

3 years agoDisable-SeamlessCubeMap-In-Reference-ES2Context
liruoyu [Wed, 11 Nov 2020 10:25:20 +0000 (18:25 +0800)]
Disable-SeamlessCubeMap-In-Reference-ES2Context

Affects:
dEQP-GLES*
dEQP-GL*

Components: OpenGL

VK-GL-CTS issue: 2652

Root cause:
According to the spec regulations, we can't enable seamless cubemap
underes version 2.0.

es_spec_3.0:
OpenGL ES 3.0 requires that all cube map filtering be seamless. OpenGL ES
2.0 specified that a single cube map face be selected and used for filtering.
See section 3.8.9.1.

Change-Id: I2705d4b0abef25aba535a5eeeb6668902c28f79a

3 years agoTest invalid Lods in the textureSize tests
Graeme Leese [Thu, 10 Dec 2020 11:53:15 +0000 (11:53 +0000)]
Test invalid Lods in the textureSize tests

The spec is being updated to say that these give undefined values, not
undefined results, so add some tests that such lods don't crash drivers.
The results for these tests aren't verified, but they could be if a
feature is added to define these values in the future. (That's currently
set for maintenance4)

Components: Vulkan
Affects: dEQP-VK.glsl.texture_functions.query.texturesize.*

Change-Id: I5143c5865df6a78a5feab8ee985ca739602b4c6b

3 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Tue, 10 Nov 2020 15:46:42 +0000 (17:46 +0200)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-apfloat-determinant-for-if
dEQP-VK.graphicsfuzz.cov-apfloat-reflect-denorm
dEQP-VK.graphicsfuzz.cov-apfloat-unpackunorm-loop
dEQP-VK.graphicsfuzz.cov-color-overwrite-identity-matrix-multiply
dEQP-VK.graphicsfuzz.cov-findlsb-division-by-zero
dEQP-VK.graphicsfuzz.cov-inc-array-element-loop-lsb
dEQP-VK.graphicsfuzz.cov-inst-combine-and-or-xor-for-bitfieldinsert
dEQP-VK.graphicsfuzz.cov-inst-combine-compares-pre-increment-clamp
dEQP-VK.graphicsfuzz.cov-inst-combine-mul-div-rem-if-undefined-divide-mix
dEQP-VK.graphicsfuzz.cov-inst-combine-pack-unpack
dEQP-VK.graphicsfuzz.cov-inst-combine-select-findlsb-uaddcarry
dEQP-VK.graphicsfuzz.cov-inst-combine-simplify-demanded-pack-unpack
dEQP-VK.graphicsfuzz.cov-inst-combine-simplify-demanded-packsnorm-unpackunorm
dEQP-VK.graphicsfuzz.cov-inst-combine-simplify-demanded-switch-or-xor
dEQP-VK.graphicsfuzz.cov-inst-combine-vector-ops-asin
dEQP-VK.graphicsfuzz.cov-integer-modulo-negative
dEQP-VK.graphicsfuzz.cov-machine-basic-block-for-for-for-less-than
dEQP-VK.graphicsfuzz.cov-mod-acosh
dEQP-VK.graphicsfuzz.cov-modf-clamp-for
dEQP-VK.graphicsfuzz.cov-not-clamp-matrix-access
dEQP-VK.graphicsfuzz.cov-return-after-do-while
dEQP-VK.graphicsfuzz.cov-schedule-dag-rrlist-mix-log-cos
dEQP-VK.graphicsfuzz.cov-selection-dag-inverse-clamp
dEQP-VK.graphicsfuzz.cov-simplify-combine-compares-max-max-one
dEQP-VK.graphicsfuzz.cov-simplify-max-multiplied-values
dEQP-VK.graphicsfuzz.cov-simplify-modulo-1
dEQP-VK.graphicsfuzz.cov-x86-isel-lowering-apfloat-nan-cos-cos
dEQP-VK.graphicsfuzz.cov-x86-isel-lowering-negative-left-shift

Change-Id: I828213b28022beefd52327e25ee9339272ec9746

3 years agoFix sync problems in conditional_rendering.draw_clear tests
Ricardo Garcia [Wed, 16 Dec 2020 11:06:59 +0000 (12:06 +0100)]
Fix sync problems in conditional_rendering.draw_clear tests

* Invalidate results buffer allocations before attempting to read data.

* Fix synchronization of m_conditionalRenderingBuffer instead of
  m_resultBuffer before verifying its contents.

* Check for vertexPipelineStoresAndAtomics when needed.

* Split update_with_rendering tests in two render passes so
  buffer synchronization works properly and passes validation.

Affected tests:
dEQP-VK.conditional_rendering.draw_clear.*

Components: Vulkan
VK-GL-CTS issue: 2703

Change-Id: I2ae26e19e37c323bdbf94cade419fe5be3ed4f5c

3 years agoDon't access arrays out-of-bounds in robustness2 tests
Connor Abbott [Thu, 3 Dec 2020 14:05:30 +0000 (15:05 +0100)]
Don't access arrays out-of-bounds in robustness2 tests

The SPIR-V spec says that indexing a pointer to an array with an
out-of-bounds index leads to undefined behavior. While
VK_EXT_robustness2 allows you to access outside the range of the
underlying descriptor, it doesn't change this fact, so we should be
careful to only access inside of the shader-declared array when testing
UBO's. For SSBO's we switch to using an unsized array to keep test
coverage of negative indices.

Affects:
dEQP-VK.robustness.robustness2.*

VK-GL-CTS Issue: 2649
Components: Vulkan

Change-Id: I60a4b80749278f4d81defdbe2abe116a1dcfa159

3 years agopipeline statistics test: Fix compute shader setup in !GL4.3 case.
Eric Anholt [Fri, 11 Dec 2020 20:17:44 +0000 (12:17 -0800)]
pipeline statistics test: Fix compute shader setup in !GL4.3 case.

The ARB_compute_shader spec states a requirement for GL4.2/GLSL 4.20
or better, but we were using "#version 430" regardless, causing a
compile failure on older versions.  Add a variant of the shader using
the ARB_compute_shader extension instead.

I picked GLSL 330 for the variant because the test is included in the
GL 3.3 test set, and Mesa's softpipe driver exposes ARB_compute_shader
on GL 3.3 -- the GLSL requirement in the spec seems to be more than is
actually necessary for compute shaders, assuming you have
ARB_shader_image_load_store and such as well.  Since we're doing this
pre-4.2, we have to add the dependency on ARB_shader_atomic_counters
as well.

VK-GL-CTS Issue: 2694
Components: OpenGL
Affects: KHR-GL33.pipeline_statistics_query_tests_ARB.functional_compute_shader_invocations

Change-Id: If37e0e10bed86281d07aed67394075844e88003d

3 years agoClarify depth/stencil resolve write access sync
Ricardo Garcia [Thu, 17 Dec 2020 10:42:00 +0000 (11:42 +0100)]
Clarify depth/stencil resolve write access sync

Add a comment reinforcing depth/stencil resolve operations need to be
synchronized using VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT despite sounding
counterintuitive, dispelling doubts about test correctness.

Change-Id: Ie5539c6e49ec61fab060ac9ef58dca73c1c2159c

3 years agoSupport GL 4.5 in the texture test utils
Alexander Galazin [Mon, 14 Dec 2020 12:37:20 +0000 (13:37 +0100)]
Support GL 4.5 in the texture test utils

Components: AOSP

Affects:
dEQP-GLES3*.functional.*

Change-Id: I7c22694d829a4aa982e2def4b0be1290f86293bb

3 years agoSupport GL 4.5 in the blend_equation_advanced tests
Alexander Galazin [Tue, 15 Dec 2020 08:20:04 +0000 (09:20 +0100)]
Support GL 4.5 in the blend_equation_advanced tests

Affects:
dEQP-GLES3*.functional.blend_equation_advanced

Components: Framework

Change-Id: I62ecf395c7b193dd118d8bebab1ba476b86b22b8

3 years agoSupport GL 4.5 in the 'negative' tests
Alexander Galazin [Mon, 14 Dec 2020 16:37:13 +0000 (17:37 +0100)]
Support GL 4.5 in the 'negative' tests

Affects:
dEQP-GLES3*.functional.*.negative.*

Components: AOSP

Change-Id: I7c58f9151e162769742d75a043d9f5202e72ed14

3 years agoSupport GL 4.5 in geometry/tesselation shader tests
Alexander Galazin [Mon, 14 Dec 2020 13:31:20 +0000 (14:31 +0100)]
Support GL 4.5 in geometry/tesselation shader tests

Components: AOSP

Affects:
dEQP-GLES3*.functional.shaders.*

Change-Id: Ia97075a0ad973307bc7b04d15e7efda0996c31e2

3 years agoSupport GL 4.5 context in the precision and draw tests
Alexander Galazin [Mon, 14 Dec 2020 11:51:26 +0000 (12:51 +0100)]
Support GL 4.5 context in the precision and draw tests

Affects:
dEQP-GLES3*.functional.shaders.builtin_functions.precision.*
dEQP-GLES3*.functional.draw_base_vertex.*

Components: AOSP

Change-Id: I8539b5b31bdbf206d89ef3dc1f74917f655a266b

3 years agoFirst steps towards running ES3.1 functional tests on GL4.5 drivers
Alexander Galazin [Mon, 14 Dec 2020 08:16:53 +0000 (09:16 +0100)]
First steps towards running ES3.1 functional tests on GL4.5 drivers

This commit creates a minimal necessary infastrcuture, e.g. the
package files, but doesn't make any functional changes to the tests.

Components: AOSP, OpenGL

Affects: dEQP-GLES31.*

Change-Id: I22c91224459d390377cdd6fbfc534522d958eb58

3 years agoAllow geometry shader to reorder vertices in dEQP-VK.ray_query.ray_flags.geometry_sha...
Slawomir Cygan [Wed, 23 Dec 2020 16:31:06 +0000 (17:31 +0100)]
Allow geometry shader to reorder vertices in dEQP-VK.ray_query.ray_flags.geometry_shader.* test

This fixes the geometry shader used in the test to allow gl_in[] to start from
arbitrary vertex from the triangle primitive.

According to spec:

"""
24.1. Geometry Shader Input Primitives
...
Vertices may be in a different absolute order to that specified by the topology,
but must adhere to the specified winding order.
"""

The test does some ray query computation in geometry shader, using elements
of gl_in[] as inputs, and storing the outputs in consecutive pixels of storage image.
The test than verifies the image contents using some predefined vertex order.
As gl_in is not queranteed to follow this order, vertex index from vertex shader is now
used to calculate starting index, from which gl_in is iterated.

Components: Vulkan

VK-GL-CTS Issue: 2707

Affects: dEQP-VK.ray_query.ray_flags.geometry_shader.*

Change-Id: I81029d88f5b1f3462a8c5058298ee8a850020d06

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Sat, 19 Dec 2020 09:30:15 +0000 (10:30 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: Iad7afe96f143985ee22ed08108ea3d3565a5915f

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Fri, 18 Dec 2020 16:43:18 +0000 (17:43 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Icb5e7e25ae6236ae1fd13216514d4a414dfaed44

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Fri, 18 Dec 2020 09:48:33 +0000 (10:48 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ie4a7bdf8b1e7b9579112a21a4dbefec8dd20687a

3 years agoRaise min CMake version to 3.10.2
Alexander Galazin [Fri, 1 Nov 2019 11:05:43 +0000 (12:05 +0100)]
Raise min CMake version to 3.10.2

Components: AOSP, Vulkan, OpenGL

Change-Id: I970fc57d8069d87269660b2ccef9df035e524693

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Fri, 18 Dec 2020 08:49:46 +0000 (09:49 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Ib199c6c60ed14c4549a90ad19dcb20a7a5ad1a27

3 years agoFix Renderpass storeOp synchronization hazards
Jeremy Gebben [Thu, 10 Dec 2020 20:20:09 +0000 (13:20 -0700)]
Fix Renderpass storeOp synchronization hazards

Several multisample test groups create Renderpasses where the
first subpass writes to a color attachment, followed by N
subpasses that use the same attachment as an input attachment.

The spec says: "The store operation for each sample in an attachment
happens-after any recorded command which accesses the sample in
the last subpass where the attachment is used."

To avoid SYNC-HAZARD-WRITE-RACING-WRITE or SYNC-HAZARD-WRITE-RACING-READ
errors, the Nth subpass must depend on all prior subpasses.

VK-GL-CTS Issue: 2700

Affects Tests:
dEQP-VK.pipeline.multisample.min_sample_shading.*
dEQP-VK.pipeline.multisample_shader_builtin.*
dEQP-VK.renderpass.suballocation.multisample.*
dEQP-VK.renderpass2.suballocation.multisample.*

Components: Vulkan

Change-Id: I48c1ad2c1f05010ac31e45c513e1d4920216fe52

3 years agoFix back-to-back transfer command synchronization hazards
Jeremy Gebben [Wed, 9 Dec 2020 15:12:25 +0000 (08:12 -0700)]
Fix back-to-back transfer command synchronization hazards

If 2 transfer commands use the same memory, they need a pipeline barrier
between them.

VK-GL-CTS Issue: 2693

Affects Tests:
dEQP-VK.api.image_clearing.core.clear_depth_stencil_image.remaining_array_layers_twostep.*
dEQP-VK.pipeline.timestamp.transfer_tests.*
dEQP-VK.ycbcr.copy_dimensions.*

Components: Vulkan

Change-Id: I91bf74c63275f6e3dd6c383f59d1f4e9c1aa0982

3 years agoSimplify code for subgroup builtin mask tests
Graeme Leese [Thu, 10 Dec 2020 11:49:36 +0000 (11:49 +0000)]
Simplify code for subgroup builtin mask tests

A lot of code was being duplicated, which is now shared. The shaders
were calculating bitCount by looping over the bits, which is less
efficient than using the intrinsic.

The new code is shorter and should be easier to understand and faster to
execute, but there is no functional change.

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

Change-Id: I6ef0d607423aa5cccce17aefeaac8cc1055ec488

3 years agoFix end of Renderpass synchronization hazards
Jeremy Gebben [Wed, 9 Dec 2020 20:38:13 +0000 (13:38 -0700)]
Fix end of Renderpass synchronization hazards

The implicit subpass dependency at the end of a renderpass has
dstStageMask set to VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, which
prevents forming a dependency chain with specific pipeline stages.

To synchronize commands with vkCmdEndRenderPass, use either an
explict external subpass dependency or a pipeline barrier with
srcStageMask set to VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT.

VK-GL-CTS Issue: 2695

Affected tests:

dEQP-VK.pipeline.multisample.sample_locations_ext.*
dEQP-VK.renderpass.suballocation.attachment_sparse_filling.*
dEQP-VK.renderpass.suballocation.subpass_dependencies.*
dEQP-VK.renderpass2.suballocation.attachment_sparse_filling.*
dEQP-VK.renderpass2.suballocation.subpass_dependencies.*

Components: Vulkan

Change-Id: I1b33c128dfdc54705f953f044db9acf1ff6e63e9

3 years agoFix additional RenderPass loadOp/stencilLoadOp sync hazards.
Jeremy Gebben [Mon, 7 Dec 2020 21:06:48 +0000 (14:06 -0700)]
Fix additional RenderPass loadOp/stencilLoadOp sync hazards.

Make sure test cases that use VK_LOAD_OP_LOAD have a barrier
with VK_ACCESS_INPUT_ATTACHMENT_READ_BIT or
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT in the dstAccessMask
before the RenderPass.

VK-GL-CTS Issue: 2690

Affected tests:
dEQP-VK.conditional_rendering.draw_clear.*
dEQP-VK.dynamic_state.ds_state.*
dEQP-VK.pipeline.framebuffer_attachment.*
dEQP-VK.descriptor_indexing.*

Components: Vulkan

Change-Id: I8e6df6f6aa3f63c5ad6b7396d5d395d12ad52201

3 years agoFix RenderPass stencilLoadOp synchronization hazards.
Jeremy Gebben [Thu, 5 Nov 2020 00:12:27 +0000 (17:12 -0700)]
Fix RenderPass stencilLoadOp synchronization hazards.

Fix synchronization validation errors similar to:

"vkCmdBeginRenderPass: Hazard READ_AFTER_WRITE in subpass 0 for
attachment 1 aspect depth during load with loadOp VK_ATTACHMENT_LOAD_OP_LOAD.

Access info (usage: SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ,
prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: ...)"

Load operations for attachments with a depth/stencil format execute in
the VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT pipeline stage.

LOAD_OP_LOAD requires VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT.

VK-GL-CTS Issue: 2690

Affected tests:
dEQP-VK.dynamic_state.rs_state.*
dEQP-VK.geometry.layered.*
dEQP-VK.multiview.renderpass2.depth.*

Components: Vulkan

Change-Id: I9400a50b4ed4c34cc879d1d062ac72d7ae770662

3 years agoFix RenderPass loadOp synchronization hazards.
Jeremy Gebben [Tue, 3 Nov 2020 16:18:14 +0000 (09:18 -0700)]
Fix RenderPass loadOp synchronization hazards.

Fix synchronization validation errors similar to:

"vkCmdBeginRenderPass: Hazard READ_AFTER_WRITE in subpass 0 for
attachment 0 aspect color during load with loadOp
VK_ATTACHMENT_LOAD_OP_LOAD.

Access info (usage: SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ,
prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: ....)"

VK_ATTACHMENT_LOAD_OP_LOAD requires VK_ACCESS_COLOR_ATTACHMENT_READ_BIT.

VK_ATTACHMENT_LOAD_OP_DONT_CARE and VK_ATTACHMENT_LOAD_OP_CLEAR require
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT.

VK-GL-CTS Issue: 2690

Affected Tests:
dEQP-VK.binding_model.descriptorset_random.*
dEQP-VK.binding_model.descriptor_update.samplerless.*
dEQP-VK.renderpass.suballocation.subpass_dependencies.*
dEQP-VK.renderpass2.suballocation.subpass_dependencies.*

Components: Vulkan

Change-Id: Ieff35623329e4993f3745dbb65e6996edd422c31

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 18 Dec 2020 08:06:05 +0000 (09:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I2321a93eaa56abbe87c87680aedd8ceb76b645e1

3 years agoTests for GLES3 number parsing
Mikko Tiusanen [Wed, 4 Nov 2020 08:24:34 +0000 (10:24 +0200)]
Tests for GLES3 number parsing

Added tests for number parsing in GLES3.
Includes new tests for unsigned int literals and float parsing tests
imported from Khronos WebGL Conformance Tests.

New tests:

KHR-GLES3.number_parsing.*

Components: OpenGL

VK-GL-CTS issue: 2176

Change-Id: I96c0d14431b5dd5867808319f08c5a614f40d2e0

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Thu, 17 Dec 2020 15:03:09 +0000 (16:03 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: If26f7fae4e13aff58e233680c755db99879644b3

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Thu, 17 Dec 2020 14:10:25 +0000 (15:10 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I3ed8d5f4de16750c664e4c8908b8b971f48f7593

3 years agoTests for multiple clears within render pass
Mikko Tiusanen [Mon, 12 Oct 2020 14:11:45 +0000 (17:11 +0300)]
Tests for multiple clears within render pass

Adds tests that perform multiple color/depth buffer clears within one
render pass.

New tests:

dEQP-VK.draw.multiple_clears_within_render_pass.*

Component: Vulkan

VK-GL-CTS issue: 2595

Change-Id: Ica79be44cfd540e83dc5c900a8cfd4e0327405a4

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Thu, 17 Dec 2020 13:21:47 +0000 (14:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I004160d9169fcb42a928c10d76b5355dd671e5a8

3 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Thu, 17 Dec 2020 13:20:59 +0000 (14:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Ie1ff8e21a9cffae5e0616204ff3416e490ca0637

3 years agoEnable nullDescriptor for AS ray query tests
Ricardo Garcia [Fri, 30 Oct 2020 15:41:04 +0000 (16:41 +0100)]
Enable nullDescriptor for AS ray query tests

Ray query null acceleration structure tests depend on the nullDescriptor
feature, which is not enabled in the default device. The tests need
custom devices, which implies minor design changes all over the ray
query builtin and advanced tests, due to these tests passing the global
context around and obtaining the test device from it in several
different places.

Affected tests:
dEQP-VK.ray_query.builtin.*
dEQP-VK.ray_query.advanced.*

Components: Vulkan
VK-GL-CTS issue: 2635

Change-Id: Ia5215c625b06c590d9b293e5c4d55b53c98a3e7d

3 years agoAvoid advertising disabled robustness2 features
Ricardo Garcia [Fri, 6 Nov 2020 12:14:27 +0000 (13:14 +0100)]
Avoid advertising disabled robustness2 features

Make sure getRobustness2FeaturesEXT does not advertise a feature as
enabled when, in fact, the feature has been disabled when creating the
default test device in the context. This is consistent with the behavior
that was in place for robustBufferAccess.

In addition, disable image robustness in the default device, to be
consistent with the existing behavior for robustness2 features and
robustBufferAccess.

This means robustness2 and image robustness tests needed to be modified
to stop relying on feature checks from the context, like using
getRobustness2FeaturesEXT, because those will now be reported as not
enabled. In other words, feature getters from the context report
features that are *enabled* on the default device, and not features that
are merely available.

In addition, make robustness2 and image robustness tests use separate
devices when enabling image robustness or robustness2 features, so as to
run image robustness tests without any robustness2 feature.

In addition, require and enable the scalar block layout feature, which
is used to compile every shader in this test group.

Affected tests:
dEQP-VK.robustness.robustness2.*
dEQP-VK.robustness.image_robustness.*

Components: Vulkan
VK-GL-CTS issue: 2634
VK-GL-CTS issue: 2643

Change-Id: I641c0f6f659a89bd12a36da175358d3edc2dfeae
(cherry picked from commit cea5003e0f519dff9d9ce6805a4994ebfde5e4f2)

3 years agoTest dynamic indexing of AS
Piotr Byszewski [Wed, 30 Sep 2020 11:05:34 +0000 (13:05 +0200)]
Test dynamic indexing of AS

Components: Vulkan

VK-GL-CTS issue: 2577

New tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.dynamic_indexing.dynamic_indexing
dEQP-VK.ray_query.acceleration_structures.dynamic_indexing.dynamic_indexing

Affects:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.*
dEQP-VK.ray_query.acceleration_structures.*

Change-Id: Icdb3e7fe1aef34199fa3fecb34f0615531df72c0

3 years agoTest dynamic indexing of ray queries
Ricardo Garcia [Tue, 10 Nov 2020 11:06:15 +0000 (12:06 +0100)]
Test dynamic indexing of ray queries

Create a new test that indexes ray queries in an array using an index
that is dynamic, changing for each invocation with different values
obtained from an SSBO.

New tests:
dEQP-VK.ray_query.misc.dynamic_indexing

Components: Vulkan
VK-GL-CTS issue: 2587

Change-Id: I2e53061ab606a86eb9985ce89b2fd44807aa3b45

3 years agoTest procedural geometry with complex BB sets
Piotr Byszewski [Thu, 5 Nov 2020 08:06:17 +0000 (09:06 +0100)]
Test procedural geometry with complex BB sets

Components: Vulkan

VK-GL-CTS issue: 2594

New tests:
dEQP-VK.ray_*.procedural_geometry.*

Change-Id: Ib720452819c1139aca2bcf653333e6d423e1c139

3 years agoBasic tests for VK_EXT_conservative_rasterization
Boris Zanin [Fri, 26 Jul 2019 10:52:46 +0000 (12:52 +0200)]
Basic tests for VK_EXT_conservative_rasterization

Implementation of basic tests for conservative rasterization.

Add tests:
 * dEQP-VK.rasterization.conservative.*

Affects tests:
 * dEQP-VK.rasterization.*

Components: vulkan

VK-GL-CTS issue: 1676

Change-Id: I5088f0f0eb7e3f44e36b88ba0c9ff74552b93015
(cherry picked from commit 004fb6b7d0803c58f6883c2e7771597b3e200b48)

3 years agoAdd test for image copy special case
Ari Suonpaa [Wed, 2 Dec 2020 10:40:40 +0000 (12:40 +0200)]
Add test for image copy special case

Added a specific image copy test to match a reported issue.

VK-GL-CTS Issue: 2678

New tests:

dEQP-VK.api.copy_and_blit.*.image_to_image.simple_tests.partial_image_npot_diff_format_clear

Components: Vulkan
Change-Id: If6b35a2b62b6ecb44827999d6b4116d57e7a584a

3 years agoFix build for Unices without CLOCK_MONOTONIC_RAW
Liam Middlebrook [Wed, 9 Dec 2020 23:17:26 +0000 (15:17 -0800)]
Fix build for Unices without CLOCK_MONOTONIC_RAW

CLOCK_MONOTONIC_RAW was introduced in Linux 2.6.28 and glibc 2.12. In
order to build the CTS on non-Linux Unices or older Linux distros we
should only compile-in usage of CLOCK_MONOTONIC_RAW when it is available
at build-time.

Components: Vulkan

VK-GL-CTS issue: 2696

Affects:
dEQP-VK.pipeline.timestamp.calibrated.host_domain_test

Change-Id: I937d4ea6350fe0b70c0028d9ae48b9234e425fdf

3 years agovktRayTracingMiscTests.cpp: abs -> fabsf
Robert Morell [Thu, 10 Dec 2020 01:23:48 +0000 (17:23 -0800)]
vktRayTracingMiscTests.cpp: abs -> fabsf

Fixes these errors building for FreeBSD 10.4 with llvm60:
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingMiscTests.cpp:2248:11: error: call to 'abs' is ambiguous
                                                if (abs(currentItem.dataChunk.at(nItem) - static_cast<float>(nRay + nItem)) > 1e-3f)
                                                    ^~~
/usr/include/stdlib.h:83:6: note: candidate function
int      abs(int) __pure2;
         ^
/usr/include/c++/v1/cstdlib:159:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                           ^
/usr/include/c++/v1/cstdlib:161:44: note: candidate function
inline _LIBCPP_INLINE_VISIBILITY long long abs(long long __x) _NOEXCEPT {return llabs(__x);}
                                           ^

VK-GL-CTS issue: 2696

Components: Vulkan

Affects:
dEQP-VK.ray_tracing_pipeline.misc.callableshaderstress*

Change-Id: I0be12116f368d02251a7b1d6a560d1ff898f78dd

3 years agoAdd tests for GLES3 vector construction from other types
Mikko Tiusanen [Fri, 13 Nov 2020 14:13:30 +0000 (16:13 +0200)]
Add tests for GLES3 vector construction from other types

Added tests for GLES3 vector construction from compatible data types with
more than one component.

Components: OpenGL

New tests: KHR-GLES3.shaders.glsl_constructors.*

VK-GL-CTS issue: 2178

Change-Id: If7fab5d0e950cc6c9d1dc39c32413e176df06e2f

3 years agooglcts-runner: Include cstdlib in glcTestRunnerMain
Robert Morell [Thu, 10 Dec 2020 02:08:40 +0000 (18:08 -0800)]
oglcts-runner: Include cstdlib in glcTestRunnerMain

To pick up the definitions of EXIT_SUCCESS/EXIT_FAILURE.

Fixes these errors building on FreeBSD 10.4 with llvm60:
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:115:19: error: use of undeclared identifier 'EXIT_SUCCESS'
        int exitStatus = EXIT_SUCCESS;
                         ^
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:136:19: error: use of undeclared identifier 'EXIT_FAILURE'
                                        exitStatus = EXIT_FAILURE;
                                                     ^

Components: OpenGL

VK-GL-CTS issue: 2696

Change-Id: I918f3de12dde8871df8905f5870c3d6c73ae8048
(cherry picked from commit a3087b1818e7310757304574da1e021e9578438b)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Thu, 10 Dec 2020 14:07:11 +0000 (15:07 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I90d7ded1d0fb76225a2f07354b76f1111bca7e2b

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 10 Dec 2020 13:30:11 +0000 (14:30 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ifc19d39f8f561171fabb3598587dec9822e37dc2

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Thu, 10 Dec 2020 11:25:34 +0000 (12:25 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: I26d8e8bb5762056542f865c62fb4e09fe2d9df8b

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 10 Dec 2020 11:04:34 +0000 (12:04 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I71fc9c2f2a1132010379b79b0ca2445f57c5055c

3 years agoRemove cov-fold-div-uniform-by-zero
Alexander Galazin [Thu, 10 Dec 2020 10:19:36 +0000 (11:19 +0100)]
Remove cov-fold-div-uniform-by-zero

The test relies on undefined behavior

Components: Vulkan

VK-GL-CTS issue: 2691

Affects: dEQP-VK.graphicsfuzz.cov-fold-div-uniform-by-zero

Change-Id: Id5703afdf8aeb544b601184b91463a5cf0a7c532

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Alexander Galazin [Thu, 10 Dec 2020 09:30:44 +0000 (10:30 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6

Change-Id: Ib50bbe4e7c82ff147376432d2bf474348e38d952

3 years agooglcts-runner: Include cstdlib in glcTestRunnerMain
Robert Morell [Thu, 10 Dec 2020 02:08:40 +0000 (18:08 -0800)]
oglcts-runner: Include cstdlib in glcTestRunnerMain

To pick up the definitions of EXIT_SUCCESS/EXIT_FAILURE.

Fixes these errors building on FreeBSD 10.4 with llvm60:
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:115:19: error: use of undeclared identifier 'EXIT_SUCCESS'
        int exitStatus = EXIT_SUCCESS;
                         ^
/root/nvt/tests/buildvulkancts/vk-gl-cts/external/openglcts/modules/runner/glcTestRunnerMain.cpp:136:19: error: use of undeclared identifier 'EXIT_FAILURE'
                                        exitStatus = EXIT_FAILURE;
                                                     ^

Components: OpenGL

VK-GL-CTS issue: 2696

Change-Id: I918f3de12dde8871df8905f5870c3d6c73ae8048

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Wed, 9 Dec 2020 17:12:11 +0000 (18:12 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: Ic90f2a909e9eda6abcd8bdd5f714ae385e6027d7

3 years agoFix instance creation
Joerg Wagner [Sat, 5 Dec 2020 12:12:10 +0000 (13:12 +0100)]
Fix instance creation

Pass parameters in the right order when
creating a temporary instance to allow
tests to be skipped when features are not
supported.

Affects: dEQP-VK.api.external.semaphore.sync_fd.import_signaled_temporary
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

Components: Vulkan
VK-GL-CTS issue: 2689

Change-Id: Iba9490debc4870f158b30295930783e2291c4f77

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Wed, 9 Dec 2020 12:37:57 +0000 (13:37 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Id23124bcd500db5ddbc6da9beb2f94239d52cd55

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Wed, 9 Dec 2020 09:57:03 +0000 (10:57 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Icdf3698545ae26c2b9c2bcbd1d7adcfc2a14fc28

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Wed, 9 Dec 2020 08:54:46 +0000 (09:54 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Id9f7774598b101e0f88ce933f347aadffcd7c73d

3 years agoRemove travis.yml
Alexander Galazin [Wed, 9 Dec 2020 08:52:05 +0000 (09:52 +0100)]
Remove travis.yml

Components: Framework

Change-Id: I14bcef09f4c198dc14c56c304cbc1199b4110ce2

3 years agoAdd drawing tests for Android hardware buffer based color buffer
Ari Suonpaa [Wed, 18 Nov 2020 12:28:18 +0000 (14:28 +0200)]
Add drawing tests for Android hardware buffer based color buffer

These new tests cover drawing to a color buffer imported from
an Android hardware buffer. Both single layer and multi layer
variants have been added.

VK-GL-CTS Issue: 2623

New tests:

dEQP-VK.draw.ahb.triangle_list*

Components: Vulkan
Change-Id: Ia859803a11aeb934dfa41f45b2b912051c8925e2

3 years agoTest data spilling and unspilling around RT shader calls
Ricardo Garcia [Wed, 18 Nov 2020 09:58:43 +0000 (10:58 +0100)]
Test data spilling and unspilling around RT shader calls

The new test group contains tests that check different types of data can be
accessed before and after a shader call instruction. This includes:

* Integers and floats in different sizes and formats, and pointers to them.
* Structures and pointers to them.
* Images, samplers, sampled images and pointers to them.
* OpImageTexelPointers.
* Values containing OpNullConstant and OpUndef.
* Shader interfaces (ray payloads, callable data and hit attributes).
* Shader Record Buffer objects.

New tests:
dEQP-VK.ray_tracing_pipeline.data_spill.*

Components: Framework, Vulkan
VK-GL-CTS issue: 2388

Change-Id: Idfe48314154585a7ac1d3bb4a29c10075a826f5d

3 years agoAdd new tests that verify IgnoreIntersection/TerminateRay corner cases.
Dominik Witczak [Mon, 12 Oct 2020 11:49:43 +0000 (13:49 +0200)]
Add new tests that verify IgnoreIntersection/TerminateRay corner cases.

New tests:
dEQP-VK.ray_tracing_pipeline.misc.Op*

Components: Vulkan
VK-GL-CTS issue: 2607

Change-Id: Iee671f0e3f9036d477e2f30d96a1ccfcf55fe831

3 years agoTest maxPipelineRayRecursionDepth can be zero
Ricardo Garcia [Tue, 17 Nov 2020 09:16:50 +0000 (10:16 +0100)]
Test maxPipelineRayRecursionDepth can be zero

Make sure implementations support passing zero as the
maxPipelineRayRecursionDepth parameter when creating a ray tracing
pipeline.

New tests:
dEQP-VK.ray_tracing_pipeline.misc.recursiveTraces_*_0

Affected tests:
dEQP-VK.ray_tracing_pipeline.misc.recursiveTraces_*

Components: Vulkan
VK-GL-CTS issue: 2426

Change-Id: I8c72c9cd5ce427e490e8826bc6b3da47de8e0413

3 years agoEnable YCbCr filtering tests for non-separable chroma
Graeme Leese [Wed, 25 Nov 2020 11:46:13 +0000 (11:46 +0000)]
Enable YCbCr filtering tests for non-separable chroma

These tests were added in order to test implementations which did not
support separate chroma filters, but they were not run on those
implementations.

Components: Vulkan
VK-GL-CTS issue: 2239
Affects: dEQP-VK.ycbcr.filtering.*

Change-Id: Id6be0148517f2384179f3544a32d478c165b802b

3 years agoRemove cov-fold-div-variable-by-zero
Alexander Galazin [Tue, 8 Dec 2020 09:10:35 +0000 (10:10 +0100)]
Remove cov-fold-div-variable-by-zero

The test relies on undefined behavior

Components: Vulkan

VK-GL-CTS issue: 2691

Affects: dEQP-VK.graphicsfuzz.cov-fold-div-variable-by-zero

Change-Id: I56f7e34bb237184b53c60b8074d19e16c400fff7

3 years agoFix clang 10.0 build of ray tracing control flow tests
Slawomir Cygan [Mon, 7 Dec 2020 17:19:25 +0000 (18:19 +0100)]
Fix clang 10.0 build of ray tracing control flow tests

The build fails due to -Werror,-Wunused-const-variable warning.
the PUSH_CONSTANTS_COUNT constant is used only in debug builds.

Components: Vulkan

Change-Id: I6ee3920619109024cb9ba29c0d22722d0069d91d
(cherry picked from commit d64576958e0195bb9029ac7ffab9717afb9ddffa)

3 years agoFix clang 10.0 build of ray tracing control flow tests
Slawomir Cygan [Mon, 7 Dec 2020 17:19:25 +0000 (18:19 +0100)]
Fix clang 10.0 build of ray tracing control flow tests

The build fails due to -Werror,-Wunused-const-variable warning.
the PUSH_CONSTANTS_COUNT constant is used only in debug builds.

Components: Vulkan

Change-Id: I6ee3920619109024cb9ba29c0d22722d0069d91d

3 years agoRemove merge conflict markers from mandatory_features.txt
Slawomir Cygan [Mon, 7 Dec 2020 14:31:05 +0000 (15:31 +0100)]
Remove merge conflict markers from mandatory_features.txt

Also fixes same spacing.

Components: Vulkan, Framework
Change-Id: Ia1822f58ed05dc6348b72f2b0711fd60b62beedf

3 years agoVulkan Portability support
Jan Mroczkowski [Thu, 12 Mar 2020 12:33:50 +0000 (13:33 +0100)]
Vulkan Portability support

Components: Framework, Vulkan

Affects:
dEQP-VK.*

Change-Id: I90aac5ec24b4a47063d5d0faaa9f68edd65f1d58

3 years agoDisable conflicting fragment shading rate features
Piotr Byszewski [Mon, 23 Nov 2020 09:48:06 +0000 (10:48 +0100)]
Disable conflicting fragment shading rate features

Features of VK_EXT_fragment_density_map and VK_NV_shading_rate_image cannot
be enabled at the same time as features of VK_KHR_fragment_shading_rate.

Instead if the VK_KHR_fragment_shading_rate features are enabled then
disable the VK_EXT_fragment_density_map and VK_NV_shading_rate_image features
and use a temporary device with them enabled for testing.

Components: Vulkan, Framework

VK-GL-CTS Issue: 2665

Affects: *

Change-Id: I544c021ed963bd453635283282a6a272383e448e

3 years agoSelect SPIR-V for the robustness' compute shaders
Tony Zlatinski [Tue, 1 Dec 2020 23:54:21 +0000 (17:54 -0600)]
Select SPIR-V for the robustness' compute shaders

Use SPIR-V v1.3 instead of SPIR-V v1.4 ShaderBuildOptions
for the compute shaders of the robustness tests using 64-bit formats.
Apparently, SPIR-V v1.4 is not required for those shaders.
Otherwise, the SPIR-V validation fails on Vulkan v1.1 devices
such as Android.
For tests that do not require/test 64-bit formats,
fall back to using SPIR-V v1.0.

Components: Vulkan

VK-GL-CTS issue: 2679

Affects:
dEQP-VK.robustness.*.comp

Change-Id: I6054682e7dbc4460595a8264338a04ee36f9e3d1
(cherry picked from commit 9f0afc24c74fa608e1993f7ec342053949f152d8)

3 years agoFix buffer offsets in push descriptor tests
Ricardo Garcia [Thu, 26 Nov 2020 16:35:07 +0000 (17:35 +0100)]
Fix buffer offsets in push descriptor tests

This commit fixes push descriptor tests that were updating storage
buffer descriptors using offset values that may not have been multiples
of minStorageBufferOffsetAlignment.

In addition, it fixes image layout problems with some of these tests
that were causing validation errors.

Finally, it introduces the de::gcd and de::lcm functions to calculate
the greatest common divisor and least common multiple of two numbers.
These are useful when calculating alignments that need to meet several
base alignment requirements.

Affected tests:
dEQP-VK.pipeline.push_descriptor.*

Components: Framework, Vulkan
VK-GL-CTS issue: 2661

Change-Id: I36bcaf6114994ec5b42bcd5acc11340f079823dd
(cherry picked from commit 0f25191c03f324762437615d961bad978b9d5e15)

3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 7 Dec 2020 13:47:52 +0000 (14:47 +0100)]
Update Vulkan headers

Components: Vulkan

Change-Id: Ic1bb4c95c106a29b966997bfcd8b6d7054983ecf

3 years agoSelect SPIR-V for the robustness' compute shaders
Tony Zlatinski [Tue, 1 Dec 2020 23:54:21 +0000 (17:54 -0600)]
Select SPIR-V for the robustness' compute shaders

Use SPIR-V v1.3 instead of SPIR-V v1.4 ShaderBuildOptions
for the compute shaders of the robustness tests using 64-bit formats.
Apparently, SPIR-V v1.4 is not required for those shaders.
Otherwise, the SPIR-V validation fails on Vulkan v1.1 devices
such as Android.
For tests that do not require/test 64-bit formats,
fall back to using SPIR-V v1.0.

Components: Vulkan

VK-GL-CTS issue: 2679

Affects:
dEQP-VK.robustness.*.comp

Change-Id: I6054682e7dbc4460595a8264338a04ee36f9e3d1

3 years agoFix buffer offsets in push descriptor tests
Ricardo Garcia [Thu, 26 Nov 2020 16:35:07 +0000 (17:35 +0100)]
Fix buffer offsets in push descriptor tests

This commit fixes push descriptor tests that were updating storage
buffer descriptors using offset values that may not have been multiples
of minStorageBufferOffsetAlignment.

In addition, it fixes image layout problems with some of these tests
that were causing validation errors.

Finally, it introduces the de::gcd and de::lcm functions to calculate
the greatest common divisor and least common multiple of two numbers.
These are useful when calculating alignments that need to meet several
base alignment requirements.

Affected tests:
dEQP-VK.pipeline.push_descriptor.*

Components: Framework, Vulkan
VK-GL-CTS issue: 2661

Change-Id: I36bcaf6114994ec5b42bcd5acc11340f079823dd

3 years agoDestroy deferred ops before destroying devices
Ricardo Garcia [Fri, 30 Oct 2020 14:04:56 +0000 (15:04 +0100)]
Destroy deferred ops before destroying devices

Many ray tracing tests were creating deferred operations with
vkCreateDeferredOperationKHR but not destroying them after being used. To fix
that, operations are created using the createDeferredOperationsKHR wrapper that
returns vk::Move objects.

Affected tests:
dEQP-VK.ray_tracing_pipeline.pipeline_library.*_dho*
dEQP-VK.ray_tracing_pipeline.build.cpuht_*
dEQP-VK.ray_tracing_pipeline.large_shader_set.cpu_ht.*
dEQP-VK.ray_query.acceleration_structures.*.cpu_built.*
dEQP-VK.ray_tracing_pipeline.*.cpu_built.*

Components: Vulkan
VK-GL-CTS issue: 2639

Change-Id: I0ce4e18548fdcf93e3363754c534b1dd6676aed9
(cherry picked from commit 75334af0029ec95fea2f7eaee2d79a07b5473a82)

3 years agoDestroy deferred ops before destroying devices
Ricardo Garcia [Fri, 30 Oct 2020 14:04:56 +0000 (15:04 +0100)]
Destroy deferred ops before destroying devices

Many ray tracing tests were creating deferred operations with
vkCreateDeferredOperationKHR but not destroying them after being used. To fix
that, operations are created using the createDeferredOperationsKHR wrapper that
returns vk::Move objects.

Affected tests:
dEQP-VK.ray_tracing_pipeline.pipeline_library.*_dho*
dEQP-VK.ray_tracing_pipeline.build.cpuht_*
dEQP-VK.ray_tracing_pipeline.large_shader_set.cpu_ht.*
dEQP-VK.ray_query.acceleration_structures.*.cpu_built.*
dEQP-VK.ray_tracing_pipeline.*.cpu_built.*

Components: Vulkan
VK-GL-CTS issue: 2639

Change-Id: I0ce4e18548fdcf93e3363754c534b1dd6676aed9