Matthew Netsch [Thu, 6 May 2021 19:30:22 +0000 (15:30 -0400)]
Fixes image sparse tests
Tests use sparseImageLoadARB in shader
but not checking for sparse_residency
Components: Vulkan
VK-GL-CTS Issue: 2913
Affects:
dEQP-VK.image.mismatched_formats.sparse_image_read*
Change-Id: I6896c7cec530a69be8ea172205d9155ff71873f9
Ricardo Garcia [Tue, 4 May 2021 08:09:55 +0000 (10:09 +0200)]
Fixes for robust buffer with variable pointer tests
This commit fixes several issues with robust buffer access with variable
pointers tests:
* The variable pointer tests were checking support for the
variablePointersStorageBuffer feature but they weren't actually
activating the feature when creating the robust buffer access device.
* Support checks were being done at instance creation time instead of
using the proper checkSupport method.
* In-bound checks for 64-bit format accesses were only checking 4 out of
every 8 bytes in the buffer.
* The verification routines were not taking into account 64-bit
nonatomic accesses could be legally split into two 32-bit accesses
that could be checked independently.
* The possibility of satisfying a (0,0,0,x) pattern in output data was
not being checked correctly for 64-bit formats, always using 32-bit
vectors and values.
Affected tests:
dEQP-VK.robustness.buffer_access.*
dEQP-VK.robustness.vertex_access.*
Components: Vulkan
VK-GL-CTS issue: 2908
Change-Id: I85aeb085cb31d63b70acec08551c53fcc7d2be3c
Sławomir Cygan [Mon, 19 Apr 2021 14:22:35 +0000 (16:22 +0200)]
Remove too long ray_tracing.build tests
The tests have too large runtime (up to 1h20m per
single test case) due to large AS being built on the
host.
VK-GL-CTS Issue: 2896
Components: Vulkan
Affects: dEQP-VK.ray_tracing_pipeline.build.*
Change-Id: Ib298b18967ed76d79bd150ac53d90d36332adc60
Sławomir Cygan [Fri, 16 Apr 2021 08:51:36 +0000 (10:51 +0200)]
Add missing memory barrier between device transfer write and host read
The tests are missing a barrier between buffer being written by transfer operation
on device and reading the buffer contents on host.
Some tests were not missing this barrier, but the access flags were not reflecting
the dependency.
Components: Vulkan
VK-GL-CTS Issue: 2894
Affects:
dEQP-VK.ray_query.*
dEQP-VK.ray_tracing.*
Change-Id: I3e90e53f7db2a885805bd95d5f6033468ff8a927
Slawomir Cygan [Thu, 15 Apr 2021 15:20:21 +0000 (17:20 +0200)]
Move the hit counting from any hit to closest hit shader stage
Fix the counting of ray hits by moving it from any hit to closest hit shader,
as any hit shader may execute multiple times per geometry - what may happen
because triangle primitives are arranged into grid of cubes.
VK-GL-CTS Issue: 2890
Affects: dEQP-VK.ray_tracing_pipeline.misc.*stress*
Change-Id: Id7e10181d15f99685c2997003dd579ab735dc4ee
Components: Vulkan
Slawomir Cygan [Fri, 9 Apr 2021 13:48:51 +0000 (15:48 +0200)]
Use actual pipeline recursion depth when computing stack size
Use the maximum recursion depth as set in the used pipeline,
rather than the maximum recursion depth supported by a physical
device to avoid overflowing uint32 when computing the dynamic
stack size and/or creating exceptionally large stack, not needed by
the pipeline used in this test.
Components: Vulkan
Affects: dEQP-VK.ray_tracing_pipeline.misc.callableshaderstress*
VK-GL-CTS Issue: 2880
Change-Id: Ia4feee82099d34300c70af8eab13245d29d037d9
Alexander Galazin [Wed, 21 Apr 2021 15:54:28 +0000 (18:54 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: Ic854c92253dc5745bd4718fab12b567832228861
Paul Thomson [Tue, 20 Apr 2021 10:00:04 +0000 (11:00 +0100)]
Android: test list change dEQP-VK.glsl.builtin.*
Move the following tests from the Android 2019 test list to the 2020
test list.
dEQP-VK.glsl.builtin.precision.asin.highp.scalar
dEQP-VK.glsl.builtin.precision.asin.highp.vec2
dEQP-VK.glsl.builtin.precision.asin.highp.vec3
dEQP-VK.glsl.builtin.precision.asin.highp.vec4
Components: AOSP
Change-Id: I6586b0cfb39be6d43278cf61378563b3f894d641
Alexander Galazin [Wed, 21 Apr 2021 09:08:43 +0000 (12:08 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I83fff4847e0bc12be0d574bd064a511784a72e09
Alexander Galazin [Wed, 21 Apr 2021 08:18:37 +0000 (11:18 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: Ib3ccf6adeedb2a55ba8a96bfabb75273a1c664ea
Alexander Galazin [Wed, 21 Apr 2021 06:56:03 +0000 (09:56 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I90603cf34d44bb7c6f10e81f7b594834391da05e
Paul Thomson [Tue, 20 Apr 2021 10:00:04 +0000 (11:00 +0100)]
Android: test list change dEQP-VK.glsl.builtin.*
Move the following tests from the Android 2019 test list to the 2020
test list.
dEQP-VK.glsl.builtin.precision.asin.highp.scalar
dEQP-VK.glsl.builtin.precision.asin.highp.vec2
dEQP-VK.glsl.builtin.precision.asin.highp.vec3
dEQP-VK.glsl.builtin.precision.asin.highp.vec4
Components: AOSP
Change-Id: I6586b0cfb39be6d43278cf61378563b3f894d641
Alexander Galazin [Wed, 7 Apr 2021 14:49:03 +0000 (17:49 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: Id90fcd730ba632a3a08f25a01226098421486753
Alexander Galazin [Wed, 7 Apr 2021 13:11:48 +0000 (16:11 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: Iffa708c815ea869d459d6b5a951f69a3fae7d351
Alexander Galazin [Wed, 7 Apr 2021 09:51:46 +0000 (12:51 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: I452f719e084e6decc02066064c6f0397e4b915e6
Alexander Galazin [Tue, 6 Apr 2021 14:13:37 +0000 (17:13 +0300)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I2947e16b40c26feb3c95922e18e36e36acbc43b9
Alexander Galazin [Tue, 6 Apr 2021 11:46:52 +0000 (14:46 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: Id775a0b8cb86bd5929b61c49fbfac4825421c7a7
Marcin Kantoch [Tue, 30 Mar 2021 14:47:11 +0000 (16:47 +0200)]
Fix test does not return failure status
Affected tests:
dEQP-VK.wsi.display_control.register_device_event
Components: Vulkan
VK-GL-CTS issue: 2864
Change-Id: I282ffc5e7b910209a509ae57ee8e38c662b97815
Matthew Netsch [Wed, 31 Mar 2021 15:08:41 +0000 (11:08 -0400)]
Fixes Fragment Shading Rate layered tests
Test was exporting Layer and ViewportIndex
decorations in Vertex Shader in the
Geometry Shader tests without checking
for support.
Components: Vulkan
VK-GL-CTS Issue: 2865
Affects:
dEQP-VK.fragment_shading_Rate.srlayered.*.gs
dEQP-VK.fragment_shading_Rate.colorlayered.*.gs
Change-Id: Idbf6be2c14bb8409feec2d7262efb9a402cf35a2
Neslisah Torosdagli [Sat, 27 Mar 2021 03:27:06 +0000 (23:27 -0400)]
Fix insufficient BLAS indirect buffer size
BLAS indirect buffer size is not set correctly. It is set to
sizeof(VkAccelerationStructureBuildRangeInfoKHR) however
geometries number times sizeof(VkAccelerationStructureBuildRangeInfoKHR)
indirect buffer space is needed.
Components: Vulkan
https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/2862
Affects: dEQP-VK.ray_tracing_pipeline.indirect.build_structure
Change-Id: I2b5df039aac6c3f2a51177c8bf9f5095ae5c7886
Alexander Galazin [Fri, 19 Mar 2021 11:12:55 +0000 (14:12 +0300)]
Remove in-repo verify_submission scripts
These scripts are now replaced by the CTS Tools repo:
https://github.com/KhronosGroup/VK-GL-CTS-Tools
Components: Vulkan, OpenGL
Change-Id: If0f47b4186ed10f9946852e8d37956d7328625a8
Sławomir Cygan [Tue, 16 Mar 2021 16:07:16 +0000 (17:07 +0100)]
Allow false positive hits from build-in AABBs intersector
This change allows the test to execute any hit shader,
in case of AABB geometry is used and the ray falsely 'intersects'
it.
This is needed, as the test does not calculate the proper
intersection in 'intersection' stage - it uses a shader that always
reports TRUE. Hence the test relies on build-in AABB
intersector, which may report false positives according to the
specification.
VK-GL-CTS Issue: 2848
Components: Vulkan
Affects: dEQP-VK.ray_tracing_pipeline.build.*aabbs*
Change-Id: Ib90f45227a7cd4c412fd4d1c97598f32a80eb6ca
Sławomir Cygan [Tue, 16 Mar 2021 15:40:21 +0000 (16:40 +0100)]
Remove the tests with too large device AS build workload
This removes the tests that submit accelleration structure
builds with
1048576 instances * geometries * 'squares'.
The accelleation structure builds performed by these tests
were too long and may hit the device timeout imposed by
the operating system.
Components: Vulkan
VK-GL-CTS Issue: 2849
Removed Tests:
dEQP-VK.ray_tracing_pipeline.build.gpu*_1_1_1048576
dEQP-VK.ray_tracing_pipeline.build.gpu*_1_1048576_1
dEQP-VK.ray_tracing_pipeline.build.gpu*_1_1048576_1
dEQP-VK.ray_tracing_pipeline.build.gpu*_4_4_65536
dEQP-VK.ray_tracing_pipeline.build.gpu*_4_65536_4
dEQP-VK.ray_tracing_pipeline.build.gpu*_65536_4_4
Change-Id: Ief53cc01da4f749fd8a030bd8e2ebb5652208ce4
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
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: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: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
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, 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
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)
Paul Thomson [Wed, 3 Mar 2021 12:29:11 +0000 (12:29 +0000)]
Fix bad merge in DeqpTestRunner.java
Components: Android
Change-Id: Ib557d85deb85dc528fde2765e8c6442bffe67fc4
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
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
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
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
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
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 [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
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
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
Anders Pedersen [Thu, 10 Dec 2020 09:36:01 +0000 (10:36 +0100)]
Remove renderingComplete test
There is no guarantee that two consecutive frames with
no frame dependencies will not complete out of order.
Components: EGL
Affects: dEQP-EGL.functional.get_frame_timestamps
Test: atest CtsDeqpTestCases
Bug: https://issuetracker.google.com/
174941611
Change-Id: Ia70b92be27e301e94e936d9465a6e9dc9ec38928
Piotr Byszewski [Fri, 27 Nov 2020 10:44:40 +0000 (11:44 +0100)]
Test new pipeline stages from synchronization2
With this change some of SynchronizationOperations
will use new pipeline stages when they are executed
for synchronization2. Additionaly few new operations
were added to cover new stages.
Components: Vulkan
VK-GL-CTS issue: 2663
Affects:
dEQP-VK.synchronization.*
dEQP-VK.synchronization2.*
Change-Id: I6ccfbc9ec28d70035369c6f064a786c408c3afdd
Piotr Byszewski [Fri, 27 Nov 2020 10:44:40 +0000 (11:44 +0100)]
Generalize SynchronizationOperations for sync2
This change generalize all barriers executed in
SynchronizationOperations that were missed while adding
support for VK_KHR_synchronization2.
Components: Vulkan
VK-GL-CTS issue: 2365
Affects:
dEQP-VK.synchronization.*
dEQP-VK.synchronization2.*
Change-Id: I67f6e2753373bd34d0aef0f3313c1d8993a60169
Piotr Byszewski [Fri, 20 Nov 2020 15:49:14 +0000 (16:49 +0100)]
Use MemoryBarrier2 in SubpassDependency2 chain
VK_KHR_synchronization2 allows VkMemoryBarrier2KHR to be
provided in the pNext chain of a VkSubpassDependency2.
Components: Vulkan
VK-GL-CTS issue: 2365
New tests:
dEQP-VK.renderpass2.suballocation.subpass_dependencies.external_subpass.*_sync_2
Affects:
dEQP-VK.renderpass*
Change-Id: I0f7a7cb76064b0e6e565e1f716e2acd0e17c7041
Piotr Byszewski [Fri, 3 Jul 2020 10:26:21 +0000 (12:26 +0200)]
New tests for VK_KHR_synchronization2
This change adds none_stage tests that exercise PIPELINE_STAGE_NONE
as well as MEMORY_ACCESS_READ|WRITE_BIT and new generic layouts.
Event tests were also extends to test GPU-only scenarios using new
VK_EVENT_CREATE_DEVICE_ONLY_BIT_KHR.
Components: Vulkan
VK-GL-CTS issue: 2365
New tests:
dEQP-VK.synchronization2.basic.event.*_device_only
dEQP-VK.synchronization2.none_stage.*
Affects:
dEQP-VK.synchronization*
Change-Id: I86e056054a6541526140fd15fb53bef9359b6b28
Piotr Byszewski [Thu, 30 Jul 2020 10:57:44 +0000 (12:57 +0200)]
Synchronization2 - fix set/wait event usage
CmdWaitEvents2KHR valid usage states that: "For any element i of
pEvents, if that event is signaled by vkCmdSetEvent2KHR, that
commands dependencyInfo parameter must be exactly equal to the
ith element of pDependencyInfos".
Components: Vulkan
VK-GL-CTS issue: 2365
Affects:
dEQP-VK.synchronization*.op.single_queue.event.*
dEQP-VK.synchronization*.basic.event.single_submit_multi_command_buffer
Change-Id: Id9a4b5270ddb3ae9cb582e084e65c41c18c9c5c7
Alexander Galazin [Mon, 15 Feb 2021 19:07:27 +0000 (20:07 +0100)]
Generalize synchronization tests
This change adds SynchronizationWrapper utility class that enables to
execute most of synchronization tests for both legacy synchronization
and for functionality changes introduced by VK_KHR_synchronization2.
Components: Vulkan
VK-GL-CTS issue: 2365
Affects:
dEQP-VK.synchronization*
Change-Id: Ibc12c144387cb6c45f6545963183a9cf6c00988d
Marcin Kantoch [Wed, 3 Feb 2021 15:06:01 +0000 (16:06 +0100)]
Fix for primitiveOffset calculation
PrimitiveOffset should be an offset in bytes into the memory
where primitive data is defined.
Components: Vulkan
VK-GL-CTS issue: 2765
Affects:
dEQP-VK.ray_tracing_pipeline.indirect.build_structure
Change-Id: I03da8a69f042f6f21556dc23ae992495fda5cff4
Sławomir Cygan [Mon, 8 Feb 2021 15:45:00 +0000 (16:45 +0100)]
Properly handle VK_OPERATION_NOT_DEFERRED_KHR
According to spec, any operation that is requested to be deferred can return
VK_OPERATION_NOT_DEFERRED_KHR if an implementation "chooses not to
defer any of the requested operations and instead executesall of them
immediately"
This fixes the test to properly handle the VK_OPERATION_NOT_DEFERRED_KHR status,
by immediately checking the operation status and returning, skipping invalid check
for max concurency being greater than 0 and skipping not needed thread joins.
Components: Vulkan
VK-GL-CTS Issue: 2780
Affects:
dEQP-VK.ray_tracing_pipeline.*host_threading*
dEQP-VK.ray_query.*host_threading*
dEQP-VK.ray_tracing_pipeline.*cpuht*
Change-Id: If72351e2deada8d03c3e7b2c642cb641ae69febd
Sławomir Cygan [Tue, 9 Feb 2021 15:33:58 +0000 (16:33 +0100)]
Process Windows messages after showing a window
This makes sure all window messages are delivered and processed
when showing / hiding a window or making it topmost.
Affects: dEQP-VK.wsi.win32.full_screen_exclusive.*
VK-GL-CTS Issue: 2784
Components: Vulkan, Framework
Change-Id: Idcf677d7ea22695e7548fcaf31f75814e4b5e15e
Caio Marcelo de Oliveira Filho [Fri, 29 Jan 2021 04:33:37 +0000 (20:33 -0800)]
Fix buffer size in manual zeroing Workgroup aliased memory
The buffer A needs to be large enough to fit the largest case when
using the smallest type, which is an array of uint8_t to cover an
array of 4 struct {dvec4, dvec4}. Update the buffer size to properly
cover the entire array.
Component: Vulkan
VK-GL-CTS Issue: 2524
Affected tests:
- dEQP-VK.compute.workgroup_memory_explicit_layout.zero.*
Change-Id: I098b037314fb87fbe03769a0a4fe79edcf46143e
Caio Marcelo de Oliveira Filho [Fri, 29 Jan 2021 04:27:51 +0000 (20:27 -0800)]
Fix missing check for Float64 in manual zeroing Workgroup aliased memory
Test was relying on useType() helper, but it was not filling
needsFloat64 properly. The other tests using the helper are not
affected.
Component: Vulkan
VK-GL-CTS Issue: 2524
Affected tests:
- dEQP-VK.compute.workgroup_memory_explicit_layout.zero.*
Change-Id: I87f718988da5091860c98cbe0708d4d4c1d72b9d
Caio Marcelo de Oliveira Filho [Wed, 13 Jan 2021 22:14:33 +0000 (14:14 -0800)]
Add VK_KHR_workgroup_memory_explicit_layout OpCopyMemory tests
Component: Vulkan
VK-GL-CTS Issue: 2524
New Tests: dEQP-VK.compute.workgroup_memory_explicit_layout.copy_memory.*
Change-Id: I78287969904b67df21cf4f8f56935961a22cd6eb
Caio Marcelo de Oliveira Filho [Sat, 5 Dec 2020 05:08:57 +0000 (20:08 -0900)]
Add VK_KHR_workgroup_memory_explicit_layout maximum size tests
Dynamic generation of shaders based on properties reported by devices
is not allowed in the CTS, and in this case we can't use a
specialization constant as the array size. So the test have a few
variants with common maximum values.
Component: Vulkan
VK-GL-CTS Issue: 2524
New Tests: dEQP-VK.compute.workgroup_memory_explicit_layout.size.*
Change-Id: Ic960d22277b0a7bff428eae99e1f3107d9b4c85e
Caio Marcelo de Oliveira Filho [Thu, 3 Dec 2020 05:14:34 +0000 (20:14 -0900)]
Add VK_KHR_workgroup_memory_explicit_layout padding tests
Component: Vulkan
VK-GL-CTS Issue: 2524
New Tests: dEQP-VK.compute.workgroup_memory_explicit_layout.padding.*
Change-Id: I81d46940a785913faddb5e78dae986e2de9f73ee
Caio Marcelo de Oliveira Filho [Tue, 1 Dec 2020 22:07:37 +0000 (13:07 -0900)]
Add VK_KHR_workgroup_memory_explicit_layout zeroing aliased block tests
Components: Vulkan, Framework
VK-GL-CTS Issue: 2524
New Tests: dEQP-VK.compute.workgroup_memory_explicit_layout.zero.*
Change-Id: I935ddc9f2a8d79e0c454a70f07e1f355d1236fc9
Caio Marcelo de Oliveira Filho [Tue, 4 Aug 2020 04:34:34 +0000 (21:34 -0700)]
Add VK_KHR_workgroup_memory_explicit_layout type aliasing tests
Component: Vulkan
VK-GL-CTS Issue: 2524
New Tests: dEQP-VK.compute.workgroup_memory_explicit_layout.alias.*
Change-Id: I17ebda4ca8fd750aa5e64f750220c91f8c789dbc
Caio Marcelo de Oliveira Filho [Thu, 4 Feb 2021 19:28:32 +0000 (11:28 -0800)]
Add new ShaderBuildOption to enable Workgroup scalar offsets
This need to be explicitly set in the SPIR-V validator and it is
independent of the use of scalar offsets in other storage classes.
Equivalent to --workgroup-scalar-block-layout option in spirv-val.
Components: Vulkan
Affects: dEQP-VK.*
Change-Id: I903d4c700a08d7b03ccbd3f82274379c6bd6455e
(cherry picked from commit
147bbb57041f6e243966e18d67887eac3baf9b4f)
Alan Baker [Wed, 10 Jun 2020 19:07:24 +0000 (15:07 -0400)]
VK_KHR_zero_initialize_workgroup_memory tests
* New tests for VK_KHR_zero_initialize_workgroup_memory tests
Component: Vulkan
VK-GL-CTS Issue: 2415
New Tests: dEQP-VK.compute.zero_initialize_workgroup_memory.*
Change-Id: If775749596cedb1a5d4937d084d5e191c2707152
(cherry picked from commit
2b917b4caa105f4c7fd69a95ab9ea72a9d140068)
Joshua Ashton [Wed, 15 Jul 2020 03:44:27 +0000 (04:44 +0100)]
Add tests for VK_EXT_4444_formats
Components: Vulkan
New tests:
dEQP-VK.*.a4b4g4r4*
dEQP-VK.*.a4r4g4b4*
Change-Id: I5d597a718246e4bc0af3c6acee1c0d3d0787997b
Joshua Ashton [Wed, 15 Jul 2020 03:34:34 +0000 (04:34 +0100)]
Add support for ABGR texture formats
Needed for VK_EXT_4444_formats
Components: Vulkan Framework
Affects: *
Change-Id: I1f4a4e555d69da3d14df2ce34ad46526cb570911
Alexander Galazin [Wed, 3 Feb 2021 14:13:17 +0000 (15:13 +0100)]
Update glslang
Components: Framework
Change-Id: Icc780bd3e4ebe3448db0a917920b4be91c3696de
(cherry picked from commit
5ea40881588ca29706ffae7f5eb52374cd615e19)
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
(cherry picked from commit
e2d8f37eae4ae9a798690ac677b1e865438d76a9)
Alexander Galazin [Thu, 4 Feb 2021 11:13:21 +0000 (12:13 +0100)]
Update Vulkan headers
Components: Vulkan
Change-Id: I602e747504df841f7100b1638a0011bb10a6a4ca
(cherry picked from commit
53245fa58703ebbbd59ac06dffdb0c3052308d36)
Slawomir Cygan [Thu, 28 Jan 2021 15:06:30 +0000 (16:06 +0100)]
Allow geometry shader to reorder vertices in dEQP-VK.ray_query.acceleration_structures 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: 2764
Change-Id: I1b6b8df3166d40132747a7315366c427e32b0007
Affects: dEQP-VK.ray_query.acceleration_structures.*.geometry_shader.*
Alexander Galazin [Fri, 12 Feb 2021 11:30:41 +0000 (12:30 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: Ib86e71eaf31e327f0f2ebc1951dd3d155f9c5fa6
Charles Johnston [Thu, 28 Jan 2021 13:48:26 +0000 (08:48 -0500)]
Fix size calculation for compressed 3D textures
Affected tests:
dEQP-VK.texture.compressed_3D.*
Components: vulkan
VK-GL-CTS issue: 2761
Change-Id: I2d062233a5bb3611bc9c24697da198a4710dc0e1
Bas Nieuwenhuizen [Mon, 1 Feb 2021 19:05:03 +0000 (20:05 +0100)]
Set correct access flags for buffer copy synchronization.
Since the copy depends on the result of the blit, we should make
the results visible to the copy with VK_ACCESS_TRANSFER_WRITE_BIT.
Components: Vulkan
Affects: dEQP-VK.drm_format_modifiers.export_import.*
Change-Id: I8a9a94657203472ca8842db0cc164c71c087a48c
Alexander Galazin [Thu, 28 Jan 2021 19:40:35 +0000 (20:40 +0100)]
Allow Vulkan CTS 1.2.5.1
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: I7ca8bb2937e1e601f58fe5a7220138a1a06a2ca5
Marcin Kańtoch [Thu, 14 Jan 2021 18:11:49 +0000 (19:11 +0100)]
Fixed dEQP-VK.wsi.*.full_screen_exclusive.* tests
Full list of fixes described in the issue.
Components: Vulkan
VK-GL-CTS issue: 2746
Affects:
dEQP-VK.wsi.*.full_screen_exclusive.*
Change-Id: I787fb775a1b3a88c6308d1ab8a7f37d11fa9a049
Alexander Galazin [Thu, 28 Jan 2021 13:17:50 +0000 (14:17 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Change-Id: Ia3c9ad282501c58a5d05b8b28163babe42686dcf
Alexander Galazin [Thu, 28 Jan 2021 10:53:33 +0000 (11:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Change-Id: I57c045028692ccdead9ceecdc0f6421874413a11
Alexander Galazin [Thu, 28 Jan 2021 10:02:12 +0000 (11:02 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Change-Id: I866350c03d9b27e87b39653aef4415f326e2510a
Alexander Galazin [Thu, 28 Jan 2021 08:20:40 +0000 (09:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: Id4b318d832da2ccfbc5a72523454eb39a23d2a2c
Alastair Donaldson [Wed, 1 Apr 2020 15:48:46 +0000 (16:48 +0100)]
Account for aliasing exceptions in codegen
Fixes a problem where functions for which aliasing exceptions are in
place (at present this is just glRenderbufferStorageMultisampleEXT)
were not being treated properly in code generation -- their aliased
names were being erroneously used.
Component: Framework
Affects: dEQP-GLES*multisample*
VK-GL-CTS issue: 2291
Change-Id: I5e9caf8828b192d15bb3c91f53a9d09aa9442129
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
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)
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)
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
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
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
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