platform/upstream/VK-GL-CTS.git
3 years agoChange gradient generator for pipeline image tests
Ari Suonpaa [Tue, 26 Jan 2021 09:30:04 +0000 (11:30 +0200)]
Change gradient generator for pipeline image tests

Pipeline image tests were initializing images with a
gradient generator which used a single image dimension
per channel (i.e. red channel depending only on x).
This was problematic when testing formats that were not
using all the channels. For example layer tests were
still passing for R16 formats even when sampling was
forced to always use layer 0 because the layer index
was encoded in a missing blue channel.

There was another gradient generator available that
encoded all coordinates into each channel solving
this problem.

VK-GL-CTS Issue: 2525

Affects:

dEQP-VK.pipeline.image.*

Components: Vulkan
Change-Id: Ie5ff0ddc5c373577952a4240bd10e10b9f25507b

3 years agoAdd tests for multisample texture size
Graeme Leese [Fri, 8 Jan 2021 12:48:00 +0000 (12:48 +0000)]
Add tests for multisample texture size

textureSize was not being tested for multisample, sampled images so add
some simple tests. These are copied from the single-sample textureSize
tests and will try out a few different size textures for each supported
sample count.

Components: Vulkan
VK-GL-CTS issue: 2730
New tests: dEQP-VK.glsl.texture_functions.query.texturesizems.*

Change-Id: I26a9d0310b8acc79acc59879a1ef8f6143ca463a

3 years agoFix memory scope in OpControlBarrier tests
Piotr Byszewski [Wed, 27 Jan 2021 13:40:25 +0000 (14:40 +0100)]
Fix memory scope in OpControlBarrier tests

Workgroup Memory Scope is not allowed in TessellationControl
execution model (VUID-StandaloneSpirv-None-04639). This change
replaces Workgroup memory scope with Invocation scope.

Components: Vulkan

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

Change-Id: Icf2e950a68528f1959a2fefd86dffdde97e150c5

3 years agoVK_KHR_fragment_shading_rate pixel consistency
Marcin Kańtoch [Tue, 11 Aug 2020 13:43:15 +0000 (15:43 +0200)]
VK_KHR_fragment_shading_rate pixel consistency

Pixel selection consistency tests

New tests:
dEQP-VK.fragment_shading_rate.pixel_consistency*

Components: Vulkan
VK-GL-CTS Issue: 2397

Change-Id: I3a1b10da7ef3a0897d78c9352c5373f6d4e5fae0

3 years agoAdjust texture data and threshold
liruoyu [Tue, 3 Nov 2020 08:31:17 +0000 (16:31 +0800)]
Adjust texture data and threshold

Affects:
dEQP-GLES3.functional.texture.wrap.*
dEQP-GLES2.functional.texture.wrap.*

Components: OpenGL

VK-GL-CTS issue: 2589

Root cause:
We treat all variable which have relaxed precision decoration as half precision value.
1. When run in repeat&linear mode, sampling texture edge will get an
unexpect result.
2. When run in nearest mode, threshold is 2/256, but texture gradient is
2/255. so, if target texel's deviation more then 1, will get a fail
result.

Solution:
1. Adjust texture data, make the difference between two adjacent texel under 2/256
in per-channel.
2. Adjust threshold to 2/255 in RGBA_8888 mode, adjust threshold to (1 + 256/16) in RGBA_4444 mode.
3. Adjust texture data, make the texture gradient like a pyramid in
repeat mode.

Change-Id: I2382d36bdeb227e81d0d0b8f76f61d26a00f0fcd

3 years agoFix validation in mismatched format tests
Ricardo Garcia [Fri, 22 Jan 2021 15:40:00 +0000 (16:40 +0100)]
Fix validation in mismatched format tests

This commit fixes several issues:

* The sparse image was being created before checking if that was
  possible.

* The image was not correctly transferred to the general layout before
  being used.

* Avoid creating a color image view for depth and depth/stencil images.

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

Components: Vulkan
VK-GL-CTS issue: 2751

