Matthew Netsch [Fri, 3 Jun 2022 14:49:27 +0000 (14:49 +0000)]
Merge "Merge vk-gl-cts/vulkansc-cts-1.0.0 into vk-gl-cts/main" into main
Marcin Zając [Tue, 17 May 2022 16:46:08 +0000 (18:46 +0200)]
Thread safe releaseQueue
Failure discovered on ARM platform coused by commandBuffer
deleter being called after queues.releaseQueue()
is now protected by mutex lock
Components: Vulkan
Affects:
dEQP-VK.synchronization.internally_synchronized_objects.*
VK-GL-CTS issue: 3688
Change-Id: Ib743dd52a3ed5cc066268aa0618c2b770e2524dc
Toni Merilehti [Tue, 17 May 2022 13:00:15 +0000 (16:00 +0300)]
Fix extension check in transform feedback tests
Check support for VK_EXT_transform_feedback extension before checking
if transformFeedback feature is supported.
Affects:
dEQP-VK.transform_feedback.simple.*
Components: Vulkan
VK-GL-CTS issue: 3697
Change-Id: I478669a0c4f4e0a88ab2161f926d39186f719585
Juha Heiskanen [Wed, 25 May 2022 05:45:31 +0000 (08:45 +0300)]
Fix amber-verify mismatch in builtin precision tests
VK_KHR_16bit_storage and VK_KHR_storage_buffer_storage_class
requirements have been now removed from highp and fp64 matrix precision
tests.
Components: Vulkan
VK-GL-CTS Issue: 3719
Affects:
dEQP-VK.glsl.builtin.precision*.determinant.*mat3
dEQP-VK.glsl.builtin.precision*.determinant.*mat4
dEQP-VK.glsl.builtin.precision*.inverse.*mat3
dEQP-VK.glsl.builtin.precision*.inverse.*mat4
Change-Id: I204bac46129ec9843e5077032e329caed3758446
Graeme Leese [Thu, 26 May 2022 16:42:51 +0000 (17:42 +0100)]
Shrink the framebuffer in 2 graphicsfuzz tests
This is the same change that was previously applied to a different
maze-O test.
Components: Vulkan
Affects: dEQP-VK.graphicsfuzz.spv-stable-maze-O-dead-code
dEQP-VK.graphicsfuzz.spv-stable-maze-O-memory-accesses
Change-Id: I669a659d16019760e35c1c23c0974a72e7fc851c
Antto Mäkinen [Thu, 24 Mar 2022 15:35:25 +0000 (17:35 +0200)]
Test VkSubresourceLayout::offset is relative to the start of an image
This commit adds new tests that verify VkSubresourceLayout includes
the right value for an offset if an image is bound with the offset.
VK-GL-CTS Issue: 3552
New tests:
dEQP-VK.ycbcr.subresource_offset.*
dEQP-VK.image.subresource_layout.*_offset
Components: Vulkan
Change-Id: Iefaa1a6e0266f8dd599abace0b5f6bb6617fe4af
Jari Komppa [Mon, 16 May 2022 09:28:54 +0000 (12:28 +0300)]
Add inter-process communcation to shader cache
This change allows running several instances of CTS which share a single
shader cache.
std::map which was used to hold the cache index was replaced by a simple
binary search tree implementation in order to play nice in a
pre-allocated buffer. Benchmarking gives approximately same performance
or better in random cases. Worst case behavior is terrible, but did not
occur while testing after integrating with CTS.
By default the size of the index is 1M entries, taking 16M of memory.
This memory pool is not resized dynamically, and will assert if over 1M
unique shaders are inserted to the cache.
Additional small improvement to the shader cache behavior avoids
re-hashing the cache key at cache miss.
For platforms that do not support IPC, the IPC code can be compiled out
using a predefined macro DISABLE_SHADERCACHE_IPC.
The IPC behavior is disabled by default, leading to old behavior, except
for the std::map to bst change and no re-hashing.
Affects:
*
VK-GL-CTS issue: 3565
Change-Id: I4f2433256968b76de26c9bd50981454bb4accae0
Jeff Bolz [Fri, 20 May 2022 03:33:03 +0000 (22:33 -0500)]
Add command line parameter to override Vulkan library path
Components: Vulkan, VulkanSC
Change-Id: I368d4673dac8ba235e3cc30e827dccf1f37c5153
Juha Heiskanen [Tue, 10 May 2022 13:45:57 +0000 (16:45 +0300)]
Dynamic rendering with NULL shading rate image
VK_KHR_dynamic_rendering attachments tests are now including cases,
where VK_NULL_HANDLE is passed to
VkRenderingFragmentShadingRateAttachmentInfoKHR.imageView.
Components: Vulkan
VK-GL-CTS Issue: 3577
New tests:
dEQP-VK.fragment_shading_rate.dynamic_rendering.primary_cmd_buff.monolithic.attachment_rate.*null_shading
Change-Id: I98f4b798e8e691ff64e9a2b2248732089016373f
Ricardo Garcia [Tue, 17 May 2022 13:30:21 +0000 (15:30 +0200)]
Test imageSize() on 2D image views from 3D images
This needs VK_EXT_image_2d_view_of_3d.
New tests:
dEQP-VK.image.image_size.*2d_view_*
Affected tests:
dEQP-VK.image.image_size.*
Components: Vulkan
VK-GL-CTS issue: 3651
Change-Id: I369805ed26094cbc8812826eb9c79f352fca2e61
Juha Heiskanen [Fri, 27 May 2022 08:24:56 +0000 (11:24 +0300)]
Bug fix for current variableSampleLocations tests + new tests
Support check for variableSampleLocations has been added to previously
created sample_locations_ext.verify_location tests. This CL adds also
new tests, which are now using pPostSubpassSampleLocations
correctly if variableSampleLocations == FALSE.
Components: Vulkan
VK-GL-CTS Issue: 3623
Affects:
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples_2
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples_4
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples_8
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples_16
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples*dynamic
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples*packed
New tests:
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples*_invariable
Change-Id: I0e87c290c370ce3c534243280c40eda7b4fc6021
Toni Merilehti [Fri, 6 May 2022 06:23:56 +0000 (09:23 +0300)]
Test single-path switch statements
This CL tests switch statements that only have a default case and also
an empty case that falls through into a default case.
New tests:
dEQP-GLES3.functional.shaders.switch.default_only*
dEQP-GLES3.functional.shaders.switch.empty_case_default*
VK-GL-CTS Issue: 3659
Components: OpenGL
Change-Id: I9a59582ec2829d73f590f1fe62d841b36e02e915
Jamie Madill [Thu, 19 May 2022 20:10:45 +0000 (16:10 -0400)]
Remove usages of std::iterator
std::iterator is deprecated in C++17.
VK-GL-CTS issue: 3703
Change-Id: Ic914f1443457bbdfb62d47e5e6245c1ee4fad31d
Pierre-Eric Pelloux-Prayer [Thu, 5 May 2022 15:36:35 +0000 (17:36 +0200)]
Fix ShaderBallotFunctionRead test
The current version of the test draws at 2x2 quad, expecting the value of the
4 pixels to be the same because readFirstInvocationARB is used.
The problem is that depending on the resolution used: if the 4 fragments are
processed in more than one sub-group, then the test will fail.
For instance, on AMD hw the test would pass using the default resolution, but
fail for 256x256.
Fix this by drawing in the top-left corner instead of the middle of the screen.
VK-GL-CTS public issue: 251
Components: OpenGL
Affects:
KHR-GL*shader_ballot_tests.ShaderBallotFunctionRead
Change-Id: Ib182976aeeaab1380d3a5e1cad97fe898cbcdb8e
Younggwan Kim [Thu, 21 Apr 2022 14:42:58 +0000 (15:42 +0100)]
Add autogenerate with GL_EXT_fragment_shading_rate
Change-Id: I6595c65e411b0f6c192e35dc63407e319bc9d676
Alan Zhao [Thu, 19 May 2022 18:54:48 +0000 (14:54 -0400)]
Remove usages of std::iterator
std::iterator is deprecated in C++17, and its presence is blocking
Chromium from updating libc++ (https://crbug.com/1273285).
Components: Framework
VK-GL-CTS Issue: 3703
Change-Id: I4f8a50a3d0fc09b20c7f94807902770beb09d295
Younggwan Kim [Mon, 11 Apr 2022 09:07:40 +0000 (10:07 +0100)]
Update gl.xml and fix script to build properly
gles spec sha:
b0643365776c260efc6317d2ff67dd8bf5078be9
fix scripts/opengl/gen_call_log_wrapper.py script file to build
Components: Framerwork, OpenGL
Change-Id: I9dbeec42a1127469f0e98cdd68a2f88d12007642
Matthew Netsch [Thu, 2 Jun 2022 22:03:39 +0000 (22:03 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main
Change-Id: I87fcdfdea92e5a3ba36454128ee4e2092c33c4f9
Mike Blumenkrantz [Fri, 22 Apr 2022 13:12:26 +0000 (09:12 -0400)]
Rework sparse texture shader typing
This previously would try to jam 2D textures into 2DArray-using
shaders and vice versa, so instead just use layered image
binding when appropriate and pass both texture targets to ensure
that everything always matches up nicely.
Affects:
KHR-GL46.sparse_texture2_tests.SparseTexture2Commitment
KHR-GL46.sparse_texture2_tests.SparseTexture2Lookup
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupColor
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupResidency
KHR-GL46.sparse_texture_tests.SparseTextureAllocation
KHR-GL46.sparse_texture_tests.SparseTextureCommitment
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: Iea7d1027784aaad4969b01372895939ac96968bc
Matthew Netsch [Thu, 2 Jun 2022 21:22:12 +0000 (21:22 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main
Change-Id: I011f48b25cfd0f2b951425ea770220a6dcaa3e1a
Andy Candet [Sat, 16 Apr 2022 20:16:53 +0000 (21:16 +0100)]
Fix extension checks for EGL external image tests
Commit 2090c97 extended dEQP-EGL.functional.image.modify.* with new
actions to test sampling from an external image. The actions implement
getRequiredExtension, so they were likely intended to be skipped if
GL_OES_EGL_image_external is not available.
However, extension checks are only performed for actions invoked through
ImageFormatCase. These actions are invoked one level down the call
stack, through RenderTryAll.
The result is that 22 tests in dEQP-EGL.functional.image.modify.* fail
during shader compilation if the extension is not available.
This commit adds an extension check to RenderTryAll::invokeGLES. Actions
will be skipped if the check fails. This is probably what was intended
in the first place, since RenderTryAll ignores NotSupported results.
Affects: dEQP-EGL.functional.image.modify.*
Components: EGL
Change-Id: Id1106d69fbe71d39695fc32513d80d23f1e94b40
Matthew Netsch [Thu, 2 Jun 2022 20:51:45 +0000 (20:51 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Change-Id: Ib621fd1a176f1921e3b12c8e9df7f51f552df695
Matthew Netsch [Thu, 2 Jun 2022 20:14:29 +0000 (20:14 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: I6edc6c1598e5a0e4d92c1e3d5aeb7baa1688c888
Ari Suonpaa [Wed, 18 May 2022 10:14:47 +0000 (13:14 +0300)]
Fix sample mask calculation
Sample mask calculation path was executed even when sample
was -1, causing a large number to be used for a shift. Now
a sample mask of zero is chosen instead.
VK-GL-CTS Issue: 3329
Affects:
dEQP-GLES31.functional.texture.multisample.*.sample_mask_and_alpha_to_coverage
Components: OpenGL ES
Change-Id: Ie5600ead5a5b0228a3ed255d7e4cc49a314a7ba6
Matthew Netsch [Thu, 2 Jun 2022 20:13:01 +0000 (13:13 -0700)]
Merge vk-gl-cts/vulkansc-cts-1.0.0 into vk-gl-cts/main
Change-Id: I25fc44097a2c5271bdc9fa082fab612558e35b2b
Marcin Zając [Tue, 17 May 2022 15:40:26 +0000 (17:40 +0200)]
writeSupportedExtensions for VKSC
Remove depreciated extensions_data.txt file in gen_framework.py
for vkSupportedExtensions.inl file generation
Components: Vulkan
VK-GL-CTS issue: 3690
Change-Id: Id216ea169c4245fc81177ca02677bbbf7320b803
Gangzheng Tong [Mon, 16 May 2022 18:23:01 +0000 (18:23 +0000)]
Fix valid usage violation in vkFreeDescriptorSets
The descriptor pool used in vkFreeDescriptorSets was not created with
the VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT flag, resulting a
valid usage check failed in the driver. Adding the flags fixes the
issue.
Affects:
dEQP-VKSC.sc.device_object_reservation.limits.request_count.*
Componnets:
VulkanSC
Change-Id: Id5ecff4c58478c13aaf035eaff07554c3260abf0
Aidan Fabius [Tue, 10 May 2022 23:01:51 +0000 (19:01 -0400)]
Fixed YCbCr conversion tests in Vulkan SC
Main process was skipping calls to uploadImage/fillImageMemory that
create an additional VkCommandPool that wasn't accounted for in the
subprocess memory reservation.
Affects:
dEQP-VKSC.ycbcr.conversion.*
Change-Id: If438ff06af67895209a08f8b0eaeb3fc46514a29
Jeff Bolz [Tue, 22 Mar 2022 18:24:57 +0000 (13:24 -0500)]
Check format features for both formats in LoadStoreTests
These tests unconditionally create both images with STORAGE usage,
so they need to check for support for both formats.
Components: Vulkan, VulkanSC
Affects Tests: dEQP-VK.image.*
Change-Id: If37e375a9e5942d684d5a74325c0dffaedb3b824
Marcin Zając [Fri, 20 May 2022 14:01:05 +0000 (16:01 +0200)]
Missing VK_KHR_object_refresh
VKSC only, featureless, non-core extension forces
modifications to the gen_framework.py script.
Components: Vulkan
VK-GL-CTS issue: 3699
Change-Id: I07ebd24f5172a3008072ef6a64543f1df949dbf9
Juha Heiskanen [Tue, 26 Apr 2022 06:29:06 +0000 (09:29 +0300)]
Add required support check for IsHelperInvocationEXT test
IsHelperInvocationEXT test requires the GroupNonUniformQuad capability,
but it did not check for VK_SUBGROUP_FEATURE_QUAD_BIT in
VkPhysicalDeviceSubgroupProperties::supportedOperations. This commit
adds the support check for needed feature.
Components: Vulkan
VK-GL-CTS Issue: 3654
Affects: dEQP-VK.draw.renderpass.shader_invocation.helper_invocation
Change-Id: I3da8d72cf4172288830b61d71cc69baf84500277
Ari Suonpaa [Wed, 11 May 2022 06:02:10 +0000 (09:02 +0300)]
Add a batch of GraphicsFuzz coverage tests
This commit adds a batch of GraphicsFuzz coverage tests.
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.cov-clamp-value-and-min-select-uniform
dEQP-VK.graphicsfuzz.cov-find-msb-input-either-zero-or-minus-one
dEQP-VK.graphicsfuzz.cov-fragcoord-select-always-one
dEQP-VK.graphicsfuzz.cov-function-check-argument-one-always-return-minus-one
dEQP-VK.graphicsfuzz.cov-function-global-variables-fragcoord-condition-call-twice
dEQP-VK.graphicsfuzz.cov-function-large-loop-always-return-first-iteration
dEQP-VK.graphicsfuzz.cov-function-min-identical-integer-division-multiplication
dEQP-VK.graphicsfuzz.cov-integer-variable-or-with-inversion
dEQP-VK.graphicsfuzz.cov-loop-function-call-vector-matrix-multiplication
dEQP-VK.graphicsfuzz.cov-loop-iterator-limit-xor-and-unifrom
dEQP-VK.graphicsfuzz.cov-loop-iterator-start-select-uniform-negative-integer
dEQP-VK.graphicsfuzz.cov-min-identical-uint-uniform-check-highest-bit
dEQP-VK.graphicsfuzz.cov-min-identical-uint-uniform
dEQP-VK.graphicsfuzz.cov-nested-loops-iterator-times-two-while-min
dEQP-VK.graphicsfuzz.cov-nested-loops-select-starting-value-fragcoord
Change-Id: I17f77f04cac88d59c882527aa173c210332763f7
Piers Daniell [Wed, 13 Apr 2022 18:01:42 +0000 (12:01 -0600)]
Test poolSizeCount can be zero
We are considering a spec "fix" to allow applications to set
the poolSizeCount parameter of VkDescriptorPoolCreateInfo to be zero.
The pending spec change is here: https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/5144
New test:
dEQP-VK.api.descriptor_pool.zero_pool_size_count
Components: Vulkan
VK-GL-CTS Issue: 3637
Change-Id: Ia8d1d95a610016f52afd65d4a16c5af77ba457c2
Jari Komppa [Thu, 10 Mar 2022 12:23:27 +0000 (14:23 +0200)]
Add tests for vkGet...SurfacePresentModes2EXT
Adds tests for vkGetPhysicalDeviceSurfacePresentModes2EXT with and
without the VK_GOOGLE_surfaceless_query extension.
New tests:
dEQP-VK.wsi.*.surface.query_present_modes2
dEQP-VK.wsi.*.surface.query_present_modes2_surfaceless
Components: Vulkan
VK-GL-CTS issue: 3559
Change-Id: I55ad0dce1a16365262ba346410687952bf6cc72e
Matthew Netsch [Mon, 16 May 2022 17:59:36 +0000 (10:59 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main
Change-Id: I6e7ad193b9481e3414a70b6c32d0e11ae319771f
Ari Suonpaa [Mon, 16 May 2022 12:17:47 +0000 (15:17 +0300)]
Fix division by zero
Fixed format threshold calculation caused division by zero
whenever less than four channels were used by the format.
This change uses threshold zero for the empty channels.
VK-GL-CTS Issue: 3332
Affects:
dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.*
Components: OpenGL ES
Change-Id: Ib6c8ee6ee0fa82d1f0514b639938c61ed7762381
Marcin Zając [Thu, 10 Mar 2022 16:10:18 +0000 (17:10 +0100)]
Merge branch 'vulkan-sc-cts-dev' into 'main'
Change-Id: I626d8743ae220c8aeb12bd3e6d10ed3e32f19084
Matthew Netsch [Fri, 13 May 2022 17:02:58 +0000 (10:02 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Change-Id: I02f8752c040a1ece951a3990c22b89eee72d98b2
Eilif Swensen [Wed, 27 Apr 2022 13:50:04 +0000 (15:50 +0200)]
Fix barrier in layer_copy_before_resolving tests
The pipeline barrier separating the clear command from the draw command
should have dstStageMask=VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
to ensure that the clear finished before the draw starts.
Affects:
dEQP-VK.api.copy_and_blit.*.resolve_image.layer_copy_before_resolving.*
dEQP-VK.api.copy_and_blit.*.resolve_image.copy_with_regions_before_resolving.*
Components: Vulkan
VK-GL-CTS issue: 3662
Change-Id: Idf91dcfa2e83760e3e9bc877ce11278217d8cbdc
Paul Thomson [Wed, 13 Apr 2022 17:41:30 +0000 (18:41 +0100)]
Fix EGL test list split
Component: Android
Google bug: b/
229087109
Change-Id: I1e7fd040742ef0c2dda48c9962f985ea4f517caa
Jari Komppa [Fri, 25 Mar 2022 08:02:58 +0000 (10:02 +0200)]
Separate device feature tests
This change separates the physical device features tests from
one monolithic test into separate tests so they can be ignored
on case by case basis.
The change also changes the hierarchy of the properties2.* group, moving
the existing tests to a new .basic leaf node.
Affected:
dEQP-VK.api.info.get_physical_device_properties2.*
New tests:
dEQP-VK.api.info.get_physical_device_properties2.features.*
Components: Vulkan
VK-GL-CTS issue: 3576
Change-Id: I48b2997be2775249cf67fb6a5be73962f94edf13
Matthew Netsch [Fri, 13 May 2022 14:57:51 +0000 (14:57 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Change-Id: I8d971d37d58627b18a19dd52321908eb869af752
Matthew Netsch [Thu, 12 May 2022 22:25:18 +0000 (22:25 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Change-Id: I662983106478f288aad30e3df36c7af8276e721f
Toni Merilehti [Tue, 26 Apr 2022 10:05:14 +0000 (13:05 +0300)]
Remove invalid texture filtering test cases
Remove the 3D texture filtering test cases that use YCbCr conversion
formats. Specification states that VK_IMAGE_TYPE_2D must be used
for formats that require a sampler YCbCr conversion.
Removed tests:
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.*
VK-GL-CTS Issue: 3646
Components: Vulkan
Change-Id: I31646db161da2f3d19d3f556b7bd39be6d261442
Matthew Netsch [Thu, 12 May 2022 21:57:41 +0000 (21:57 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I4b2a0404cbcf9d49920e96ffb41fdb6e558ff2a5
Matthew Netsch [Thu, 12 May 2022 21:30:04 +0000 (21:30 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: Id5e0c94c1ad19064f9bcf354b07ecb9a34f9bbb7
Matthew Netsch [Thu, 12 May 2022 21:05:06 +0000 (21:05 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I85db18b290ab8790b6b6ddd9417ed43c65d8e33f
Connor Abbott [Thu, 5 May 2022 16:58:03 +0000 (18:58 +0200)]
Fix second barrier access mask for transfers
This was TRANSFER_WRITE instead of TRANSFER_READ due to a typo.
Components: Vulkan
Affects:
dEQP-VK.synchronization2.none_stage.*
VK-GL-CTS Issue: 3672
Change-Id: Id62e91886bc6b2137a8f8a862185956a17fb3fab
Mike Blumenkrantz [Fri, 22 Apr 2022 13:09:31 +0000 (09:09 -0400)]
Set NEAREST filtering for sparse clamp lookup texture
Integer formats can't use LINEAR filtering here, so this was
a spec violation.
Given that LINEAR isn't being tested, just use NEAREST in all cases
to avoid complexity.
For the min filter use NEAREST_MIPMAP_NEAREST since mipmaps are used
by the test.
Affects:
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupResidency
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupColor
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I5bb7fcde24c4d3dcf0584bf91e96c4c5559b2b39
Matthew Netsch [Wed, 11 May 2022 15:27:38 +0000 (08:27 -0700)]
Fixes sparse flags
Spec requires that VK_IMAGE_CREATE_SPARSE_BINDING_BIT
is set if residency or alias bits are set
Components: Vulkan
VK-GL-CTS Issue: 3678
Affects:
dEQP-VK.api.info.image_format_properties.*
Change-Id: Ie8788567ae5189e6303fb7d3eb7e64b1bdd9dbcf
Matthew Netsch [Fri, 6 May 2022 16:42:29 +0000 (16:42 +0000)]
Merge vk-gl-cts/github-main into vk-gl-cts/main
Change-Id: Ic670f6c41b7ebe08ac046562f099283d3e098c36
Chia-I Wu [Thu, 17 Mar 2022 20:03:21 +0000 (13:03 -0700)]
Verify rectangular lines using the strict rule
Commit
7c89beb93 ("Add tests for non strict lines") accidentally changed
the verifcation of rectangluar lines to the non-strict rule.
Components: Vulkan
Affects: dEQP-VK.rasterization.primitives*.rectangular_line*
Change-Id: Iac3a50452af02bf6a807da1bcbf599f14732f505
Piotr Byszewski [Mon, 11 Apr 2022 14:52:45 +0000 (16:52 +0200)]
Remove unneeded commented block of code
While doing merge from main to dev/VK_KHR_graphics_pipeline_library
a block of code was used to figure out what changes should be applied
to GraphicsPipelineWrapper. After the merge was done part of this
code was left instead of being removed.
Components: Vulkan
VK-GL-CTS issue: 3310
Affects:
dEQP-VK.pipeline.*.depth.*
Change-Id: I8cf12b7646e2e32c3dfb675ee70b2fe751dce545
Graeme Leese [Mon, 28 Mar 2022 18:00:14 +0000 (19:00 +0100)]
Fix some status code clarifications
Some of the clarifications include the status as well. That meant that
they were printed as "Fail (fail (results differ))". This change removes
the extra, unneeded part.
Components: OpenGL
Affects: KHR-GL*.blend_equation_advanced.*
Change-Id: Ieeda43bbfb8e8d04d3e4a3f486a3391e399feee7
Piotr Byszewski [Mon, 21 Mar 2022 20:13:08 +0000 (21:13 +0100)]
Run FSR tests with secondary command buffers
Dynamic rendering tests in fragment_shading_rate group were replaced
with three sub groups: primary_cmd_buff, partial_secondary_cmd_buff
and complete_secondary_cmd_buff.
* primary_cmd_buff subgroup contains previously existing dynamic
rendering tests where drawing is done in primary command buffer.
* partial_secondary_cmd_buff contains tests where drawing commands
are recorded in secondary command buffer but begin/endRendering
are recorded to primary command buffer.
* complete_secondary_cmd_buff executes tests using secondaries that
completely contain the dynamic render pass.
Components: Vulkan
VK-GL-CTS issue: 3516
Affects:
dEQP-VK.fragment_shading_rate.*
Change-Id: I17f5f07c7cd1346d2a908ace5d62e5f970712ee8
Graeme Leese [Tue, 1 Feb 2022 16:11:35 +0000 (16:11 +0000)]
Expand the list of format for image store tests
None of these formats have a SPIR-V format qualifier, so they are only
supported in formatless tests, but feature_flags2 allows these formats
to be supported on some implementations.
The structure of the tests means that it's mostly the store tests that
are expanded -- most of the other types require format qualifiers for
most of the testing.
Components: Vulkan
Affects: dEQP-VK.image.store.without_format.*
dEQP-VK.image.format_reinterpret.*
Change-Id: I4f2f728b730177d4aa4cda4cdca4feb0d5ee7ad7
Toni Merilehti [Fri, 29 Apr 2022 07:18:42 +0000 (10:18 +0300)]
Test single-path switch statements
This CL tests switch statements that only have a default case and also
an empty case that falls through into a default case.
New tests:
dEQP-VK.glsl.switch.default_only*
dEQP-VK.glsl.switch.empty_case_default*
VK-GL-CTS Issue: 3660
Components: Vulkan
Change-Id: I69441956b7edc0d492bfbe47a288bcf1116e8d17
Ilkka Saarelainen [Fri, 18 Mar 2022 13:14:24 +0000 (15:14 +0200)]
Add tests for VK_EXT_image_2d_view_of_3d
This CL adds new tests for extension VK_EXT_image_2d_view_of_3d.
VK-GL-CTS Issue: 3113
New tests:
dEQP-VK.pipeline.*.image_2d_view_3d_image.*
Components: Vulkan, Framework
Change-Id: I8f2852e45980950949cc51478040f8df8043554e
Antto Mäkinen [Thu, 14 Apr 2022 12:21:45 +0000 (15:21 +0300)]
Add coverage for MSAA copies with BindImageMemory(offset != 0)
VK-GL-CTS Issue: 3474
New tests:
dEQP-VK.api.copy_and_blit.*.*_bind_offset
Components: Vulkan
Change-Id: Iedb6a4d83fe7a9962afb3724b1c73766a8cda1aa
Ari Suonpaa [Thu, 21 Apr 2022 10:52:25 +0000 (13:52 +0300)]
Add test for depth comparison with texel replacement
Amber version is also updated to get support for comparison
settings in a sampler object.
VK-GL-CTS Issue: 3604
New tests:
dEQP-VK.texture.shadow.texel_replacement.d32_sfloat
Components: Vulkan
Change-Id: I09d0b6af85195377e1b0903c3a8538f62034c1a1
Charles Giessen [Wed, 30 Mar 2022 22:41:48 +0000 (16:41 -0600)]
Support VK_KHR_portability_enumeration
Fixes #3644 by adding VK_KHR_portability_enumeration to the list
of known extensions with the addition of a corresponding json file.
Components: Vulkan
Affected Tests:
All vulkan tests
Change-Id: I80bf42509ea01712e6a6e5123a6e097fce00aacc
Charles Giessen [Wed, 30 Mar 2022 22:41:48 +0000 (16:41 -0600)]
Support VK_KHR_portability_enumeration
The portability enumeration extension needs to be enabled if it is
present to allow for CTS to enumerate portability devices.
This commit refactors createDefaultInstance so that it only enumerates
the available instance extensions once instead of twice.
It fixees #3644 by adding VK_KHR_portability_enumeration to the list
of known extensions with the addition of a corresponding json file.
Components: Vulkan
Affected Tests:
All vulkan tests
Change-Id: Ib828ee9f385f2eb2e68e03a6b3b3632443da10df
Piers Daniell [Wed, 27 Apr 2022 19:35:06 +0000 (13:35 -0600)]
Modify pipeline library tests to always specify the layout
A recent Vulkan spec change for the VK_KHT_graphics_pipeline_library
extension now requires the VkGraphicsPipelineCreateInfo.layout
field to always be valid for final-link pipelines and never NULL.
Several tests were still using a NULL layout for either the fast
link or optimized link.
This CL updates all tests to now specify a valid layout and
also removes a test variant that explicitly tested the NULL case.
Affects:
dEQP-VK.pipeline.*
Components: Vulkan
VK-GL-CTS Issue: 3661
Change-Id: I5471a9381c3be6e110106004bc3a22110b144864
Jari Komppa [Wed, 20 Apr 2022 11:50:15 +0000 (14:50 +0300)]
Do not query unsupported structures
Changes the behavior of the get_physical_device_properties2.properties
test to not include structures in the query chain for which support is
not reported. The test can now also return not supported result in case
none of the structures is supported (a pure Vulkan 1.0
implementation).
Affected:
dEQP-VK.api.info.get_physical_device_properties2.properties
Components: Vulkan
VK-GL-CTS issue: 3610
Change-Id: I81a3f50743e720b9c7094927a17fae9fa72d7d40
Ricardo Garcia [Tue, 26 Apr 2022 09:48:41 +0000 (11:48 +0200)]
Fix acceleration structure vertex and index flushes
Flush the whole allocation when updating vertex and index buffers during
ray tracing acceleration structure builds. The code currently does not
track both the offset and size align to nonCoherentAtomSize, and most
vertex and index buffer allocations are actually on coherent memory.
Flushing the whole allocation allows us to avoid several validation
errors like VUID-VkMappedMemoryRange-size-01390.
Affected tests:
dEQP-VK.ray_tracing*
dEQP-VK.ray_query*
Components: Vulkan
VK-GL-CTS issue: 3656
Change-Id: I5edbbc3b67ab46eaea568842f06dc53664e78e42
Matthew Netsch [Fri, 6 May 2022 15:42:40 +0000 (15:42 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/main
Change-Id: Iaec16bec07e014cdcb25f22e8fadd26777fefb03
Matthew Netsch [Fri, 6 May 2022 15:04:01 +0000 (15:04 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Change-Id: Iab357d9f9a46d2bbe710bd116003c8da423c9709
Matthew Netsch [Thu, 5 May 2022 20:38:52 +0000 (13:38 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Change-Id: I4378bcd20e3ec3e88838dbf9a2f6d6372ba463b6
zhangkai [Thu, 14 Apr 2022 02:13:08 +0000 (19:13 -0700)]
Increase tolerance in fp64 mat3determinant compute
On QNX, the library function `strtod` has different behavior
from other platforms. It would convert string to a double value
slightly different. So increasing the tolerance slightly would
solve the problem.
Affected tests:
dEQP-VK.glsl.builtin.precision_double.determinant.compute.mat3
VK-GL-CTS issue: 3642
Components: Vulkan
Change-Id: I2c30029d0d6297b660e2900217d6aeb5d3bf3186
Piotr Byszewski [Mon, 25 Apr 2022 12:14:16 +0000 (14:14 +0200)]
Fix extension data for EXT_texel_buffer_alignment
Only the properties structure was promoted for
VK_EXT_texel_buffer_alignment, the feature structure was not
promoted. This change removes specification of "core" attribute
from "register_extension" tag for this extension as only fully
promoted extensions can have it defined.
VK-GL-CTS issue: 3564
Components: Framework, Vulkan
Affects:
dEQP-VK.*
Change-Id: If1873b8292f1e79ef557876ebb7d8d9cf9d7de83
Charles Giessen [Wed, 30 Mar 2022 22:41:48 +0000 (16:41 -0600)]
Support VK_KHR_portability_enumeration
The portability enumeration extension needs to be enabled if it is
present to allow for CTS to enumerate portability devices.
This commit refactors createDefaultInstance so that it only enumerates
the available instance extensions once instead of twice.
It fixees #3644 by adding VK_KHR_portability_enumeration to the list
of known extensions with the addition of a corresponding json file.
Components: Vulkan
Affected Tests:
All vulkan tests
Change-Id: Ib828ee9f385f2eb2e68e03a6b3b3632443da10df
Matthew Netsch [Thu, 5 May 2022 18:41:19 +0000 (18:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Change-Id: Ia788a27e2bb8cf6ca92e09e378af26db6f50f68f
Ilkka Saarelainen [Tue, 29 Mar 2022 10:30:06 +0000 (13:30 +0300)]
Reduce advertised sys mem on 32 bit Android
This CL reduces the advertised system memory amount in 32 bit Android
builds to address some memory fragmentation issues in certain tests
that rely on the advertised memory amount.
Affects:
dEQP-VK.api.buffer.suballocation.*
dEQP-VK.api.buffer.dedicated_alloc.*
dEQP-VK.api.object_management.*
dEQP-VK.memory.allocation.*
dEQP-VK.memory.device_group_allocation.*
dEQP-VK.pipeline.render_to_image.*.small.*
dEQP-VK.pipeline.render_to_image.*.huge.*
Components: Framework, Vulkan
VK-GL-CTS issue: 3586
Change-Id: I15ef027e3f69ddbb87e8704d0cff479782b6bda6
Matthew Netsch [Thu, 5 May 2022 18:13:29 +0000 (18:13 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: Iba260ee0d9195e18e2e41ee3ec525cf5e66faa0d
Matthew Netsch [Thu, 5 May 2022 16:48:43 +0000 (09:48 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Change-Id: Iaeb3f5ee3ef401ef4c0d4d7db27703e8f5b6012d
Connor Abbott [Fri, 13 Aug 2021 15:37:54 +0000 (17:37 +0200)]
Don't alias image views in separate_channels subpass dependency tests
This is not allowed by the Vulkan spec:
> Multiple attachments that alias the same memory must not be used in a
> single subpass.
Instead we should have the input attachment and color attachment point
to the same attachment, which is allowed.
Components: Vulkan
Affects:
dEQP-VK.renderpass.suballocation.subpass_dependencies.separate_channels.*
dEQP-VK.renderpass2.suballocation.subpass_dependencies.separate_channels.*
VK-GL-CTS Issue: 3052
Change-Id: Iddb1111be5147f9816104fa879e023a9a3445555
(cherry picked from commit
a3e659e828a535582207149cf58a8580d45a0342)
Paul Thomson [Wed, 13 Apr 2022 18:38:46 +0000 (19:38 +0100)]
Fix DeqpTestRunnerTest
Component: Android
Google bug: b/
206657494
Google bug: b/
201652781
Change-Id: I3438b200105bc04ee63b0454a7ce32e4acd4de4b
Matthew Netsch [Thu, 5 May 2022 15:50:24 +0000 (15:50 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Change-Id: I4dbdafea321464fe25499e0a7d415488729d77ce
Ricardo Garcia [Tue, 19 Apr 2022 09:26:29 +0000 (11:26 +0200)]
Synchronize input attachment reads in IO chains
Each subpass in the render pass IO chain tests attempts to read the
output of the previous subpass as an input attachment, but the subpass
dependencies are missing VK_ACCESS_INPUT_ATTACHMENT_READ_BIT from the
flags in dstAccessMask.
Affected tests:
dEQP-VK.renderpass*.attachment_allocation.*
Components: Vulkan
VK-GL-CTS issue: 3643
Change-Id: I63b49709ee8cb03e364050253dc2a8a48c5b58cd
Ricardo Garcia [Tue, 19 Apr 2022 09:53:54 +0000 (11:53 +0200)]
Wait for idle queue after submitting an empty job
The test below imports an external signaled semaphore and submits to the
queue an empty job that waits on that signaled sempahore, but the test
returns without any further wait, which means the external sempahore may
be destroyed before the driver has had a chance to use it.
Affected tests:
dEQP-VK.api.external.semaphore.sync_fd.import_signaled_temporary
Components: Vulkan
VK-GL-CTS issue: 3636
Change-Id: I3e8daa9146f6fd542ad20539a7e9b6c9f0242978
Boris Zanin [Wed, 13 Apr 2022 11:57:22 +0000 (13:57 +0200)]
Limit dimensionality of arrays-of-arrays in random SSBO tests
One of these tests used a 5 dimensional array-of-arrays, resulting
in thousands of instructions that caused issues on devices with low
ram. This change limits the total dimensionality to prevent this.
Components: Vulkan
VK-GL-CTS issue: 1829
Solves:
dEQP-VK.ssbo.layout.random.scalar.75
Affects:
dEQP-VK.ssbo.*.random.*
Change-Id: Ibee39ccb0bd1543dafce7c498f56def1e05b4815
Matthew Netsch [Fri, 29 Apr 2022 18:11:54 +0000 (14:11 -0400)]
Merge pull request #314 from etra0/patch-1
vulkancts: update mustpass path in README.
Mike Blumenkrantz [Thu, 21 Apr 2022 19:52:14 +0000 (15:52 -0400)]
Skip mipmap generation for integer sparse texture formats
According to historical records, this is unsupported, and Mesa throws
GL_INVALID_OPERATION to confirm that it is unsupported.
Affects:
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I29dc008b6201939b2b7354b0843e018b9db4069c
Mike Blumenkrantz [Thu, 21 Apr 2022 19:30:34 +0000 (15:30 -0400)]
Fix texture target for verifying sparse data
This otherwise is a mismatch of a 2D_ARRAY image in a shader
that expects 2D.
Affects:
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I85cb70b17b9174cbf4c24481c97bf49f81763a2b
Mike Blumenkrantz [Thu, 21 Apr 2022 17:56:46 +0000 (13:56 -0400)]
Improve sparse texture failure errors
Provide more error messages that help debug implementation issues.
Affects:
KHR-GL46.sparse_texture2_tests.SparseTexture2Commitment
KHR-GL46.sparse_texture2_tests.SparseTexture2Lookup
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupColor
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupResidency
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I45876884de16d3619b57027b9f9038d3b3135507
Mike Blumenkrantz [Thu, 21 Apr 2022 17:13:05 +0000 (13:13 -0400)]
Filter out invalid formats for sparse buffer texture queries
These formats are valid for textures, but not texture buffers
according to ARB_texture_buffer_object.
Affects:
KHR-GL46.sparse_texture2_tests.StandardPageSizesTestCase
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I0063ab333176958f5362b18b3e8363f033375efc
Mike Blumenkrantz [Thu, 31 Mar 2022 20:50:41 +0000 (16:50 -0400)]
Fix deinit of gl sparse buffer test
deinit here is expected to uncommit the range that was committed by
init, so use the same range that was used by init.
Affects:
KHR-GL46.sparse_buffer_tests.BufferStorageTest
Components: OpenGL
VK-GL-CTS issue: 3653
Change-Id: I0adce28475c4eab48a8fb6b0aa538b7c016f435b
Piers Daniell [Wed, 20 Apr 2022 23:10:12 +0000 (17:10 -0600)]
Fix 32-bit compilation warning
There was a call to new[] in vktSpvAsmTrinaryMinMaxTests.cpp that used
a 64-bit values as an allocation size, which is not the type the
new operator expects when compiling for a 32-bit target.
Add a cast to fix the warning.
Affects:
dEQP-VK.spirv_assembly.instruction.amd_trinary_minmax.*
Components: Vulkan
Change-Id: I0941033614d67530f6cc157b5923e47bdca5c5a9
Sebastián Aedo [Tue, 19 Apr 2022 16:57:25 +0000 (12:57 -0400)]
vulkancts: update mustpass path.
Since the branch was renamed, the mustpass path was changed too.
Signed-off-by: Sebastián Aedo <saedo@codeweavers.com>
Matthew Netsch [Thu, 14 Apr 2022 21:03:31 +0000 (21:03 +0000)]
Merge vk-gl-cts/github-main into vk-gl-cts/main
Change-Id: If663da5dc063fd97bed82597175d269a29816912
Matthew Netsch [Mon, 11 Apr 2022 15:15:41 +0000 (08:15 -0700)]
Update known conformance version for 1.3.2.0
Components: Framework, Vulkan
VK-GL-CTS Issue: 3628
Affects:
dEQP-VK.api.driver_properties.conformance_version
Change-Id: I5d099f42fd1cc68f8a667ec368fc635ab41f8906
Piers Daniell [Fri, 8 Apr 2022 22:05:43 +0000 (16:05 -0600)]
Use getDevice() instead of m_logicalDevice.get() so it works in both paths
This CL fixes a regression introduced with CL9062. For the non-dynamic
paths of the test the m_logicalDevice does not contain a valid
device handle. The newly added getDevice() already handles both
the dynamic and non-dynamic paths, so use that instead of
m_logicalDevice.get().
Affects:
dEQP-VK.memory.binding.*
Components: Vulkan
VK-GL-CTS Issue: 3627
Change-Id: I4ebf74a000553d70db86035ac50b2d4f3257d6ac
Piotr Byszewski [Tue, 12 Apr 2022 12:46:11 +0000 (14:46 +0200)]
Fix GLES CTS mustpass files moved after GPL merge
While performing merge from master to graphics_pipeline_library
dev branch two mustpass files were merged incorrectly. They
were somehow moved and this change restores those files.
Components: AOSP, OpenGL
VK-GL-CTS issue: 3633
Affects:
dEQP-GL*
Change-Id: I488e9f98decc434928dd64156ef4d81904b397e5
Ricardo Garcia [Thu, 7 Apr 2022 09:43:33 +0000 (11:43 +0200)]
Avoid using unsupported rasterization order feature struct
Rasterization order attachment tests with explicit synchronization
mechanisms were chaining the features structure, but these tests are run
on implementations not supporting the extension.
Affected tests:
dEQP-VK.rasterization.rasterization_order_attachment_access.*
Components: Vulkan
VK-GL-CTS issue: 3617
Change-Id: Ia3d3fac2960d1588007c320ed1b92bb6160527fb
Tomasz Owczarek [Tue, 5 Apr 2022 13:13:31 +0000 (14:13 +0100)]
Fixed non zero mip compressed texture tests failure
Fixed non zero mip compressed texture tests failure
when sampling coordinates at the edge of pixels.
Components: Vulkan
VK-GL-CTS Issue: 3619
Affects:
dEQP-VK.texture.compressed*_npot_mip1
Change-Id: I4bbc80831233ebcecc34612b7fa488e94dde630a
Matthew Netsch [Thu, 14 Apr 2022 20:00:03 +0000 (20:00 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/main
Change-Id: I877de4d3a18e22d812b8016f2cdaf9e2894f337d
Matthew Netsch [Thu, 14 Apr 2022 19:32:34 +0000 (19:32 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Change-Id: Ieaa4503461360290f485df78a83ba2422a6b0dfa
James Fitzpatrick [Thu, 14 Apr 2022 09:46:59 +0000 (10:46 +0100)]
Fix accidentally removed extension
VK_KHR_global_priority was accidentally removed from the list of allowed
extensions.
Affects:
dEQP-VK.info.device_extensions
dEQP-VK.info.device_mandatory_features
Components: vulkan
VK-GL-CTS issue: 3639
Change-Id: I3173fa11c27358ad04fb970518b53ecf0e917865
Piers Daniell [Wed, 13 Apr 2022 15:23:40 +0000 (09:23 -0600)]
Update known conformance version for 1.3.1.1
Components: Framework, Vulkan
VK-GL-CTS Issue: 3628
Affects:
dEQP-VK.api.driver_properties.conformance_version
Change-Id: I3aa80d23caf74db9a5b00be19f3e80013c6d5a5a
Luc Ma [Thu, 14 Oct 2021 12:50:44 +0000 (20:50 +0800)]
explicitly provides ssh urls to GitRepo declarations
In case of poor cyber condition, git fetches based on ssh protocol
instead of https may be a better choice. The only thing that needs
is an appropriate url.
Also fixes issue 289
Signed-off-by: Luc Ma <onion0709@gmail.com>
Components: Framework
VK-GL-CTS public issue: 289
Change-Id: I6e121a50cfe3f0361defd34a8b961777e9f5751e