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
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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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
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
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
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
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
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
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
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
Alexander Galazin [Thu, 21 Jan 2021 16:50:19 +0000 (17:50 +0100)]
Add gitattributes
Change-Id: Iea1ea7bf7a4953ad30d4c1ebd82d91b7c861b1b2
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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"
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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