Change-Id: Ia5496c77f2b6275afdf381238751fc9c0e4bcb20

3 years agoTest descriptor set layout binding ordering
Vihanakangas [Wed, 16 Sep 2020 10:58:39 +0000 (13:58 +0300)]
Test descriptor set layout binding ordering

This change verifies that when vkCreateDescriptorSetLayout()
specifies binding number N+M before binding N,
for dynamic buffers, the offsets are applied correctly.
The second part of this change tests that if dstBinding has fewer than
descriptorCount array elements remaining starting from dstArrayElement,
then the remainder will be used to update the subsequent binding.

New tests:

dEQP-VK.api.descriptor_set.descriptor_set_layout_binding.update_subsequent_binding
dEQP-VK.api.descriptor_set.descriptor_set_layout_binding.layout_binding_order

Components: Vulkan

VK-GL-CTS issue: 2334

Change-Id: I447e51e62f224e3a50b018266915a1bbaba7fb5e

3 years agoAdd descriptor update stress test
Ari Suonpaa [Mon, 18 Jan 2021 11:31:54 +0000 (13:31 +0200)]
Add descriptor update stress test

A new test is added where descriptor writes are randomly
generated between draw calls.

VK-GL-CTS Issue: 2728

New tests: dEQP-VK.binding_model.descriptor_update.random.uniform_buffer

Components: Vulkan
Change-Id: I1f7e1b13d111d62890b030093d9795a86975afaa

3 years agoCoverage tests for undefined values
Antto Mäkinen [Tue, 19 Jan 2021 11:13:41 +0000 (13:13 +0200)]
Coverage tests for undefined values

A batch of tests from GraphicsFuzz that achieve extra coverage
on various targets, and that specifically invoke operations that
can produce undefined results, but don't lead to undefined behavior.
In each case, the outcome of the test does not depend on the result
of an undefined value.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-apfloat-mix-nan
dEQP-VK.graphicsfuzz.cov-apfloat-mod-zero
dEQP-VK.graphicsfuzz.cov-apfloat-sinh-negative-log2
dEQP-VK.graphicsfuzz.cov-asin-undefined-smoothstep
dEQP-VK.graphicsfuzz.cov-bitfieldExtract-undefined
dEQP-VK.graphicsfuzz.cov-bitfieldinsert-undefined
dEQP-VK.graphicsfuzz.cov-bitfieldreverse-left-shift-findmsb
dEQP-VK.graphicsfuzz.cov-const-folding-pow-large-exp
dEQP-VK.graphicsfuzz.cov-dag-combiner-clamp-undefined-access-array
dEQP-VK.graphicsfuzz.cov-fract-smoothstep-undefined
dEQP-VK.graphicsfuzz.cov-fragcoord-clamp-array-access
dEQP-VK.graphicsfuzz.cov-ldexp-undefined-mat-vec-multiply
dEQP-VK.graphicsfuzz.cov-pow-undefined
dEQP-VK.graphicsfuzz.cov-sinh-ldexp
dEQP-VK.graphicsfuzz.cov-undefined-inversesqrt-reflect
dEQP-VK.graphicsfuzz.cov-x86-isel-lowering-determinant-exp-acos

Change-Id: Iec0a643fd19806b52c77bd570a52b7ce849cd2bb

3 years agoTest attributes beyond static vertex stride
Ricardo Garcia [Fri, 4 Dec 2020 13:12:48 +0000 (14:12 +0100)]
Test attributes beyond static vertex stride

Add some new tests that use dynamic vertex strides and vertex attributes
that start beyond the original static stride specified in the binding.

New tests:
dEQP-VK.pipeline.extended_dynamic_state.*large_stride*

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

Components: Vulkan
VK-GL-CTS issue: 2686

Change-Id: I81bd2dd6a10b8072aa535fa41a1b864c8d26e954

3 years agoCheck for astc_sliced_3d extension in negative API tests
Graeme Leese [Thu, 21 Jan 2021 13:55:22 +0000 (13:55 +0000)]
Check for astc_sliced_3d extension in negative API tests

