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 [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
Alexander Galazin [Tue, 23 Feb 2021 08:02:17 +0000 (09:02 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: I432c3c1fd37416a2ec4b05cf8ab7cd947260e6a2
Alexander Galazin [Fri, 19 Feb 2021 13:39:30 +0000 (14:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Change-Id: I50fdc6b4f373a6d7f4da24e00a2ed62375b995cb
Sławomir Cygan [Wed, 17 Feb 2021 14:26:34 +0000 (15:26 +0100)]
Fix memory barriers between store and load operations
Some variants of the test (for FLOAT formats) use
image store followed by a load in separate dispatch (or draw).
This commit fixes the barrier bit in such case to be
GL_SHADER_IMAGE_ACCESS_BARRIER_BIT.
Components: OpenGL
Affects: KHR-GL46.texture_cube_map_array.*
VK-GL-CTS Issue: 2799
Change-Id: I7b3985daf137eea032788adece0d9a918733de29
Alexander Galazin [Fri, 19 Feb 2021 07:57:06 +0000 (08:57 +0100)]
Allow Vulkan CTS 1.2.5.2
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: If42924ce4919dfc372e5e107dc8e9e86d27bbe2b
Ilkka Saarelainen [Fri, 12 Feb 2021 11:18:51 +0000 (13:18 +0200)]
Fix image format in memory model tests
dEQP-VK.memory_model.* tests that use images were using format
R32_UINT even if the shader requires float type.
This CL changes the image and image view formats to R32_FLOAT in
tests that use float types in the shader.
Affects:
dEQP-VK.memory_model.message_passing.*
dEQP-VK.memory_model.write_after_read.*
dEQP-VK.memory_model.transitive.*
Components: Vulkan
VK-GL-CTS issue: 2781
Change-Id: Iea0d980b231c849f47fd0f9fced480b2ae2120ec
Sławomir Cygan [Mon, 15 Feb 2021 14:35:21 +0000 (15:35 +0100)]
Do not use image index and semaphore when vkAcquireNextImageKHR fails
This change follows
d9763f6a0, where vkAcquireNextImageKHR was allowed
to fail with VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT error.
However, the (not) acquired image index and semaphore was still used,
causing fauilure when validating the index.
This change skips using the image index and semaphore, when image was
not acquired.
Moreover, failure to acquire the image is logged as quality warning.
VK-GL-CTS Issue: 2792
Affects: dEQP-VK.wsi.*.full_screen_exclusive.*
Components: Vulkan
Change-Id: I7c970289769fd56c9f46ac27cc6d23180e847d74
Sławomir Cygan [Wed, 10 Feb 2021 15:48:43 +0000 (16:48 +0100)]
Allow failure of creating swapchain with application controlled full-screen exclusive mode
The spec says:
"""
In some cases, swapchain creation may fail if exclusive full-screen mode is
requested for application control, but for some implementation-specific reason
exclusive full-screen access is unavailable for the particular combination of
parameters provided. If this occurs, VK_ERROR_INITIALIZATION_FAILED will be returned.
"""
This modifies the test to allow VK_ERROR_INITIALIZATION_FAILED error from
vkCreateSwapchain, when VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
mode is requested. QalityWarning result is returned if swapchain creation fails.
Components: Vulkan
VK-GL-CTS Issues: 2787
Affects: dEQP-VK.wsi.win32.full_screen_exclusive.*
Change-Id: I78f976b9d08338c49a81199410aecc50089ffce3
Andreas Flöjt [Mon, 1 Feb 2021 14:46:09 +0000 (15:46 +0100)]
Remove RelaxedPrecision in test
It relies on full precision in the comparison, which was not previously
guaranteed.
Components: Vulkan
Affects:
dEQP-VK.graphicsfuzz.cov-bitfieldExtract-undefined
VK-GL-CTS issue: 2774
Change-Id: I36bd18ed2d63d5c5a7e7b32e912456e74b640153
Alexander Galazin [Fri, 19 Feb 2021 08:16:10 +0000 (09:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/master
Change-Id: I82927bcfd12aa937e4c4c4a44b016e760664cd31
Ari Suonpaa [Mon, 14 Sep 2020 07:17:09 +0000 (10:17 +0300)]
Test variable pointers on dynamic descriptors
Added a variable pointer test for accessing descriptors
of dynamic type.
VK-GL-CTS Issue: 2373
New tests:
dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.dynamic_offset.*
Components: Vulkan
Change-Id: I37241cae2ba1c5870958a751de556047c3bae839
Alexander Galazin [Fri, 5 Feb 2021 09:32:51 +0000 (10:32 +0100)]
Support GL 4.5 in the textureGather tests
Componets: AOSP
Affecsts:
dEQP-GLES31.functional.texture.gather.*
dEQP-GL45.functional.texture.gather.*
Change-Id: Iea0cc9400bf3f6d10a0725ec28e68f742ad50ea6
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
Change-Id: Ic25b55c01efcfa7e68bb712c04f57f327eff728e
Components: Framework
Sławomir Cygan [Tue, 16 Feb 2021 15:39:46 +0000 (16:39 +0100)]
Workaround for entrypoints tests requiring vendor entrypoints while checking KHR extension
This is a workaround for dEQP-VK.api.version_check.entry_points test
requiring vkCmdWriteBufferMarker2AMD and vkGetQueueCheckpointData2NV
entrypoints when checking the VK_KHR_synchronization2 extension.
The true problem is full dependency information is not available to code
generating scripts, which only source vulkan_core.h. (vulkan_core.h seems to
have 1:1 mapping from extenions to entrypoints, having above NV and AMD
entrypoint listed under VK_KHR_synchronization2).
Such information is encoded in registry XML, currently not used by the code
generating script.
As a workaround do not generate code for entrypoints that have different
vendor suffix than the extension they belong to.
Affects: dEQP-VK.api.version_check.entry_points
VK-GL-CTS Issue: 2795
Components: Vulkan
Change-Id: I5b345c36a49c585263d309ed4645b16a144c327e
Sławomir Cygan [Wed, 10 Feb 2021 13:40:11 +0000 (14:40 +0100)]
Fix extended dynamic state to not access out of bounds memory
The test assumed const size (4096) of the storage backing the
vectors of vertices. It looks like the vector of 'reversed' vertices
was fully populated only when TRIANGLES topology was used,
so the test may crash on other topologies.
Components: Vulkan
VK-GL-CTS Issue: 2786
Affects: dEQP-VK.pipeline.extended_dynamic_state.*
Change-Id: Ic56d3125335d2eef0c97028d855b27eae25da24f
Marcin Kantoch [Wed, 3 Feb 2021 18:47:17 +0000 (19:47 +0100)]
Fix out of memory error on 32bit driver builds
Limit the ammount of RT invocations on 32 bit
driver builds, so that the result buffer does
not exceed 2GB.
Components: Vulkan
VK-GL-CTS issue: 2716
Affects:
dEQP-VK.ray_tracing_pipeline.misc.maxrtinvocations_*
Change-Id: I73711e45c5bc589c1d5e5e742da817c11b3215fa
Alexander Galazin [Thu, 18 Feb 2021 20:02:43 +0000 (21:02 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: I86306b5aa0993a5d552f777fa3320d2ab288e2b6
Alexander Galazin [Thu, 18 Feb 2021 16:34:52 +0000 (17:34 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I766af2bb2951e57b4425b3b948d0f2773fe1fb6d
Matthew Netsch [Wed, 3 Feb 2021 22:28:29 +0000 (17:28 -0500)]
Fixes cubic filtering rgb9e5 tests
Test was causing overflows
Components: Framework
VK-GL-CTS Issue: 2771
Affects:
*
Change-Id: I3367d18dab3207442d93adb757db24c16543f6d8
Alexander Galazin [Thu, 18 Feb 2021 13:21:22 +0000 (14:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: Ib6563915d7ca253c6d1275b08134d63df7f58204
Alexander Galazin [Thu, 18 Feb 2021 12:41:44 +0000 (13:41 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: I3e2556116ad51d257d5605321813461dc3096df1
Alexander Galazin [Thu, 18 Feb 2021 11:59:20 +0000 (12:59 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: Ic40e8dc5399b4abedbc4663d67431e5dee093d29