Tom Cooper [Mon, 20 Jul 2020 09:53:28 +0000 (11:53 +0200)]
Add VK_EXT_headless_surface surface tests
Adds vulkan_headless target which uses VK_EXT_headless_surface
for swapchain surface creation.
New tests:
dEQP-VK.image.swapchain_mutable.headless.*
dEQP-VK.wsi.headless.*
dEQP-VK.protected_memory.interaction.wsi.headless.*
Components: Vulkan
VK-GL-CTS issue: 2825
Change-Id: I21536c41c839b7bb795f05a17cbea68f8125133a
Junda Liu [Tue, 9 Mar 2021 08:21:32 +0000 (16:21 +0800)]
Fix robust buffer access result checking for partially out of bound cases
The spec says:
Out-of-bounds buffer loads will return any of the following values:
...
Values from anywhere within the memory range(s) bound to the buffer (possibly including bytes of memory past the end of the buffer, up to the end of the bound range).
...
So partially out of bound load may return memory content for the in bound part. E.g., loading a 64-bit value from a buffer with 3B size (allocated 4B size), the first 4B can be value within the buffer.
Affected tests:
dEQP-VK.robustness.buffer_access.through_pointers.*
Change-Id: I1fab8d3819cf4d5935904a1c7762c3660c67379b
Tapani Pälli [Tue, 16 Feb 2021 14:58:19 +0000 (16:58 +0200)]
Use linear tiling with external_memory_host tests
With linear, app can query the image's memory layout with
vkGetImageSubresourceLayout. With optimal tiling there is no way for app
to query or provide memory layout, therefore we must use linear.
Component: Vulkan
Affects: dEQP-VK.memory.external_memory_host*
VK-GL-CTS issue: 2794
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I71e97a937415abe6170e6edd81eaec26a5c68867
Ancheng Qiao [Mon, 22 Feb 2021 10:25:25 +0000 (18:25 +0800)]
Fix precision issue in NearestEdgeTests shaders
We should also use the calculated offset in shader.
Affects:
KHR-GLES32.core.nearest_edge.*
Components: OpenGL ES
VK-GL-CTS issue: 2651
Change-Id: I9427d3a95a98e3be58dd7ea16a2bf96822f33450
Alexander Galazin [Wed, 17 Mar 2021 15:53:06 +0000 (18:53 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Change-Id: I8e05ada30678a379a588756779ae4faf6a41851c
Alexander Galazin [Wed, 17 Mar 2021 15:26:27 +0000 (18:26 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: If51e7d93c6b84f7d3fde339f35ae351d8443a7ce
Alexander Galazin [Wed, 17 Mar 2021 14:28:28 +0000 (17:28 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: Id84d297899a981b1fae39d923280446925730cd0
Graeme Leese [Thu, 4 Mar 2021 21:29:59 +0000 (21:29 +0000)]
Enable shadow filtering tests for non-filterable formats
The spec says that you don't need to be able to filter the actual format
in order to filter the results of a shadow comparison. Enable this in
the texture tests.
Component: Vulkan
VK-GL-CTS issue: 2834
Affects: dEQP-VK.texture.shadow.*
Change-Id: I0879d8e77b84493d0be9677e9b4811a240c812b5
Ricardo Garcia [Tue, 9 Mar 2021 10:12:37 +0000 (11:12 +0100)]
Add BGR and BGRA formats to image view tests
Test image views, including sampling and swizzling, with BGR and BGRA
formats so as to make sure the ordering of color components in image
memory does not affect the meaning of color component names.
New tests:
dEQP-VK.pipeline.image_view.*b8g8r8*
Components: Vulkan
VK-GL-CTS issue: 2841
Change-Id: I6005ab518e78d40d3e590882ebdedc102fb70d38
Alexander Galazin [Wed, 17 Mar 2021 13:01:48 +0000 (16:01 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: I6bad956acaf784565692e1ea539a219064deed57
Alexander Galazin [Wed, 17 Mar 2021 12:24:52 +0000 (15:24 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Change-Id: I2a972a234184ede3227a4dc55758407a447483f0
Alexander Galazin [Wed, 17 Mar 2021 12:14:31 +0000 (15:14 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I64b979022925b98680602154ad32b13080a04871
Alexander Galazin [Wed, 17 Mar 2021 11:34:22 +0000 (14:34 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Ied31bf3a3891e6809c3472c70598ac7448a31066
Alexander Galazin [Wed, 17 Mar 2021 11:33:21 +0000 (14:33 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: If6077d356659193696b2e41c318b5bda2f5ca1d1
Jari Komppa [Fri, 19 Feb 2021 12:59:04 +0000 (14:59 +0200)]
Add tests for standard multisample positions
This set of tests renders a triangle per multisample position
and then checks whether the correct colors can be found in
the samples.
New tests:
dEQP-VK.pipeline.multisample.standardsampleposition.*
Components: Vulkan
VK-GL-CTS issue: 2755
Change-Id: I79e941f330952b0473c978554f178c09bfc84af2
Ricardo Garcia [Thu, 25 Feb 2021 14:55:55 +0000 (15:55 +0100)]
Push constant overwrite tests
Add tests that update constant data ranges using multiple commands and
vary data values between draw or dispatch calls.
In addition, add a convenience function to create compute pipelines.
Many other tests use a similar custom function, but this commit does not
attempt to replace previous uses.
New tests:
dEQP-VK.pipeline.push_constant.*.overwrite
Components: Vulkan
VK-GL-CTS issue: 2805
Change-Id: I4358250940639a0812aeb81c51649ebb27c8bd8d
Ricardo Garcia [Mon, 1 Mar 2021 13:59:22 +0000 (14:59 +0100)]
Test large command buffers with many draw commands
Test recording a large number of draw commands in primary and secondary
command buffers, making sure every command is recorded and executed
properly.
New tests:
dEQP-VK.api.command_buffers.record_many_draws_*
Components: Vulkan
VK-GL-CTS issue: 2813
Change-Id: Ife8957242fd5a0babc5e525f28a4014d46b29d3d
Ricardo Garcia [Tue, 2 Mar 2021 08:49:27 +0000 (09:49 +0100)]
Test barycentric coordinates in ray tracing hits
Add some tests to check the reported barycentric coordinates both in hit
attributes when ray tracing and also in ray queries have the expected
values and correspond to factors b and c in the barycentric coordinates
equation:
p = a pa + b pb + c pc
New tests:
dEQP-VK.ray_tracing_pipeline.barycentric_coordinates.*
dEQP-VK.ray_query.barycentric_coordinates.*
Components: Vulkan
VK-GL-CTS issue: 2812
Change-Id: I1beba46045ea4efdfe7dab2318c331c4046d2d1d
Ricardo Garcia [Fri, 5 Mar 2021 11:49:13 +0000 (12:49 +0100)]
Add missing mandatory features
This commit fixes several missing mandatory feature checks:
* shaderSampledImageArrayDynamicIndexing was missing as mandatory when
descriptorIndexing is supported.
* Ditto for shaderStorageBufferArrayDynamicIndexing.
* The ray tracing extensions were missing many mandatory features.
Affected tests:
dEQP-VK.info.device_mandatory_features
Components: Vulkan
VK-GL-CTS issue: 2829
Change-Id: I90896df608cdca228fb357b2feabc4deea393db2
Vihanakangas [Mon, 23 Nov 2020 13:23:34 +0000 (15:23 +0200)]
Ensure WSI colorspace has no effect on image contents
This test makes sure that rendering is invariant
with regards to the swapchain colorspace.
Fixes validation errors on dEQP-VK.wsi.*.colorspace.* tests.
Affects:
dEQP-VK.wsi.*.colorspace.*
New tests:
dEQP-VK.wsi.*.colorspace_compare.*
Components: Vulkan
VK-GL-CTS issue: 1915
Change-Id: Ic8d4c52e182bbef73c1cfe85be9ea054545c86d8
Tapani Pälli [Wed, 3 Mar 2021 07:47:56 +0000 (09:47 +0200)]
reset minSampleShading only with OpenGL Core 4.0+
This fixes crashes seen with many tests when context state is
reset and gl.minSampleShading is NULL.
Affects: KHR-GL*
Components: OpenGL
VK-GL-CTS issue: 2827
Fixes: 327ee5674 ("Support GL 4.5 in various multisample tests")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I4b67a30264d4bdb6de8a5f7e811ae8bb8ee8a696
Alexander Galazin [Tue, 16 Mar 2021 11:07:53 +0000 (14:07 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Change-Id: Id15497476682a03dd2b2fe4c0e5f9ea5d27d27e7
Alexander Galazin [Mon, 22 Feb 2021 09:14:11 +0000 (10:14 +0100)]
Update Vulkan/GL Readme
Update the Readme files to point to the new
submission verifcation script
Components: Vulkan, OpenGL
Change-Id: I6fb35a383fcc49e543ae67822be22d744c5fcd9c
(cherry picked from commit
412f5a3363eb228ca1a63be337de172a2e622571)
Alexander Galazin [Mon, 22 Feb 2021 09:14:11 +0000 (10:14 +0100)]
Update Vulkan/GL Readme
Update the Readme files to point to the new
submission verifcation script
Components: Vulkan, OpenGL
Change-Id: I6fb35a383fcc49e543ae67822be22d744c5fcd9c
(cherry picked from commit
412f5a3363eb228ca1a63be337de172a2e622571)
Alexander Galazin [Tue, 16 Mar 2021 06:57:18 +0000 (09:57 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Change-Id: I49df5c172965f67acfc561b8055a6fe9dd4c75de
Alexander Galazin [Tue, 16 Mar 2021 06:16:52 +0000 (09:16 +0300)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: Ia707d071b963951d00f6836be3f24fd1a0877cca
Alexander Galazin [Mon, 15 Mar 2021 15:50:59 +0000 (18:50 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I07fc25f375c0228279e54582fc909876a370d251
Alexander Galazin [Mon, 15 Mar 2021 14:58:34 +0000 (17:58 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I78e06ea1256567bd761e1ffa5678338eb1f7aa85
Alexander Galazin [Mon, 15 Mar 2021 14:09:42 +0000 (17:09 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: I15d9b2b0dbaab175d891a824c190198bbcda1b20
Alexander Galazin [Mon, 15 Mar 2021 12:55:47 +0000 (15:55 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: Iccb63bb8842b2d3b8ae22b78853a0534500aebdf
Ricardo Garcia [Fri, 5 Mar 2021 15:31:07 +0000 (16:31 +0100)]
Enable validation for all custom devices
This commit changes some tests that use custom devices so they rely on
the custom device helper functions to create these custom devices with
the validation layers enabled if requested from the command line.
In addition, some "createDevice" functions are renamed so a simple
search for "createDevice" only reports uses of the createDevice instance
interface method and RefUtil helper function.
The affected tests should only behave differently with validation
enabled. Running these tests without validation should not result in any
changes.
Affected tests:
dEQP-VK.api.buffer_marker.*
dEQP-VK.api.info.vulkan1p2.feature_bits_influence
dEQP-VK.draw.concurrent.compute_and_triangle_list
dEQP-VK.ray_tracing_pipeline.capture_replay.*
dEQP-VK.synchronization*.signal_order.*
dEQP-VK.synchronization.timeline_semaphore.*
dEQP-VK.synchronization2.timeline_semaphore.*
Components: Vulkan
VK-GL-CTS issue: 2835
Change-Id: I6e8028428faa69d92ab9a8a0e8ba25540d04810f
Ricardo Garcia [Fri, 5 Mar 2021 12:17:57 +0000 (13:17 +0100)]
Remove multiview requirement in extended dyn state tests
VK_KHR_multiview was wrongly being required for extended dynamic states
using several viewports, when the only needed check is to verify the
number of viewports does not exceed the maxViewports limit.
Affected tests:
dEQP-VK.pipeline.extended_dynamic_state.*2_viewports*
dEQP-VK.pipeline.extended_dynamic_state.*2_scissors*
Components: Vulkan
VK-GL-CTS issue: 2832
Change-Id: I72b2c09153ed2303b7d64bdd78c756ddfa838137
Boris Zanin [Mon, 8 Mar 2021 10:25:12 +0000 (11:25 +0100)]
Fix recursion depth requirement in complexcontrolflow
Checks recursion depth required is supported
(i.e. is lower than maxRayRecursionDepth).
Also properly specifies maxPipelineRayRecursionDepth
in VkRayTracingPipelineCreateInfoKHR.
Updates tests:
* dEQP-VK.ray_tracing_pipeline.complexcontrolflow.*.trace_ray.chit
* dEQP-VK.ray_tracing_pipeline.complexcontrolflow.*.trace_ray.miss
Affects tests:
* dEQP-VK.ray_tracing_pipeline.complexcontrolflow.*
Components: Vulkan
VK-GL-CTS issue: 2836
Change-Id: Ieb2854e3980ac729344a780dc4efaaf7a33c64a0
Ricardo Garcia [Tue, 9 Mar 2021 11:55:36 +0000 (12:55 +0100)]
Check image extent support in watertightness tests
"Closed fan" watertightness ray tracing tests may use 3D images with
large depth dimensions that go over the minimum value for the maximum
depth as required by the spec, so they need to check if such an extent
is supported.
Additionally, this commit fixes two other issues:
* The result verification logic was incorrect for cases with quality
warnings (i.e. when the miss shader was executed).
* Output buffer memory invalidation triggered validation errors in some
implementations due to not using VK_WHOLE_SIZE when attempting to
invalidate the whole range.
Affected tests:
dEQP-VK.ray_tracing_pipeline.watertightness.*
Components: Vulkan
VK-GL-CTS issue: 2833
Change-Id: I607dd9d46f5212a71cf109a711e418ae05011b69
Boris Zanin [Mon, 8 Mar 2021 14:49:41 +0000 (15:49 +0100)]
Read deserealization size from stream
Deserialization should read deserialized data size
from serialized data stream, rather than use serialized
data size. To allow reading of this data from stream
command buffer recording should be completed and restarted.
Updates tests:
* dEQP-VK.ray_tracing_pipeline.acceleration_structures.operations.serialization.*
* dEQP-VK.ray_tracing_pipeline.capture_replay.acceleration_structures.serialization.*
* dEQP-VK.ray_query.acceleration_structures.operations.*.serialization.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2545
Change-Id: I460d82ae9ebfe8e43f24b4478154854a01491602
Graeme Leese [Thu, 25 Feb 2021 17:40:04 +0000 (17:40 +0000)]
Fix flush/invalidate in mismatched_write_op tests
The memory flush/invalidate logic was incorrect, causing memory updates
to be lost. Having access functions do invalidates makes it difficult to
reuse the code (because the accessor can only be used when no writes are
outstanding, but this is not obvious from the naming), so put these
operations explicitly in around the device commands that need them.
Components: Vulkan
VK-GL-CTS issue: 2817
Affects: dEQP-VK.image.mismatched_write_op.mismatched_vector_sizes.*
Change-Id: I594c6dd9911b2d2a21b2ba88e9570eb4fe09ebd4
Graeme Leese [Thu, 25 Feb 2021 17:17:53 +0000 (17:17 +0000)]
Fix sync validation for mismatched_write_op tests
The pipeline stages and accesss bits were incorrect in some cases and
the validation layer was complaining about write-after-write hazards.
Components: Vulkan
VK-GL-CTS issue: 2817
Affects: dEQP-VK.image.mismatched_write_op.mismatched_vector_sizes.*
Change-Id: I254ab3b65342552d71fd3890da271e8586eb1fab
Tapani Pälli [Tue, 2 Mar 2021 09:43:57 +0000 (11:43 +0200)]
Check if image sample count supported by VkSampleCountFlags
There might be limitations based on format, usage and sample count set.
VK-GL-CTS Issue: 2824
Components: Vulkan
Affects: dEQP-VK.synchronization.cross_instance.*multisample*
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I4702f7df809671f78183fc647d183d7838bf31c3
Ricardo Garcia [Mon, 22 Feb 2021 15:03:35 +0000 (16:03 +0100)]
Always accumulate errors in desc set random tests
Tests using DEPENDENT and RUNTIME_SIZE index types were overwriting the
value of the accumulated error with each load operation. This has two
problems:
* Sometimes the result of a load operation would not be used in the next
load operation. This happens when the next descriptor to check is not
an array. In these cases the implementation may remove load
operations, which means they would not be checked.
* As long as the implementation does not crash and the last load
operation works as expected, the implementation was allowed to load
incorrect values in those operations, because only the last load would
be taken into account to decide if the output storage image will have
a "good" or "bad" value.
This commit makes all test variants accumulate errors in the "accum"
variable that's used at the end of each test.
Affected tests:
dEQP-VK.binding_model.descriptorset_random.*
Components: Vulkan
VK-GL-CTS issue: 2763
Change-Id: I4de1bd4525d378b5ec2b7aad3faae81d956a9d7d
Shahbaz Youssefi [Wed, 24 Feb 2021 03:13:34 +0000 (22:13 -0500)]
Fix missing barrier in compute test
The test does:
- Draw with transform feedback
- Dispatch using the same buffer as storage buffer
This is a WaR hazard that needs a glMemoryBarrier.
VK-GL-CTS issue: 2809
Affects:
KHR-GLES31.core.compute_shader.pipeline-post-xfb
KHR-GL43.compute_shader.pipeline-post-xfb
KHR-GL44.compute_shader.pipeline-post-xfb
KHR-GL45.compute_shader.pipeline-post-xfb
KHR-GL46.compute_shader.pipeline-post-xfb
Change-Id: I18202640e307490352c0c6a6f42e145b054aedd8
Shahbaz Youssefi [Fri, 19 Feb 2021 19:44:01 +0000 (14:44 -0500)]
Fix missing barrier in texture buffer test
The test does:
- Draw with transform feedback
- Dispatch using the same buffer as imageBuffer
This is a WaR hazard that needs a glMemoryBarrier.
VK-GL-CTS issue: 2809
Affects:
KHR-GLES31.core.texture_buffer.texture_buffer_operations_transform_feedback
Change-Id: Id092229708421002fe1b8df38028f9c6a359c242
Ari Suonpaa [Fri, 19 Feb 2021 13:42:56 +0000 (15:42 +0200)]
Replace libUI with native Android AHB API
EGL AHB tests were using libUI which isn't accessible
using public Android builds. This change maps to the
public AHB API in a similar way Vulkan CTS is already
doing.
The supported AHB formats differ from the libUI ones,
so the tested formats have also changed.
VK-GL-CTS Issue: 2785
Affects:
dEQP-EGL.functional.image.*
Components: EGL, Framework
Change-Id: Ieb9e88106c3a4c42e516f71a0c48d99ca8a59a90
Ari Suonpaa [Mon, 22 Feb 2021 12:30:21 +0000 (14:30 +0200)]
Update Amber
Amber was updated to include a fix for Vulkan pointer
loading that broke CTS when using Vulkan 1.0 device.
VK-GL-CTS Issue: 2802
Affects: All Amber tests
Components: Vulkan, Framework
Change-Id: I2ceaa8b569112f2e32e8a3a4e74d82ef1e4d0a67
(cherry picked from commit
e3a5a50e44c4d078d8fd2b97c6a9b4fecc97d1ce)
Graeme Leese [Tue, 23 Feb 2021 18:12:28 +0000 (18:12 +0000)]
Add a waiver for depth bias on some Broadcom GPUs
VK-GL-CTS issue: 2804
Components: Vulkan
Change-Id: I85498d58d5701d6c86392efd9eb0a189e26eea54
Alexander Galazin [Mon, 22 Feb 2021 09:14:11 +0000 (10:14 +0100)]
Update Vulkan/GL Readme
Update the Readme files to point to the new
submission verifcation script
Components: Vulkan, OpenGL
Change-Id: I6fb35a383fcc49e543ae67822be22d744c5fcd9c
Ari Suonpaa [Mon, 22 Feb 2021 12:30:21 +0000 (14:30 +0200)]
Update Amber
Amber was updated to include a fix for Vulkan pointer
loading that broke CTS when using Vulkan 1.0 device.
VK-GL-CTS Issue: 2802
Affects: All Amber tests
Components: Vulkan, Framework
Change-Id: I2ceaa8b569112f2e32e8a3a4e74d82ef1e4d0a67
Alexander Galazin [Wed, 10 Mar 2021 07:35:45 +0000 (10:35 +0300)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Ib3539ff9e52891171eb4cac8cc569390adb5d425
Mika Väinölä [Mon, 8 Feb 2021 11:01:23 +0000 (13:01 +0200)]
Allow wildcards in waiver vendor strings
Use wildcard matching instead of exact string comparison for GL
waiver vendor attributes. Use "Google*" prefix for ANGLE XFB
waiver and remove a duplicate ANGLE waiver.
VK-GL-CTS issue: 2770
Components: Framework, OpenGL
Change-Id: I0ffc54af6aaa4c562bf1e8b5077e365da71f9a3e
(cherry picked from commit
074fc201162b347720c4ba3a013101837edf2a8d)
Paul Thomson [Wed, 3 Mar 2021 12:29:11 +0000 (12:29 +0000)]
Fix bad merge in DeqpTestRunner.java
Components: Android
Change-Id: Ib557d85deb85dc528fde2765e8c6442bffe67fc4
Toni Salmivalli [Thu, 26 Nov 2020 12:44:05 +0000 (14:44 +0200)]
Add a batch of Graphicsfuzz tests
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.stable-binarysearch-tree-fragcoord-less-than-zero
dEQP-VK.graphicsfuzz.stable-colorgrid-modulo-double-always-false-discard
dEQP-VK.graphicsfuzz.stable-mergesort-for-always-false-if-discard
Change-Id: I684c033f23f167334a6f3b69653ac8450c936eb0
Ricardo Garcia [Tue, 2 Mar 2021 12:17:20 +0000 (13:17 +0100)]
Ray query hitT direction length tests
Add tests to check the hit distance is proportional to length of the
direction vector specified when using ray queries.
New tests:
dEQP-VK.ray_query.direction_length.*
Components: Vulkan
VK-GL-CTS issue: 2776
Change-Id: If83b97a5f32a565d6000904f4a70483e3d5b6445
Lionel Landwerlin [Thu, 11 Feb 2021 21:17:37 +0000 (23:17 +0200)]
Verify submit with wait on timeline semaphore with 0 value
We have test that verifies a vkWaitSemaphores() on a timeline
semaphore value of 0. Because a timeline semaphore always has a 0
value initially, the wait should return immediately.
We can also verify that a vkQueueSubmit on the same semaphore value is
not blocked on anything.
VK-GL-CTS Issue: 1827
Affects: dEQP-VK.synchronization.timeline_semaphore.device_host.misc.initial_value
Change-Id: Ifcfe053206e9f5f836aa25c7b6edd8fa7fdfb540
Piotr Byszewski [Thu, 18 Feb 2021 16:25:07 +0000 (17:25 +0100)]
Test timeline semaphore with two threads
This test waits for timeline semaphore on first thread
and signals it from second thread. Next this is repeated
but other way around.
Components: Vulkan
VK-GL-CTS issue: 2514
New test:
dEQP-VK.synchronization.basic.timeline_semaphore.two_threads
Change-Id: I6df83b03683ecb0115110c229da5e758591c5198
Alexander Galazin [Sat, 6 Mar 2021 10:02:20 +0000 (13:02 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Change-Id: Ia5144460255a06cadbf70faa9f7f30d00526a8e9
Alexander Galazin [Fri, 5 Feb 2021 10:45:31 +0000 (11:45 +0100)]
Support GL 4.5 in the Texture Filtering Tests
Components: AOSP
Affects:
dEQP-GLES31.functional.texture.filtering.*
dEQP-GL45.functional.texture.filtering.*
Change-Id: I2951a60bc628ee891e410091a7ee7e1eb6d6b00b
Alexander Galazin [Fri, 5 Feb 2021 10:32:07 +0000 (11:32 +0100)]
Support GL 4.5 in the sRGB skip decode tests
Components: AOSP
Affects:
dEQP-GLES31.functional.srgb_texture_decode.skip_decode.*
dEQP-GL45.functional.srgb_texture_decode.skip_decode.*
Change-Id: Ica1dcf5ddf61b104f749b10c84501cc2182768f7
Ilkka Saarelainen [Thu, 25 Feb 2021 07:29:33 +0000 (09:29 +0200)]
Use SPV_KHR_physical_storage_buffer extension
dEQP-VK.spirv_assembly.instruction.compute.physical_pointers.compute.*
tests were using SPV_EXT_physical_storage_buffer extension, while
SPV_KHR_physical_storage_buffer should be used instead. Using the old
EXT-version causes validation errors, because the related Vulkan
extension VK_EXT_buffer_device_address is not enabled.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.physical_pointers.compute.*
Components: Vulkan
VK-GL-CTS issue: 2808
Change-Id: Ic870fe32a81f6dbacb72c4f0d95e8f62e6e72ee3
Boris Zanin [Thu, 11 Feb 2021 12:31:20 +0000 (13:31 +0100)]
Fix build indirect structure tests
Incorrect number of instances has been specified for
top level structure.
Affected tests:
* dEQP-VK.ray_tracing_pipeline.indirect.build_structure
Components: Vulkan
VK-GL-CTS issue: 2767
Change-Id: I11f9c42dd5d1b919c8de250abdae426c9c584a69
Sławomir Cygan [Fri, 26 Feb 2021 12:34:23 +0000 (13:34 +0100)]
Fix reordering vertices in geometry shader in ray_query AS test
This fixes the shader to write reordered vertice data into sequential
(unordered) store image indices
The change from
48f12336 was incomplete and misses the change to
the image store indices.
Components: Vulkan
VK-GL-CTS Issue: 2764
Affects: dEQP-VK.ray_query.acceleration_structures.*.geometry_shader.*
Change-Id: Ifd51d77e94c607e860e5c9efdefe2cb5a5ee97ff
Marcin Kańtoch [Thu, 25 Feb 2021 16:23:31 +0000 (17:23 +0100)]
Fix source blit image size
Changed the way source blit image size is calculated,
so that in all circumstances width > 0 and height > 0.
Affects:
dEQP-VK.memory.pipeline_barrier.host_read_transfer_dst.1024
Components: Vulkan
VK-GL-CTS issue: 2816
Change-Id: Id23a8e613b013e9e40b0075822b80c78b9ca418c
Sean Risser [Fri, 26 Feb 2021 19:46:50 +0000 (14:46 -0500)]
Fix wrong semaphore type being queried
Signal order tests were always checking for external timeline
semaphore support even for binary semaphore tests.
Affects:
dEQP-VK.synchronization.signal_order.*
Components: Vulkan
Google bug:
180025687
VK-GL-CTS public issue: 242
Change-Id: Ic15cb246a5cf8919282c16568bac2ec109c5fdbc
Ricardo Garcia [Fri, 26 Feb 2021 09:26:13 +0000 (10:26 +0100)]
Fix fragment shading rate validation errors
The depth/stencil attachment was not being transitioned properly to
VK_IMAGE_LAYOUT_GENERAL.
Affected tests:
dEQP-VK.fragment_shading_rate.fragdepth.*
dEQP-VK.fragment_shading_rate.fragstencil.*
Components: Vulkan
VK-GL-CTS issue: 2815
Change-Id: Id2a64d79c9368227dc137863f66be6293c3d6aba
Mohd Faisal [Thu, 18 Feb 2021 16:53:53 +0000 (16:53 +0000)]
Fix missing check for supported device features
This change add the feature check for shaderInt64 which was missing.
Adding capability and types for Int64 only for 64 bit images.
Removed the float64 capability and types, not used.
VK-GL-CTS Issue: 2807
Affects: dEQP-VK.image.mismatched_write_op.*
Components: Vulkan
Change-Id: I82d7b6a2f629147156fc15884286e6c085043177
Tom Cooper [Fri, 19 Feb 2021 15:11:50 +0000 (15:11 +0000)]
Allow OOM for maxImageExtent swapchain cases
Do not report a quality warning for swapchain creation failure with OOM
when the swapchain extent is VkSurfaceCapabilitiesKHR::maxImageExtent.
This aligns dEQP-VK.wsi.*.swapchain.simulate_oom.image_extent with
dEQP-VK.wsi.*.swapchain.create.image_extent changes from
https://gerrit.khronos.org/c/vk-gl-cts/+/4084.
Affects: dEQP-VK.wsi.*.swapchain.simulate_oom.image_extent
Components: Vulkan
VK-GL-CTS issue: 2806
Change-Id: I38ebb72a2121734d4917de630efeb7e445556940
Ilkka Saarelainen [Wed, 17 Feb 2021 11:33:22 +0000 (13:33 +0200)]
Decrease required subgroup size
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point
test assumed that the subgroupSize is >= 8. The test failed if the
supported subgroupSize is less than 8.
This CL lowers the required subgroup size to 4.
Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point
Components: Vulkan
VK-GL-CTS issue: 2698
Change-Id: I9931dab7a57c0b6b73530e72bca0c0d9cc90f87d
Sławomir Cygan [Wed, 17 Feb 2021 16:32:38 +0000 (17:32 +0100)]
Add needed extension and feature checks in mismatched_write_op test
This change adds required extension and feature checks for the extensions
and capabilites used by the shader in this test.
Moreover, this change removes enabling of SPV_EXT_shader_image_int64
extension where not needed, so some test cases would run on implementations
not supporting it.
VK-GL-CTS Issue: 2796
Affects: dEQP-VK.image.mismatched_write_op.*
Components: Vulkan
Change-Id: I8cd908048e97c65f667b50f7fd9b52d937184608
Piotr Byszewski [Mon, 15 Feb 2021 13:37:45 +0000 (14:37 +0100)]
Fix decoration_group tests
Specification states that: Variable decorated with Invariant must
only be identified with the Input or Output storage class in Vulkan
environment. Purpose of the test wasn't to test invariance, but to
use three decorations on group3. This change replaces Invariant
with Flat decoration so that validation error is not triggered.
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.decoration_group.*
Change-Id: I460b54988f2991e007fee27f1e96c39dbbcec74e
Matthew Netsch [Wed, 3 Mar 2021 22:21:05 +0000 (17:21 -0500)]
Adds local multi device present mode support check
Test calls vkGetPhysicalDevicePresentRectanglesKHR even if
driver does not support
VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR
Components: Vulkan
VK-GL-CTS Issue: 2828
Affects:
dEQP-VK.wsi.wayland.surface.query_devgroup_present_modes
Change-Id: I91ac8d2820318d1553e28fe71a4d2488a0fead5d
Graeme Leese [Thu, 25 Feb 2021 17:53:04 +0000 (17:53 +0000)]
Remove dubious const-casting in mismatched_write_ops tests
The upload function was changing the layout of the image, so having the
function called const and casting the const away seems dodgy.
Components: Vulkan
Affects: dEQP-VK.image.mismatched_write_op.mismatched_vector_sizes.*
Change-Id: Ie31b63a72ff3c28029b628fca2f3f92d5df0f78a
Piers Daniell [Wed, 17 Feb 2021 20:18:22 +0000 (13:18 -0700)]
Including testing zw components with fragcoord_msaa tests
This extends the fragcoord_msaa coverage added in
https://gerrit.khronos.org/c/vk-gl-cts/+/6761 to also include
testing of the gl_FragCoord.z and gl_FragCoord.w components.
Coverage includes both explicitly enabled per-sample shading
and implicit per-sample input shading.
Component: Vulkan
Change-Id: I834f6a273b26dd889a7bba8e8b8bd373808b8844
Affects: dEQP-VK.glsl.builtin_var.fragcoord_msaa*
Ricardo Garcia [Mon, 22 Feb 2021 09:57:14 +0000 (10:57 +0100)]
Ray tracing hitT direction length tests
Add tests to check the hit distance is proportional to length of the
direction vector specified when tracing rays.
New tests:
dEQP-VK.ray_tracing_pipeline.direction_length.*
Components: Vulkan
VK-GL-CTS issue: 2776
Change-Id: I3fd0eec54acbbd9b19b7d932708aab4fa00886e0
Lionel Landwerlin [Mon, 22 Feb 2021 13:02:52 +0000 (15:02 +0200)]
Don't forget to enable KHR_fragment_shading_rate
Component: Vulkan
VK-GL-CTS Issue: 2803
Affected tests: dEQP-VK.fragment_shading_rate.pixel_consistency.*
Change-Id: I1b9c0dd5e6e69642b89a0830bc1fd5639119445e
Ricardo Garcia [Mon, 22 Feb 2021 13:50:32 +0000 (14:50 +0100)]
Fix compute binding storage buffer alignment
The fix for VK-GL-CTS issue #2661 missed some compute push descriptor
binding tests that are not respecting minStorageBufferOffsetAlignment.
This commit fixes those remaining cases.
Affected tests:
dEQP-VK.pipeline.push_descriptor.compute.*
Components: Vulkan
VK-GL-CTS issue: 2797
Change-Id: Ic22abe8d2d4fe37b1126d1c1fd7b5851029f708f
Alexander Galazin [Tue, 2 Mar 2021 12:58:46 +0000 (15:58 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Change-Id: I2e280bdbfd5b4e186161cfda4ed84ebc3f1f95ec
Alastair Donaldson [Thu, 11 Feb 2021 18:12:41 +0000 (18:12 +0000)]
Update dEQP test runner
Updates the dEQP test runner to account for the
android.software.opengles.deqp.level feature flag. This generalises
the logic that previously checked whether a Vulkan test list should be
skipped depending on the value of the analogous Vulkan feature flag.
Bug:
169021525
Change-Id: I00e04b6cda698c0649e4dcd2923e87156539e5c0
Alastair Donaldson [Wed, 10 Feb 2021 13:00:21 +0000 (13:00 +0000)]
Add Android test lists for OpenGL ES
Adds two new test lists for each of OpenGL ES 2.0, OpenGL ES 3.0 and
OpenGL ES 3.1, corresponding to dEQP snapshots for Android
versions. The full master test lists for OpenGL ES are no longer run
by default.
Bug:
169021525
Change-Id: I86eea5263f074fa8e6b826e7ded458953ebfb17c
Yuly Novikov [Fri, 26 Feb 2021 00:02:09 +0000 (19:02 -0500)]
Fix Windows build
Missing #include for std::min in glcFramebufferCompleteness.cpp
Components: OpenGL
VK-GL-CTS issue: 2699
Change-Id: Ia00bcf77f1d5be0b9b6c3fa368f8cd14244351f2
Alastair Donaldson [Tue, 9 Feb 2021 15:42:03 +0000 (15:42 +0000)]
Add new Vulkan test list and update test list generation
Adds a test list capturing the Vulkan dEQP tests frozen for Android
11, and changes the test list generator to use this list.
Due to various tests having been renamed or removed, list generation
does not yet work.
Bug:
169021525
Change-Id: Icab9e25d1acc24d121feacdf8720d14e8db69d91
Alexander Galazin [Mon, 1 Mar 2021 15:15:15 +0000 (18:15 +0300)]
Update Vulkan headers
Components: Vulkan
Change-Id: Ifd91260d3f552ac8690d91ac3d8007362f725df0
Alexander Galazin [Thu, 25 Feb 2021 19:24:52 +0000 (20:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Change-Id: Idb438276e8940dbe921b2a331a58a0ebebd4ad9c
Ricardo Garcia [Tue, 16 Feb 2021 15:48:23 +0000 (16:48 +0100)]
Pipeline bind point tests
Test binding different objects (sets and pipelines) to different bind
points and verify nothing breaks and each batch of work is dispatched as
expected using the right resources.
New tests:
dEQP-VK.pipeline.bind_point.*
Components: Vulkan
VK-GL-CTS issue: 2789
Change-Id: Ifab3b375724b14654f6c7f9fd95ca8c317383a4c
Ricardo Garcia [Fri, 5 Feb 2021 14:56:21 +0000 (15:56 +0100)]
Add tests for sparseImageFloat32Atomics
This commit adds image atomic operation tests using sparse images in
order to check the sparseImageFloat32Atomics feature.
In addition, it addresses several issues with the image atomic operation
tests, related to the tests behaving differently depending on which
features the implementation supported:
* If supported, transfer operations were performed on storage images,
with a code path containing a fallback using shaders.
* 64-bit formats always used shaders instead of transfer operations.
* When reading values back from images using shaders, if the
implementation supported shaderResourceResidency, values were read
back using sparseImageLoadARB instead of normal reads.
These behaviors are now encoded in the test parameters and combined,
producing a higher number of variants without losing test coverage.
Also in addition, this commit adds the de::dataOrNull function to obtain
a vector's data pointer or a null pointer when the vector is empty.
Similar functions and checks are commonly performed in many tests, but
this commit does not attempt to replace existing uses.
Affected and new tests:
dEQP-VK.image.atomic_operations.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2752
Change-Id: I5c77eb42990ad57fdd43e6e4a7e74b7c149f8e14
Eric Anholt [Wed, 3 Feb 2021 20:33:46 +0000 (12:33 -0800)]
Fix more spurious failures in KHR-GL*.transform_feedback.api_errors_test
It was checking for extensions (or not even checking!), then using the
corresponding core GLSL versions in the programs when trying to test
GS and tess. Just skip these shader stage tests if we don't have the
core GL version necessary to compile our programs.
Fixes spurious failures on softpipe (which has GS) on the KHR-GL32
variant of the test, and on freedreno (which has tess but only GL 3.3)
on the KHR-GL33 variant.
Components: OpenGL
Affects: KHR-GL3*.transform_feedback.api_errors_test
Change-Id: Iaccd402c0a8420a5ce698d9befd54ec05b23c869
Eric Anholt [Wed, 3 Feb 2021 20:08:33 +0000 (12:08 -0800)]
Fix spurious failures on KHR-GL30.transform_feedback.api_errors_test
The list of valid prims was missing that compat contexts have GL_QUADS
as a valid prim type, so the GL30/31 tests would fail, or later
contexts that include ARB_compat by default.
This addition follows the existing model of the GS primitive types
where we always avoid them when looking for an invalid prim enum,
rather than tess's model where we make a point of picking GL_PATCHES
if the test thinks tess is unsupported.
VK-GL-CTS issue: 2717
Components: OpenGL
Affects: KHR-GL3*.transform_feedback.api_errors_test
Change-Id: Ie8f3a554d7de9efb4ca7356fefff5028c9ffa45f
Tapani Pälli [Thu, 21 Jan 2021 12:47:31 +0000 (14:47 +0200)]
Print ints for pixel values instead of chars in error message
This changes following error output in results log:
"Reference pixel [@, <80>, <FF>, ] is different ..."
to better formattted:
"Reference pixel [64, 128, 255, 32] is different ..."
VK-GL-CTS Issue: 2783
Affects:
KHR-GLES31.core.geometry_shader.layered_framebuffer.clear_call_support
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I1807feb17fe59b162a9c40cb909536d3a4a856c1
Thomas Spurden [Mon, 8 Feb 2021 15:30:15 +0000 (15:30 +0000)]
Fix exit code for cts-runner
The runner used m_summary.isConformant to determine the exit code after
m_summary had been cleared by TestRunner::deinit, so it was always
exiting with a failure code.
Don't clear m_summary so that isConformant is valid after deinit.
Affects:
cts-runner
Components: Framework
VK-GL-CTS issue: 1982
Change-Id: I665017f7b11985f1e639971e4a9a627045f3664a
(cherry picked from commit
0f2a50e88aad4dae6330168f01c224b3de5bb629)
Thomas Spurden [Mon, 8 Feb 2021 15:30:15 +0000 (15:30 +0000)]
Fix exit code for cts-runner
The runner used m_summary.isConformant to determine the exit code after
m_summary had been cleared by TestRunner::deinit, so it was always
exiting with a failure code.
Don't clear m_summary so that isConformant is valid after deinit.
Affects:
cts-runner
Components: Framework
VK-GL-CTS issue: 1982
Change-Id: I665017f7b11985f1e639971e4a9a627045f3664a
Mikko Tiusanen [Mon, 4 Jan 2021 13:41:21 +0000 (15:41 +0200)]
Tests for GLES3 framebuffer completeness
Added tests for OpenGL ES 3.0 framebuffer completeness.
New tests: KHR-GLES3*.framebuffer_completeness.*
Components: OpenGL
VK-GL-CTS issue: 2699
Change-Id: If3eeda3fe39ce8ed04af9062c0013b8e9c35936b
Alexander Galazin [Wed, 30 Dec 2020 17:07:50 +0000 (18:07 +0100)]
Support GL 4.5 in the Program interface query tests
Affects:
dEQP-GLES31.functional.program_interface_query.*
dEQP-GL45.functional.program_interface_query.*
Components: AOSP
Change-Id: Ic18132b5aacb9c0b0bd0a1259e697576123f7421
Lionel Landwerlin [Tue, 16 Feb 2021 10:12:41 +0000 (12:12 +0200)]
Silence validation layers warning on missing sType
Components: Vulkan
VK-GL-CTS issue: 2793
Affects: dEQP-VK.fragment_shading_rate.pixel_consistency.*
Change-Id: If2b4685cff734469099627795eee640766ce77bd
Mika Väinölä [Mon, 8 Feb 2021 11:01:23 +0000 (13:01 +0200)]
Allow wildcards in waiver vendor strings
Use wildcard matching instead of exact string comparison for GL
waiver vendor attributes. Use "Google*" prefix for ANGLE XFB
waiver and remove a duplicate ANGLE waiver.
VK-GL-CTS issue: 2770
Components: Framework, OpenGL
Change-Id: I0ffc54af6aaa4c562bf1e8b5077e365da71f9a3e
Boris Zanin [Wed, 20 Jan 2021 09:43:50 +0000 (10:43 +0100)]
Add a list of unused shaders into log
Cleanly mark unused shaders during test.
Only passing tests are checked.
Components: Vulkan
VK-GL-CTS issue: 2743
Change-Id: I96c514c1ef142198d89e2979928785a1a3500bb6
Boris Zanin [Tue, 12 Jan 2021 15:04:18 +0000 (16:04 +0100)]
Add concurrent transform feedback streams query tests
Add tests for concurrent VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT
queries using different indices.
Add tests:
* dEQP-VK.transform_feedback.simple.multiquery*
Affect tests:
* dEQP-VK.transform_feedback.simple.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2581
Change-Id: Ib6e37d1b75b45d00622b8b79401e951f2bd8cb98
Piotr Byszewski [Wed, 17 Feb 2021 11:07:56 +0000 (12:07 +0100)]
Fix custom device creation for synchronization2
Some synchronization tests created custom device without
enabling all used features. This change fixes that.
Components: Vulkan
VK-GL-CTS issue: 2734
Affects:
dEQP-VK.synchronization*.basic.*.multi_queu*
dEQP-VK.synchronization*.op.multi_queue.*
dEQP-VK.synchronization*.cross_instance.*
Change-Id: Ib2c062967608c5348e5b0a5edabd310574900632
Tom Cooper [Fri, 19 Feb 2021 11:45:10 +0000 (11:45 +0000)]
Fix dEQP-VK.synchronization* to not duplicate primary command buffers in a VkSubmitInfo
Several tests in dEQP-VK.synchronization* call a helper which adds a
primary command buffer to the submit info, then use a queue submit
helper which adds the same command buffer again.
Components: Vulkan
VK-GL-CTS Issue: 2798
Affects:
dEQP-VK.synchronization*.op.multi_queue.fence.*
Change-Id: Id84f9c327ff6bc54af331c4bdb95167b2958dcd0
Graeme Leese [Tue, 23 Feb 2021 18:06:33 +0000 (18:06 +0000)]
Remove a waiver for a non-existant device
The device ID was for a test design that was never released.
Change-Id: I162d8b74f806dd46b9d9cb824f480efd723820c4
Mika Väinölä [Wed, 1 Jul 2020 07:28:55 +0000 (10:28 +0300)]
Add tests for implicit unmap on free
Allocate, map and free a large amount of device memory in a loop and
attempt to catch memory leaks on implementations that fail to free
mapped device memory.
New tests:
dEQP-VK.memory.mapping.*.full.variable.implicit_unmap
Affects:
dEQP-VK.memory.mapping.*
Components: Vulkan
VK-GL-CTS issue: 2260
Change-Id: I5cebcc7efe6c422bcf237634f270ddcd2659f3e2
Neslisah Torosdagli [Mon, 22 Feb 2021 23:14:50 +0000 (18:14 -0500)]
Fix inconsistent primitive count issue
Number of primitives added to the geometries were larger than number of primitives initialized in the shader. This change fixes that.
Components: Vulkan
VK-GL-CTS issue: 2800
Affects: dEQP-VK.ray_tracing_pipeline.indirect.build_structure
Change-Id: I50634a2f58281284b093c599d7fe965e347aac02
Alexander Galazin [Tue, 23 Feb 2021 11:10:58 +0000 (12:10 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master
Change-Id: I92a9250852d6633c9353620e81ac7469042c249a
Alexander Galazin [Tue, 23 Feb 2021 11:06:03 +0000 (12:06 +0100)]
Merge pull request #241 from enunes/gles2-EXT_texture_rg
Fix missing TEXTURE_VALID for EXT_texture_rg