The ASTC sliced_3d extension allows support of 3D ASTC textures using 2D
blocks (interpreted as XxYx1 blocks of the 3D texture). That makes
passing the 2D ASTC format enums with a texture target of TEXTURE_3D
legal, so update the negative API tests to allow that case.

Components: OpenGL
VK-GL-CTS issue: 2741
Affects: dEQP-GLES3.functional.negative_api.texture.compressedteximage3d_invalid_astc_target
         dEQP-GLES3.functional.negative_api.texture.texstorage3d_invalid_astc_target

Change-Id: Ifd3c54d2819d11c3e771ad4a98682e266c27da41

3 years agoDisable dithering in nearest edge test cases
Ricardo Garcia [Fri, 22 Jan 2021 10:39:45 +0000 (11:39 +0100)]
Disable dithering in nearest edge test cases

This commits disables dithering in the nearest edge test cases so the
tests can correctly work with less than 8 bits per pixel.

Affected tests:
KHR-GL*.nearest_edge.*

Components: OpenGL
VK-GL-CTS issue: 2748

Change-Id: I906d7973be1a77e598135b3ed0dde5d671ba0ba7

3 years agoCheck sparse image format support before creation
Ricardo Garcia [Wed, 13 Jan 2021 11:10:16 +0000 (12:10 +0100)]
Check sparse image format support before creation

Check the implementation supports sparse images before creating them
using any of the sparse image flags.

Affected tests:
dEQP-VK.renderpass*.sparserendertarget.*

Components: Vulkan
VK-GL-CTS issue: 2721

Change-Id: Ifadad2c2d490d5685a4fa0a40776926d541a0c49

3 years agoAdditional conditional rendering tests
Ricardo Garcia [Tue, 22 Dec 2020 11:11:14 +0000 (12:11 +0100)]
Additional conditional rendering tests

New variants of conditional rendering tests:

* Check that the condition value is being read as a 32-bit value, with
  all bytes being taken into account but without using data stored
  before or after the condition.

* Check that the conditional rendering inheritance flag on secondary
  command buffers does not affect results when the primary command
  buffer does not use conditional rendering.

New tests:
dEQP-VK.conditional_rendering.dispatch.condition_size.*
dEQP-VK.conditional_rendering.*.condition_secondary_buffer_inherited_*

Renamed tests:
from dEQP-VK.conditional_rendering.*.no_condition_secondary_buffer_expect_execution.*
to   dEQP-VK.conditional_rendering.*.no_condition_secondary_buffer_inherited_expect_execution.*

Affected tests:
dEQP-VK.conditional_rendering.*

Components: Vulkan
VK-GL-CTS issue: 2705

Change-Id: I77f9ba5803771a981a0c5c6c0641bb4570ed72f9

3 years agoExpand tests for image queries of null descriptors
Eleni Maria Stea [Tue, 12 Jan 2021 11:14:06 +0000 (12:14 +0100)]
Expand tests for image queries of null descriptors

This commit adds the following checks:

* textureQueryLod with null image descriptors.
* textureQueryLevels with null image descriptors.
* textureSize with null image descriptors and negative LODs.
* textureSize with null image descriptors and very large LODs.

Affects tests:
dEQP-VK.robustness.robustness2.*.sampled_image.*.null_descriptor.*

Components: Vulkan
VK-GL-CTS issue: 2659

Change-Id: I0ffdc5aa65dc927c0d057356c11ef901ff5bcb47
Co-authored-by: Ricardo Garcia <rgarcia@igalia.com>
3 years agoStop dEQP-GL45 tests falling back to ES3.1
Graeme Leese [Thu, 21 Jan 2021 17:16:41 +0000 (17:16 +0000)]
Stop dEQP-GL45 tests falling back to ES3.1

The ES3.1 context creation code accepted an apiType parameter but would
always fall back to ES3.1 if the apiType that was requested was not
supported. (This used to be used to create an ES3.2 context where
supported). This meant that the new dEQP-GL45.* tests would run on an ES
implementation using an ES3.1 context.

Make the behaviour of dEQP-GL45.* consistent with the KHR-GL* tests by
failing to create a context if the requested apiType is not supported.
The old fallback behaviour is moved to the dEQP-GLES31 test package,
which is where the strange fallback requirement comes from anyway.

Components: OpenGL
VK-GL-CTS issue: 2747
Affects: dEQP-GL45.*

Change-Id: Ie5ef92c708a28211a007589c0f4aa49ad7d745e1

3 years agoAdd VariablePointerFeatures requirement for amber test requiring it
Alejandro Piñeiro [Thu, 14 Jan 2021 14:22:47 +0000 (15:22 +0100)]
Add VariablePointerFeatures requirement for amber test requiring it

The amber script is requiring it. Without the test would raise a
internal error for drivers that don't support variable pointers.

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

Components: Vulkan

VK-GL-CTS Issue: 2732

Change-Id: I5e72caf05ad852000d0a7438162d08a4e2942470

3 years agoAvoid querying YCbCr combined sampler count in RGBA
Alejandro Piñeiro [Wed, 13 Jan 2021 08:31:04 +0000 (09:31 +0100)]
Avoid querying YCbCr combined sampler count in RGBA

Several YCbCr query tests try to obtain the value of
combinedImageSamplerDescriptorCount for RGBA formats without checking if
the implementation actually supports VK_KHR_sampler_ycbcr_conversion or
the samplerYcbcrConversion feature.

On the one hand, obtaining that value for RGBA formats may not be
completely right due to the spec description supposing the format would
be a multiplanar format.

On the other hand, if the implementation conforms to Vulkan 1.0 and does
not support the extension, the structure will be ignored and
combinedImageSamplerDescriptorCount will be zero, resulting in wrong
behavior when creating a descriptor pool and allocating a descriptor
set from it.

Affects:
dEQP-VK.ycbcr.query.*r8g8b8a8_unorm*

Components: Vulkan
VK-GL-CTS Issue: 2724

Change-Id: I8660ccd5bdbb2e12133f76855049e9efcacc7888

3 years agoCheck unsupported formats with sparse AMD bias/lod
Ricardo Garcia [Tue, 12 Jan 2021 15:23:20 +0000 (16:23 +0100)]
Check unsupported formats with sparse AMD bias/lod

The specified format may not support the required layout or flags, so
vkGetPhysicalDeviceImageFormatProperties2 may return
VK_ERROR_FORMAT_NOT_SUPPORTED and the tests should be skipped as not
supported instead of failing.

Affected tests:
dEQP-VK.glsl.texture_gather.*amd_*

Components: Vulkan
VK-GL-CTS issue: 2722

Change-Id: I195598fc5b645c5faad150700fdba6caad7be52c

3 years agoAdd command line option for filtering by runner
Mika Väinölä [Wed, 16 Dec 2020 11:25:54 +0000 (13:25 +0200)]
Add command line option for filtering by runner

Add --deqp-runner-type with three possible values:
 * `any` for running all tests (default)
 * `none` for excluding tests using any runner
 * `amber` for only running tests using Amber

Components: Framework

VK-GL-CTS issue: 2640

Change-Id: I733d45dadcb9b12a241ec6a03fdd51653a940c74

3 years agoFix a Graphicsfuzz coverage test not to depend on an undefined value
Antto Mäkinen [Thu, 17 Dec 2020 09:37:51 +0000 (11:37 +0200)]
Fix a Graphicsfuzz coverage test not to depend on an undefined value

The final color was set based on comparison against an undefined value.

Components: Vulkan

Affects:
dEQP-VK.graphicsfuzz.cov-inst-combine-compares-ldexp

VK-GL-CTS Issue: 2687

Change-Id: I6d64ab568769c99c824a5a0163b052200df3c6cd

3 years agodEQP-VK.graphicsfuzz.cov-tail-duplicator-infinite-loops
Antto Mäkinen [Thu, 17 Dec 2020 12:34:34 +0000 (14:34 +0200)]
dEQP-VK.graphicsfuzz.cov-tail-duplicator-infinite-loops

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-tail-duplicator-infinite-loops

Change-Id: I24ac09b51408f2e244328f2b90dc6821a6cdce1b

3 years agoAdd FrexpStruct comparison tests
Mika Väinölä [Mon, 3 Aug 2020 09:34:32 +0000 (12:34 +0300)]
Add FrexpStruct comparison tests

Add tests for comparing the output of Frexp and FrexpStruct with 32-bit
floats and vectors as input.

New tests:
dEQP-VK.spirv_assembly.instruction.*.float32.comparison_*.frexpstruct*

Components: Vulkan

VK-GL-CTS issue: 1729

Change-Id: Idd2a58a3978de391b1d446a28063749a91ddfd25

3 years agoUse target environment for Amber shaders
Ari Suonpaa [Tue, 12 Jan 2021 13:03:12 +0000 (15:03 +0200)]
Use target environment for Amber shaders

Amber test case class had SPIR-V version 1.0 hard coded
as the target version for GLSL shader compilation. This
change uses the target version specified by the Amber
shader if one is found. Currently no Amber tests in CTS
have the version specified, but this change prepares
for future tests where a higher version of SPIR-V is
required.

VK-GL-CTS Issue: 2719

New tests: None

Components: Framework
Change-Id: Icac3cf3c5920b3c9740a600ebb1d639e6e21c302

3 years agoAdd gitattributes
Alexander Galazin [Thu, 21 Jan 2021 16:50:19 +0000 (17:50 +0100)]
Add gitattributes

Change-Id: Iea1ea7bf7a4953ad30d4c1ebd82d91b7c861b1b2

3 years agoTest negative depthBiasClamp values
Piotr Byszewski [Fri, 25 Dec 2020 15:53:46 +0000 (16:53 +0100)]
Test negative depthBiasClamp values

Components: Vulkan

VK-GL-CTS issue: 2493

Affects:
dEQP-VK.draw.inverted_depth_ranges.*

Change-Id: Id29d51e86102f4f39019a360cb8cf8a645f4fe06

3 years agoThreshold Consistency for ES2 FBO Tests
Kyle Griffiths [Thu, 7 Jan 2021 11:38:11 +0000 (11:38 +0000)]
Threshold Consistency for ES2 FBO Tests

ES3 and 3.1 tests both use the same fuzzycompare threshold value
for their FBO tests, whereas ES2 uses a smaller value despite
having the same coarse formats that require the high threshold.

This change adjusts the ES2 FBO Render Test threshold to match
the value set for ES3 and ES3.1

Affects:

dEQP-GLES2.functional.fbo.render.*

Components: GLES2

VK-GL-CTS Issue: 2715

Change-Id: I15203e1ecf45081ec27baee59b780c5bdf5aacaf

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Alexander Galazin [Thu, 21 Jan 2021 11:02:38 +0000 (12:02 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I621b79a228765f2cba40fb2380f4dee8bcea5eda

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Alexander Galazin [Thu, 21 Jan 2021 10:06:32 +0000 (11:06 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: If73591d2f5f70df124f2e49560acaf767da9af0e

3 years agoSupport GL 4.5 in the GetTexLevelParameter tests
Alexander Galazin [Thu, 7 Jan 2021 10:50:49 +0000 (11:50 +0100)]
Support GL 4.5 in the GetTexLevelParameter tests

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

Components: AOSP

Change-Id: I9b469695a35a3329bfb09fd06ac86d745e7f2e41

3 years agoSupport GL 4.5 in the multisample interpolation states tests
Alexander Galazin [Thu, 7 Jan 2021 10:45:19 +0000 (11:45 +0100)]
Support GL 4.5 in the multisample interpolation states tests

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

Components: AOSP

Change-Id: I671f88d6eef70370c8fb273e8e442a33a9923f4b

3 years agoSupport GL 4.5 in the Shader state query tests
Alexander Galazin [Thu, 7 Jan 2021 10:43:43 +0000 (11:43 +0100)]
Support GL 4.5 in the Shader state query tests

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

Components: AOSP

Change-Id: Icb2e494fdc84881ff782a0740a4cee8d44cd5b7b

3 years agoSupport GL 4.5 in the Stencil texturing tests
Alexander Galazin [Thu, 7 Jan 2021 10:40:18 +0000 (11:40 +0100)]
Support GL 4.5 in the Stencil texturing tests

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

Components: AOSP

Change-Id: Ief959e61332bf1f773d3ef5e627c1e1593f127ad

3 years agoSupport GL 4.5 in the Synchronization tests
Alexander Galazin [Thu, 7 Jan 2021 10:38:37 +0000 (11:38 +0100)]
Support GL 4.5 in the Synchronization tests

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

Components: AOSP

Change-Id: Iade2a6cc0e6547548429b8b0dbfea19efe01215b

3 years agoSupport GL 4.5 in various multisample tests
Alexander Galazin [Wed, 30 Dec 2020 09:47:27 +0000 (10:47 +0100)]
Support GL 4.5 in various multisample tests

Affects:
dEQP-GLES31.functional.shaders.sample_variables.*
dEQP-GLES31.functional.sample_shading.*
dEQP-GLES31.functional.shaders.multisample_interpolation.*
dEQP-GL45.functional.shaders.sample_variables.*
dEQP-GL45.functional.sample_shading.*
dEQP-GL45.functional.shaders.multisample_interpolation.*

Components: AOSP

Change-Id: I4a7dce72401f32544ff6c4b93ae42733c9916c5c

3 years agoFix ReadPixels format
Cheryl Wei [Mon, 4 Jan 2021 07:23:46 +0000 (15:23 +0800)]
Fix ReadPixels format

Pass implementation format to ReadPixels when pixel format is 8,8,8,0
because some implementations treat RGB8 as RGBA8888 which causes these
tests to fail.

Affected tests:
KHR-GLES3.core.nearest_edge.offset_*
KHR-GLES31.core.nearest_edge.offset_*

Components: OpenGL ES
VK-GL-CTS issue: 2712

Change-Id: I6ce92f19d2e329c75ca5fc6800092af623e25829
(cherry picked from commit 780408248fd9e84162f7f6ccf94677952ab0d0da)

3 years agoFix ReadPixels format
Cheryl Wei [Mon, 4 Jan 2021 07:23:46 +0000 (15:23 +0800)]
Fix ReadPixels format

Pass implementation format to ReadPixels when pixel format is 8,8,8,0
because some implementations treat RGB8 as RGBA8888 which causes these
tests to fail.

Affected tests:
KHR-GLES3.core.nearest_edge.offset_*
KHR-GLES31.core.nearest_edge.offset_*

Components: OpenGL ES
VK-GL-CTS issue: 2712

Change-Id: I6ce92f19d2e329c75ca5fc6800092af623e25829

3 years agoSupport GL 4.5 in the Texture buffer syncronization tests
Alexander Galazin [Wed, 6 Jan 2021 09:12:38 +0000 (10:12 +0100)]
Support GL 4.5 in the Texture buffer syncronization tests

Affects:
dEQP-GLES31.functional.texture.texture_buffer.*
dEQP-GL45.functional.texture.texture_buffer.*

Components: AOSP

Change-Id: I5894eb4a15120dfcd838aae9d2a2c658e4e3ea21

3 years agoSupport GL 4.5 in the Texture Specification Tests
Alexander Galazin [Wed, 6 Jan 2021 09:07:03 +0000 (10:07 +0100)]
Support GL 4.5 in the Texture Specification Tests

Affects:
dEQP-GLES31.functional.texture.specification.*
dEQP-GL45.functional.texture.specification.*

Components: AOSP

Change-Id: Ib693409a0fe93770055675b3b566d30cdc48046f

3 years agoSupport GL 4.5 in the Query vertex attribute binding state tests
Alexander Galazin [Wed, 6 Jan 2021 09:04:32 +0000 (10:04 +0100)]
Support GL 4.5 in the Query vertex attribute binding state tests

Affects:
dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed.vertex_binding_offset_mixed
dEQP-GL45.functional.state_query.vertex_attribute_binding.indexed.vertex_binding_offset_mixed

Components: AOSP

Change-Id: I0b41a86313eae36e618eec61c84b7500dc9d9098

3 years agoAdd minimum nonUniform tests to descriptor indexing texts
Greg Fischer [Tue, 29 Dec 2020 23:52:09 +0000 (16:52 -0700)]
Add minimum nonUniform tests to descriptor indexing texts

In some cases glslangValidator generates more nonUniform
decorations in the SPIR-V than is needed by the
descriptor_indexing extension. These new tests use SPIR-V
shaders to be sure that only the minimum nonUniform
decorations are in the shaders. This tests that drivers
can handle these cases.

VK-GL-CTS Issue: 2268

Affected Tests:

dEQP-VK.descriptor_indexing.storage_buffer_minNonUniform
dEQP-VK.descriptor_indexing.storage_texel_buffer_minNonUniform
dEQP-VK.descriptor_indexing.uniform_texel_buffer_minNonUniform
dEQP-VK.descriptor_indexing.uniform_buffer_minNonUniform
dEQP-VK.descriptor_indexing.combined_image_sampler_minNonUniform
dEQP-VK.descriptor_indexing.combined_image_sampler_with_lod_minNonUniform
dEQP-VK.descriptor_indexing.storage_image_minNonUniform

Components: Vulkan

Change-Id: I99d1803cff733ef85f190162526c3f9792202b09

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Alexander Galazin [Tue, 19 Jan 2021 10:36:01 +0000 (11:36 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master

Change-Id: I262a7230e9bcfec6c8f45de81703a622b20586a1

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Tue, 19 Jan 2021 08:43:57 +0000 (09:43 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ib85f3f1d09837872f49aac5a12faa47711f85c60

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Tue, 19 Jan 2021 07:52:28 +0000 (08:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: If89eb86767d45eebe9d5b2009d7e3e8d34c549d4

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

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

Components: AOSP

Change-Id: Idd7a2d553cca2b0d502b492d4f09d5180f917a2e

3 years agoSupport GL 4.5 in the Shader Image Load & Store Tests
Alexander Galazin [Thu, 31 Dec 2020 08:44:01 +0000 (09:44 +0100)]
Support GL 4.5 in the Shader Image Load & Store Tests

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

Components: AOSP

Change-Id: I7737ade0fa14b799c21c9b702dfedb26dae14935

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 agoVK_KHR_fragment_shading_rate tests
Jeff Bolz [Tue, 23 Jun 2020 04:11:08 +0000 (23:11 -0500)]
VK_KHR_fragment_shading_rate tests

New tests: dEQP-VK.fragment_shading_rate.*
Affects: dEQP-VK.fragment_shader_interlock.*

Components: Vulkan
VK-GL-CTS Issue: 2397

Change-Id: I776d80f671e14610f9206bc2e1e696d3a49cc121
(cherry picked from commit f04111312c90f2e3db79bc3eacc692ab2fe028b0)

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

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

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 heap read out of bounds in RenderPass tests.
Charles Johnston [Thu, 7 Jan 2021 15:00:48 +0000 (10:00 -0500)]
Fix heap read out of bounds in RenderPass tests.

Pass the correct size of the buffer to uploadBufferData.

Affected tests:
dEQP-VK.renderpass*.attachment_allocation.*
dEQP-VK.renderpass*.suballocation.*

Components: Vulkan
VK-GL-CTS issue: 2708

Change-Id: Ib498be09f1c8437e8080c5b5f3a12d8b7a25a262

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