Eric Werness [Thu, 10 Nov 2022 22:23:15 +0000 (14:23 -0800)]
Some refactorings to improve wildcard performance on debug CTS builds
Measuring a VS2019 debug build running "--deqp-case=dEQP-VK.*faketestname" these changes
take the runtime from 800 seconds to 240 seconds
Tests run locally:
--deqp-case=dEQP-VK.*faketestname and confirmed zero tests run and improved performance with debug build
Following commands run and confirmed same count of tests before and after the change:
Wildcard without dot
--deqp-case=dEQP-VK.ray_tracing_pipeline*rgen*
Wildcard with dot
--deqp-case=dEQP-VK.info.*
Wildcard at start and end
--deqp-case=*peer_memory*
Components: Framework
VK-GL-CTS issue: 4149
Change-Id: I91348b3e0824014897393b6ee07864a4b786186f
ziga-lunarg [Thu, 8 Dec 2022 20:27:20 +0000 (21:27 +0100)]
Fix enabling robustBufferAccess in robust buffer write tests
Components: Vulkan
VK-GL-CTS issue: 4168
Affected tests:
dEQP-VK.robustness.buffer_access.*.oob_storage_write.*
Change-Id: I14f612e461093c777bdede50b3d665fa7914ea13
ziga-lunarg [Wed, 7 Dec 2022 16:22:19 +0000 (17:22 +0100)]
Fix promoted feature structures tests
Do not use structures from partially promoted features
Components: Vulkan
VK-GL-CTS issue: 4161
Affected tests:
dEQP-VK.api.info.get_physical_device_properties2.features.create_device_with_promoted1*_structures
Change-Id: I06d27e5371c5193c557c628db715698e2ada07a5
Piotr Byszewski [Mon, 19 Dec 2022 08:11:13 +0000 (09:11 +0100)]
Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
Change-Id: I4518d23a12781a845bc33bacd811b692689ef907
Sławomir Cygan [Fri, 16 Sep 2022 16:22:14 +0000 (18:22 +0200)]
Fix src stage value in pipeline barrier used to init resolve images
srcStage cannot be 0 it synchronization2 feature is not explicitely
required (enabled) by the test.
Components: Vulkan
VK-GL-CTS Issue: 3949
Change-Id: I66d3b5b55ca3732ede7284a010a68841c0a04275
Affects: dEQP-VK.pipeline.*.multisample.misc.dynamic_rendering.*
Slawomir Cygan [Tue, 22 Nov 2022 16:50:16 +0000 (17:50 +0100)]
Allow 0 creation duration for pipeline libraries without shaders
Affects: dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.*
VK-GL-CTS Issue: 4130
Components: Vulkan
Change-Id: Iebdeb76d30d4144ccba83c7d3ad4de7f269552c8
Piotr Byszewski [Sun, 18 Dec 2022 16:24:48 +0000 (17:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/vulkan-cts-1.3.4
Change-Id: I473fdbb6258063ddc4b07598519f9212cf4850ef
Piotr Byszewski [Fri, 16 Dec 2022 16:02:14 +0000 (17:02 +0100)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
Change-Id: I5b755219964c807f381973f14ad15f7806eb44ab
Slawomir Cygan [Mon, 14 Nov 2022 16:28:10 +0000 (17:28 +0100)]
Add randomized constants to shaders in compare_link_times test
Add some randomization to shaders in compare_link_times test
to get reproductible compilation times.
VK-GL-CTS Issue: 4109
Components: Vulkan
Affects:
dEQP-VK.pipeline.pipeline_library.graphics_library.misc.timing.compare_link_times
Change-Id: Idbd38d611edc955916b2c756115702cccd16a7d8
ziga-lunarg [Sat, 10 Dec 2022 22:09:31 +0000 (23:09 +0100)]
Fix invalid framebuffer in compressed texture 3D tests
Framebuffer attachments must be created with viewType not equal to
VK_IMAGE_VIEW_TYPE_3D
Components: Vulkan
VK-GL-CTS issue: 4118
Affected tests:
dEQP-VK.texture.compressed_3D.*
Change-Id: I221fcc033266f8c344079f9ee9b1fa70c56d9dd9
ziga-lunarg [Mon, 5 Dec 2022 14:12:06 +0000 (15:12 +0100)]
Fix stencil op in depth bounds tests
If stencil attachment is in a read only layout and stencil test is
enabled, the stencil ops in VkPipelineDepthStencilStateCreateInfo must
be VK_STENCIL_OP_KEEP
Components: Vulkan
VK-GL-CTS issue: 4155
Affected tests:
dEQP-VK.dynamic_state.*.ds_state.depth_bounds_2*
Change-Id: Ifeb2ddca71e5cbd60afebd8d8b6dd77b5e7f2e9b
Friedrich Vock [Mon, 5 Dec 2022 08:13:06 +0000 (09:13 +0100)]
Fix result image format in RT pipeline flags test
Tests were using an rgba32i format (VK_FORMAT_R32G32B32A32_SINT) but
declaring it in the shader as r32i.
Affects:
dEQP-VK.ray_tracing_pipeline.pipeline_no_null_shaders_flag.*
Components: Vulkan
VK-GL-CTS issue: 4151
VK-GL-CTS public issue: 365
Change-Id: Ia9dbd97544fce8a29a4fe7270fc617981648032f
Charlie Turner [Wed, 23 Nov 2022 21:35:05 +0000 (21:35 +0000)]
Adds missing multisample state structs.
When compiling a fragment shader pipeline library, the fragment shader
state is defined by, among other state, the
VkPipelineMultisampleStateCreateInfo if sample shading is enabled.
In the affected tests, a fragment shader module was being compiled
which accessed builtins decorated with SampleId. This in turn enabled
sample shading, and in such cases, the
VkPipelineMultisampleStateCreateInfo is potentially required by
drivers for their internal logic. For this reason the spec mandates
the struct's inclusion in the fragment shader state when sample
shading is enabled.
Unfortunately it's not simple to change the GraphicsPipelineWrapper to
avoid this erroneous configuration, since in general it would require
parsing the SPIR-V to check if the fragment shader is accessing any
input builtins with the problematic decorations.
Instead a validation run was done over
dEQP-VK.pipeline.pipeline_library.* to ensure there aren't other
callsites falling into this trap, and no other cases were found.
Components: Vulkan
Affects:
dEQP-VK.pipeline.pipeline_library.multisample.*
VK-GL-CTS issue: 3975
Change-Id: I33a6b391af800eb6c23d846b70a4aac2387a74e3
Piotr Byszewski [Fri, 16 Dec 2022 14:13:57 +0000 (15:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Change-Id: I2d8979c34c4b9a18509e5c00ba123fa2a7520451
Andrew Fobel [Mon, 5 Dec 2022 21:16:01 +0000 (16:16 -0500)]
Fix VK_KHR_global_priority tests
Use enabledExtensions to properly enable VK_EXT_global_priority_query
along with passing the globalPriorityQueryFeatures struct.
Components: Vulkan
VK-GL-CTS issue: 4157
Affected tests:
dEQP-VK.api.device_init.create_device_global_priority*
Change-Id: Ib024f187f835914bbcb94e42a40d60a32fed0f99
Piers Daniell [Mon, 5 Dec 2022 22:01:43 +0000 (15:01 -0700)]
Work around deArraySizeHelper deficiency with multi-dimension arrays
This fixes a compilation issue with some compilers with deArraySizeHelper
and implicitly sized multi-dimensional arrays.
Affects:
Compilation only.
Components: Framework, Vulkan
VK-GL-CTS issue: 4158
Change-Id: Ie200647f34096b54544aff7f8d82b1eefabbd586
Piotr Byszewski [Fri, 16 Dec 2022 12:35:27 +0000 (13:35 +0100)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Change-Id: Id3cf5e258bce8b7aec13bc44abdada774159136b
Piotr Byszewski [Fri, 16 Dec 2022 11:15:18 +0000 (12:15 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Change-Id: Ifdc6f7c08ccb5f65d44e406a7dc6ea6866102ad5
Piotr Byszewski [Fri, 16 Dec 2022 08:42:48 +0000 (09:42 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: Ib14adccc08aa0dd8767e6dea0199e021885d292d
ziga-lunarg [Sat, 19 Nov 2022 13:02:59 +0000 (14:02 +0100)]
Fix errors in sparse resources tests
VK_EXT_shader_image_atomic_int64 extension must be enabled on the device
if used
Feature structs from non-enabled extensions must not be passed to
VkDeviceCreateInfo pNext
Checks if image formats are supported are missing
Components: Vulkan
VK-GL-CTS issue: 4122
Affected tests:
dEQP-VK.sparse_resources.shader_intrinsics.*
Change-Id: I4fcac8eae1d53826d5ef5f8a7dcc04bfe95f7360
ziga-lunarg [Fri, 18 Nov 2022 18:49:35 +0000 (19:49 +0100)]
Fix subpass dependency dstStageMask in shader_fragment_mask tests
Stage VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUT_BIT must be included if
access mask is VK_ACCESS_COLOR_ATTACHMENT_READ_BIT
Components: Vulkan
VK-GL-CTS issue: 4120
Affected tests:
dEQP-VK.pipeline.*.shader_fragment_mask.*
Change-Id: Iea2a62ff5781c50ad39d707a8eb0f1f4ce344f48
Yun Shu [Mon, 5 Dec 2022 08:20:43 +0000 (16:20 +0800)]
Set correct pipeline barrier between clear image and trace ray
The image is cleared with fixed value, then used as write destination
in ray tracing shaders. The pipeline barrier set for the image is
incorrect between clear command and trace ray command.
Affects:
dEQP-VK.ray_tracing_pipeline.large_shader_set.*
Components: Vulkan
VK-GL-CTS issue: 4137
Change-Id: I41dd55d51ea995c4c878e053f6d617b2e38ba5b1
Amber [Mon, 21 Nov 2022 10:54:07 +0000 (11:54 +0100)]
Add check for the return value of vkGetPhysicalDeviceImageFormatProperties2
Also do not attempt to create images for depth/stencil usage using color formats.
Components: Vulkan
VK-GL-CTS issue: 4125
Affected tests:
dEQP-VK.api.external.memory.dma_buf.suballocated.image.info
Change-Id: If1f41b967d03f1b862c85277d6fe30b20ab1a110
Matthew Netsch [Mon, 12 Dec 2022 20:19:03 +0000 (20:19 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main
Change-Id: I6c10b7e95f3cbe7e67bba6b42515744f72793bb7
Matthew Netsch [Mon, 12 Dec 2022 19:26:52 +0000 (19:26 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main
Change-Id: Id6c7c5596314ec9e71f3bbe066c13c2e15311dab
Matthew Netsch [Mon, 12 Dec 2022 18:58:05 +0000 (18:58 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Change-Id: Ic173c93f035b93abbccffc972026a02ec3dfe924
Matthew Netsch [Thu, 8 Dec 2022 23:06:19 +0000 (23:06 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Idb97e283368a6bf5cd2532e2089083aee9ac6ef1
George Liu [Wed, 9 Nov 2022 07:55:45 +0000 (15:55 +0800)]
Corrected shaders to draw uniform colors.
For MSAA, the subsample of the pixel may be in the triangle, but the
center of the pixel is outside the triangle. This pixel depth may be out
of the depth range and gl_FragCoord.z is negative, especially when the
triangle is narrow and the depth gradient is large. This will draw an
unexpected black for the pixel after the calculation.
This only happens for configs that are not in the must-pass:
'--deqp-surface-width=3840 --deqp-surface-height=2160
--deqp-gl-config-name=rgba8888d24s8ms4'
Components: OpenGL ES
VK-GL-CTS issue: 4110
Affects: dEQP-GLES3.functional.occlusion_query.*
Change-Id: Ib92fe4b90e326bc8a313f123b1df1cdc4417f6d1
Amber [Fri, 11 Nov 2022 10:04:38 +0000 (11:04 +0100)]
Add tests for 0 pWaitDstStageMask in VkSubmitInfo and events.
VK-GL-CTS issue: 3904
Components: Vulkan
New tests:
dEQP-VK.synchronization2.basic.event.none_set_reset
dEQP-VK.synchronization2.basic.binary_semaphore.none_wait_submit
Change-Id: I54647969f51e2cb9f209b7a9d029bd3c83dbb822
Matthew Netsch [Thu, 8 Dec 2022 22:01:49 +0000 (22:01 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
Change-Id: Ibe3bafb476b2ce3a0b76a469b8c2de3c2952ea23
Slawomir Cygan [Tue, 22 Nov 2022 16:37:51 +0000 (17:37 +0100)]
Remove clearing of pipeline creation feedbacks while veryfying them
This re-enables verification of pipeline creation feedbacks by not
zeroing them out just before verification.
VK-GL-CTS Issue: 4129
Affects: dEQP-VK.pipeline.pipeline_library.creation_feedback.graphics_tests.*
Components: Vulkan
Change-Id: I37010973db235f993b85e9ac3c2645ae5b2db79e
Matthew Netsch [Thu, 8 Dec 2022 21:12:41 +0000 (21:12 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/vulkan-cts-1.3.4
Change-Id: Ieafa2f3085c673bd861f1e4ddff26897a16b43d9
Matthew Netsch [Thu, 8 Dec 2022 20:28:58 +0000 (20:28 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
Change-Id: Ie018c65908482fac3de9a6030d79029e2429d734
Hyunjun Ko [Tue, 29 Nov 2022 05:09:41 +0000 (14:09 +0900)]
Fix to get supported depth format instead of using VK_FORMAT_D32_SFLOAT
always.
Affets:
dEQP-VK.pipeline.pipeline_library.graphics_library.*
VK-GL-CTS Issue: 4142
Components: Vulkan
Change-Id: Ia8cb48061acd4813aecabb050c775a27ce1b4926
Matthew Netsch [Thu, 8 Dec 2022 19:57:31 +0000 (19:57 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Change-Id: I193ea9253a0d2d405e25d951ba1564f5ad805f3b
Matthew Netsch [Thu, 8 Dec 2022 18:58:13 +0000 (18:58 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Change-Id: Icc350abe29e7c1545a65d99884a281cd63239fc4
Matthew Netsch [Thu, 8 Dec 2022 18:30:33 +0000 (18:30 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Change-Id: Ibfc5624676bae49d9630978494cdfdc660a0fba4
Matthew Netsch [Thu, 8 Dec 2022 18:01:39 +0000 (18:01 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: If5512ea90e2442bc7304502d78cc3b1333f53479
ziga-lunarg [Sun, 4 Dec 2022 20:48:26 +0000 (21:48 +0100)]
Write gl_PointSize in depth tests
Some depth tests use VK_PRIMITIVE_TOPOLOGY_POINT_LIST but the shaders
don't write the point size
Components: Vulkan
VK-GL-CTS issue: 4153
Affected tests:
dEQP-VK.pipeline.*.depth.*
Change-Id: Idaa9ea65f7c43ca02d7780d1825d4558b712a133
ziga-lunarg [Mon, 5 Dec 2022 15:34:50 +0000 (16:34 +0100)]
Add check if format is supported in external memory host tests
Format properties for format used for color attachment must contain
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
Components: Vulkan
VK-GL-CTS issue: 4156
Affected tests:
dEQP-VK.memory.external_memory_host.bind_image_memory_and_render.*
Change-Id: Ib0346cbc849b94a5af67e5645cc057ca392f9b2f
ziga-lunarg [Fri, 18 Nov 2022 18:11:56 +0000 (19:11 +0100)]
Fix invalid framebuffer in compressed texture 3D tests
Framebuffer attachments must be created with viewType not equal to
VK_IMAGE_VIEW_TYPE_3D
Components: Vulkan
VK-GL-CTS issue: 4118
Affected tests:
dEQP-VK.texture.compressed_3D.*
Change-Id: I9ae036d02daa3579567bf514c70bf623a0bc9aa9
ziga-lunarg [Sat, 19 Nov 2022 19:06:44 +0000 (20:06 +0100)]
Fix flushing memory range in memory model shared tests
Each size of pMemRanges in vkFlushMappedMemoryRanges must be either a
multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize or equal to the
size of memory
Components: Vulkan
VK-GL-CTS issue: 4123
Affected tests:
dEQP-VK.memory_model.shared.*
Change-Id: I0f3ea96736aa73eb92c7809c04297923d84e348c
ziga-lunarg [Tue, 1 Nov 2022 18:43:21 +0000 (19:43 +0100)]
Add tests with primitive restart generating no primitives
If a primitive restart occurs while there's not enough vertices
specified to generate a primitive, the primitive should be dropped
Components: Vulkan
VK-GL-CTS issue: 3742
New tests:
dEQP-VK.pipeline.*.input_assembly.primitive_restart.*.restart_all_*
Change-Id: I3d1c2ca93cb2b0fd8c41faad2b07be8dd2b7b240
Ricardo Garcia [Fri, 2 Dec 2022 16:47:13 +0000 (17:47 +0100)]
Add tests for VK_EXT_extended_dynamic_state3
This commit adds tests for every new dynamic state present in the
extension above.
New tests:
dEQP-VK.pipeline.*.extended_dynamic_state.*logic_op_enable*
dEQP-VK.pipeline.*.extended_dynamic_state.*logic_op_disable*
dEQP-VK.pipeline.*.extended_dynamic_state.*color_blend*
dEQP-VK.pipeline.*.extended_dynamic_state.*tess_domain_origin*
dEQP-VK.pipeline.*.extended_dynamic_state.*depth_clamp*
dEQP-VK.pipeline.*.extended_dynamic_state.*polygon_mode*
dEQP-VK.pipeline.*.extended_dynamic_state.*sample_mask*
dEQP-VK.pipeline.*.extended_dynamic_state.*alpha_to_coverage*
dEQP-VK.pipeline.*.extended_dynamic_state.*alpha_to_one*
dEQP-VK.pipeline.*.extended_dynamic_state.*color_write_mask*
dEQP-VK.pipeline.*.extended_dynamic_state.*rasterization_stream*
dEQP-VK.pipeline.*.extended_dynamic_state.*provoking_vertex*
dEQP-VK.pipeline.*.extended_dynamic_state.*negative_one_to_one*
dEQP-VK.pipeline.*.extended_dynamic_state.*depth_clip_enable*
dEQP-VK.pipeline.*.extended_dynamic_state.*line_stipple*
dEQP-VK.pipeline.*.extended_dynamic_state.*sample_locations*
dEQP-VK.pipeline.*.extended_dynamic_state.*conservative_rasterization*
dEQP-VK.pipeline.*.extended_dynamic_state.*extra_overestimation*
dEQP-VK.pipeline.*.extended_dynamic_state.*line_raster_mode*
dEQP-VK.pipeline.*.extended_dynamic_state.*coverage_to_color*
dEQP-VK.pipeline.*.extended_dynamic_state.*coverage_modulation*
dEQP-VK.pipeline.*.extended_dynamic_state.*coverage_reduction*
dEQP-VK.pipeline.*.extended_dynamic_state.*viewport_swizzle*
dEQP-VK.pipeline.*.extended_dynamic_state.*shading_rate_image*
dEQP-VK.pipeline.*.extended_dynamic_state.*viewport_w_scaling*
dEQP-VK.pipeline.*.extended_dynamic_state.*repr_frag_*
dEQP-VK.pipeline.*.extended_dynamic_state.*repr_frag_*
dEQP-VK.pipeline.*.extended_dynamic_state.*rasterization_samples*
dEQP-VK.api.*.extended_dynamic_state3_features_ext
Removed tests:
dEQP-VK.pipeline.*.extended_dynamic_state.*prim_restart_disable*
dEQP-VK.pipeline.*.extended_dynamic_state.*prim_restart_enable_on_both*
Affected tests:
dEQP-VK.pipeline.*.extended_dynamic_state.*
VK-GL-CTS issue: 3825
Components: Framework, Vulkan
Change-Id: I7cb6be852ceeedb6bb68590f88c5c5dd025c8eff
Matthew Netsch [Fri, 2 Dec 2022 21:02:49 +0000 (21:02 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main
Change-Id: I99863bd4f3d359079760701be6c07338c9a6fa5f
Matthew Netsch [Fri, 2 Dec 2022 20:34:16 +0000 (20:34 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Change-Id: I324c55e03130e091a01cefb3f766bb37f03bae9a
Matthew Netsch [Fri, 2 Dec 2022 19:56:58 +0000 (19:56 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Change-Id: Ie932aa95ec8eee342a4e129e405b22b7a10a0a89
Matthew Netsch [Fri, 2 Dec 2022 17:36:57 +0000 (17:36 +0000)]
Merge vk-gl-cts/vulkansc-cts-1.0.1 into vk-gl-cts/main
Change-Id: I09b99afd2868b5b4b63f6aaebc6c36e5cbc1ff27
Ricardo Garcia [Fri, 2 Dec 2022 12:16:22 +0000 (13:16 +0100)]
Remove custom instances from robustness index access tests
They had recently been removed from other robustness tests before the
robustness index access tests were merged, and this caused build issues.
Affects:
dEQP-VK.robustness.index_access.*
dEQP-VK.info.device_mandatory_features
Components: Vulkan
VK-GL-CTS issue: 3670
Change-Id: I8f51d1fc779bac30478dc6211369e578c047d0e1
Jeff Bolz [Fri, 11 Nov 2022 20:19:05 +0000 (14:19 -0600)]
Reduce number of command pools in texel_view_compatible tests
We were seeing an average of around 10 pools per test,
which can be problematic in VulkanSC.
Components: Vulkan, VulkanSC
Affects: dEQP-VK.image.texel_view_compatible.*
Change-Id: I0921d259a06803a8a817910b8ffcb30956b709f9
Lionel Landwerlin [Thu, 10 Nov 2022 10:01:27 +0000 (12:01 +0200)]
Fix uninitialized blendConstants in ColorBlendState
Components: Vulkan
VK-GL-CTS issue: 4094
Affects:
dEQP-VK.draw.*
dEQP-VK.dynamic_state.*
dEQP-VK.pipeline.*
dEQP-VK.query_pool.*
Change-Id: Ia39d960e0809420b9755c4242510c657fcf7838b
ziga-lunarg [Fri, 18 Nov 2022 15:35:25 +0000 (16:35 +0100)]
Add missing extension checks in extended dynamic state tests
A check for VK_EXT_index_type_uint8 is missing when index buffer is used
in extended dynamic state tests and a check for VK_EXT_mesh_shader when
mesh shaders are used
Components: Vulkan
VK-GL-CTS issue: 4117
Affected tests:
dEQP-VK.pipeline.*.extended_dynamic_state.*
Change-Id: I90d783f3f7e3c73aea9f5f89f59d5c3b093e3320
Piotr Byszewski [Thu, 15 Sep 2022 15:56:45 +0000 (17:56 +0200)]
Ensure robustness for OOB index buffer accesses
Test out of bounds firstIndex parameter
passed to vkCmdDrawIndexed, vkCmdDrawIndexedIndirect,
vkCmdDrawIndexedIndirectCount and vkCmdDrawMultiIndexedEXT.
VK-GL-CTS issue: 3670
Components: Vulkan
New tests:
dEQP-VK.robustness.index_access.*
Change-Id: I9f6a8b7c15b7c5a2b1ad0edd71d2f4eccea00dad
ziga-lunarg [Thu, 10 Nov 2022 11:47:31 +0000 (12:47 +0100)]
Test creating device with promoted feature structures
Create device with structures from promoted extensions in the pNext
chain of VkDeviceCreateInfo, even when the extensions are not supported
Components: Vulkan
VK-GL-CTS issue: 4071
New tests:
dEQP-VK.api.info.get_physical_device_properties2.features.create_device_with_promoted11_structures
dEQP-VK.api.info.get_physical_device_properties2.features.create_device_with_promoted12_structures
dEQP-VK.api.info.get_physical_device_properties2.features.create_device_with_promoted13_structures
Change-Id: Ifc5fa05635b7363dad727bd2390db10cdef35d88
Ricardo Garcia [Mon, 21 Nov 2022 12:41:46 +0000 (13:41 +0100)]
Avoid passing unsupported structs in mandatory features test
Before checking mandatory features, the list of available features is
queried from the physical device using a pNext chain. When adding
structures to the chain, the code was not properly verifying the
structure could be used according to the supported extensions and core
Vulkan version.
Affects:
dEQP-VK.info.device_mandatory_features
VK-GL-CTS issue: 4093
Components: Vulkan
Change-Id: I929b4503f7d0a09c513d0638e05ae61b6f70bb77
Charlie Turner [Tue, 15 Nov 2022 18:01:21 +0000 (18:01 +0000)]
Adds coverage for gl_PrimitiveID implicit passthrough with GPL.
Add new pipeline tests which use gl_PrimtiveID in the fragment shader,
when access to that built-in is allowed implicitly.
From the spec,
"In a fragment shader, it will contain the primitive index written by
the mesh shader if a mesh shader is present, or the primitive index
written by the geometry shader if a geometry shader is present, or
with the value that would have been presented as input to the geometry
shader had it been present."
The new tests cover the cases without mesh or geometry shaders, where
the builtin is implicit.
These tests have been validated to cover the issue fixed by,
https://gitlab.freedesktop.org/mesa/mesa/-/commit/
0c6f52a999f34e936aa61eb3527a19979da1ff8c
in the Mesa radv driver.
New Tests:
dEQP-VK.pipeline.monolithic.misc.implicit_primitive_id
dEQP-VK.pipeline.monolithic.misc.implicit_primitive_id_with_tessellation
dEQP-VK.pipeline.pipeline_library.misc.implicit_primitive_id
dEQP-VK.pipeline.pipeline_library.misc.implicit_primitive_id_with_tessellation
dEQP-VK.pipeline.fast_linked_library.misc.implicit_primitive_id
dEQP-VK.pipeline.fast_linked_library.misc.implicit_primitive_id_with_tessellation
VK-GL-CTS issue: 3932
Change-Id: I25f10a98e27019618b1caaa61f0a4e5e75f36564
Ricardo Garcia [Mon, 28 Nov 2022 12:20:50 +0000 (13:20 +0100)]
Avoid using custom instances in robustness tests
Some robustness custom devices are created with a large amount of
enabled extensions and features, using the default device as a
reference. Some drivers may expose or hide different device extensions
depending on the enabled instance extensions.
This means if we use a custom instance with no extensions and try to
enable everything that's available on the default device, device
creation may fail unexpectedly. This can be solved in two ways:
* Create the custom instance with the same extensions as the default
instance.
* Avoid creating a custom instance at all and reuse the context
instance.
This commit opts for the second option. Creating a custom instance is
rarely useful. The focus of robustness tests in on creating a custom
device with robustness features.
In addition, this commit also fixes some cases where the code was mixing
the context DeviceInterface with custom devices, and fixes validation
errors caused by the tests failing to enable shaderInt64 or vert/frag
stores and atomics in cases they were needed.
Affects:
dEQP-VK.robustness.*
dEQP-VKSC.robustness.*
VK-GL-CTS issue: 4136
Components: Vulkan
Change-Id: I820f8932e74100f01dba397ccf9eac24042ce33d
Maíra Canal [Thu, 24 Nov 2022 09:52:39 +0000 (10:52 +0100)]
Allow override of wayland-scanner executable
When cross-compiling, if the environment variables
PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR are set to the target
sysroot, the wayland_scanner executable won't be found and the
compilation will fail as the xdg-shell header cannot be generated.
Therefore, allow overriding the wayland-scanner executable so that an
alternative executable can be provided with the variable
WAYLAND_SCANNER.
VK-GL-CTS issue: 4139
Components: Framework
Change-Id: I7848a353e93dd07638afadada9c3e0b96ffb5406
Ricardo Garcia [Thu, 1 Dec 2022 12:26:33 +0000 (13:26 +0100)]
Add VK_NULL_HANDLE definition to vkDefs.hpp
VK_NULL_HANDLE was notably missing for usage in CTS tests, and in most
of them it was being replaced by DE_NULL, which in the past also doubled
as NULL and nullptr.
Since VK-GL-CTS was updated to support C++11, nullptr was available as a
more natural way of using null pointers, but DE_NULL still had to be
used as the VK_NULL_HANDLE replacement.
This commit defines VK_NULL_HANDLE to be DE_NULL, which is known to
work, and makes its definition available globally as expected.
No test results should be affected.
VK-GL-CTS issue: 1701
Components: Vulkan
Change-Id: I188ab0ae8764ba25be38048479d62831909fbe29
Hyunjun Ko [Fri, 25 Nov 2022 00:35:49 +0000 (09:35 +0900)]
Add tests for buffer device address with buffers bound at offset
New tests:
dEQP-VK.binding_model.buffer_device_address.*.single.*_offset_nonzero
VK-GL-CTS Issue: 4066
Components: Vulkan
Change-Id: I64db81d4dea0c6a9b17a38962a88936383a85e5b
Matthew Netsch [Thu, 1 Dec 2022 22:48:34 +0000 (22:48 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
Change-Id: I059d04b53e298faae545f0fca96fee1715ca21de
ziga-lunarg [Sun, 13 Nov 2022 15:41:10 +0000 (16:41 +0100)]
Fix errors in dynamic rendering suballocation tests
attachmentCount in vkCmdClearAttachments must be greater than 0
depth aspect must only be cleared if depth attachment is set
stencil aspect must only be clear if stencil attachment is set
Components: Vulkan
VK-GL-CTS issue: 4102
Affected tests:
dEQP-VK.dynamic_rendering.*.suballocation.*
Change-Id: Id7cc51794883863aa9add62adee55ef30c0f6a28
Marc Alcala Prieto [Fri, 18 Nov 2022 15:24:34 +0000 (16:24 +0100)]
Fixes for VK_EXT_image_compression_control swapchain tests
Ensure VK_KHR_get_surface_capabilities2 is requested when creating
Vulkan instances for the swapchain tests. This is required by
functions:
- vkGetPhysicalDeviceSurfaceCapabilities2KHR
- vkGetPhysicalDeviceSurfaceFormats2KHR
Enable imageCompressionControlSwapchain when creating devices for the
swapchain tests.
Properly set compressionControlPlaneCount depending on compression
flags.
Components: Vulkan
VK-GL-CTS issue: 4105
Affects:
dEQP-VK.api.image_compression_control.swapchain.*
Change-Id: I6b1ac25724ac605b91824e784a018f3e4fd717b7
Matthew Netsch [Thu, 1 Dec 2022 22:00:51 +0000 (22:00 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/vulkan-cts-1.3.4
Change-Id: I4d3f1c8018aa246031409d52a6aa6716a95a67c7
Marc Alcala Prieto [Fri, 18 Nov 2022 15:10:41 +0000 (16:10 +0100)]
Fixes for VK_EXT_image_compression_control tests
Fix the validation logic to check planes depending on format, not
compressionControlPlaneCount.
Properly set compressionControlPlaneCount and
pFixedRateFlags depending on compression flags.
Components: Vulkan
VK-GL-CTS issue: 4105
Affects:
dEQP-VK.api.image_compression_control.*
Change-Id: I492febb4163867ee722cd49e75cc8646aa8376f5
Matthew Netsch [Thu, 1 Dec 2022 20:14:56 +0000 (20:14 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
Change-Id: Ibbddec7b6ff3801fef7d359eb08935808a7cfe65
Slawomir Cygan [Thu, 10 Nov 2022 16:12:05 +0000 (17:12 +0100)]
Use pipeline layout alongside with fragment shader stage
In pipeline libraries, pipeline layout is requried if fragment
shader is present in the pipeline.
Affects: dEQP-VK.pipeline.pipeline_library.graphics_library.misc.bind_null_descriptor_set.*
VK-GL-CTS Issue: 4096
Components: Vulkan
Change-Id: Ia70b0f18f497e2e9102e7748c87ea5e5092098bc
ziga-lunarg [Sat, 12 Nov 2022 00:13:43 +0000 (01:13 +0100)]
Fix color blend state color attachments in depth tests
The number of color attachment in pColorBLendState must match the number
of color attachment in the subpass when creating the pipeline
Components: Vulkan
VK-GL-CTS issue: 4058
Affected tests:
dEQP-VK.pipeline.*.depth.*
Change-Id: Ibce5ff044c0804218d56d452eea7973c4c3a2990
Matthew Netsch [Thu, 1 Dec 2022 18:29:04 +0000 (18:29 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Change-Id: I699095999ad69b1ce79e50c3db6a06410005bdb5
Matthew Netsch [Thu, 1 Dec 2022 17:33:11 +0000 (17:33 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Change-Id: Iacdc3192254c41c569dbad94d8025b936f93cc25
Matthew Netsch [Thu, 1 Dec 2022 17:05:02 +0000 (17:05 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Change-Id: I7a7605b2dffeaedac543e32d97f13f552d6ab68f
ziga-lunarg [Fri, 4 Nov 2022 22:56:17 +0000 (23:56 +0100)]
Re-add texture filtering tests with rgba10x6 format
These tests were removed when only the check for
formatRgba10x6WithoutYCbCrSampler feature was missing
Components: Vulkan
VK-GL-CTS issue: 3646
New tests:
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest_mipmap_nearest
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear_mipmap_nearest
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_nearest_mipmap_linear
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.r10x6g10x6b10x6a10x6_unorm_linear_mipmap_linear
Change-Id: Ida3cb9f1abd95f57908b9540c65605cbb1b40fa3
Matthew Netsch [Thu, 1 Dec 2022 16:37:27 +0000 (16:37 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Change-Id: I36f8b8142517f82d581ee2bc365a97ff37a63dc8
Hyunjun Ko [Wed, 23 Nov 2022 08:46:24 +0000 (17:46 +0900)]
Fix invalid usage of descriptorCount for inline uniform
blocks.
Affects:
dEQP-VK.binding_model.descriptorset_random.*.iublimit*
VK-GL-CTS Issue: 4115
Components: Vulkan
Change-Id: I649d86b859ca642b47c1fda4aa915e1d6616c898
rpatlega [Thu, 1 Dec 2022 14:51:31 +0000 (20:21 +0530)]
Fix of missing processEvent call
Adding processEvent will ensure window message to be processed before read.
Affects:
dEQP-EGL.functional.native_color_mapping.native_window.*
VK-GL-CTS issue: 4148
Components: EGL
Change-Id: Ib81c50e7442decb0ccdfbe3b93cb03f3e0eb09fb
Gary Sweet [Thu, 24 Nov 2022 09:16:09 +0000 (09:16 +0000)]
Fix for 16 to 8-bit storage spirv_assembly tests
The output buffer was being made smaller than it was required to
hold all the results. Robust buffer accesss prevented the writes
from trampling memory after the buffer, but could mean that the
data in the valid part of the buffer was incorrectly written instead.
This change makes the output buffer large enough to prevent the
out-of-bounds writes.
Components: Vulkan
VK-GL-CTS issue: 4126
Affected tests:
dEQP-VK.spirv_assembly.instruction.graphics.8bit_storage.storagebuffer_int_16_to_8.*
Change-Id: I59145be8012f7a31037ee3fee4d7ac96a198bc00
Matthew Netsch [Mon, 21 Nov 2022 18:19:02 +0000 (10:19 -0800)]
Merge vk-gl-cts/dev/VK_EXT_mutable_descriptor_type into vk-gl-cts/main
Change-Id: I122066282bff61b7e0f9877f1dd49825f3fd7ad0
Matthew Netsch [Mon, 21 Nov 2022 17:47:44 +0000 (17:47 +0000)]
Merge "Merge vk-gl-cts/dev/VK_EXT_descriptor_buffer into vk-gl-cts/main" into main
Daniel Koch [Sat, 19 Nov 2022 00:19:51 +0000 (19:19 -0500)]
Make application_parameters tests fail without vendor-specific info
VK-GL-CTS issue: 4018
The "invalid_param_value" and "valid" test variants need vendor-specific
values to be added to the test case. Previously this reported "unsupported"
if the necessary values aren't added. It was believe this could be easily
missed by vendors, so changing this to an error as agreed.
Note that with this change, if an implementation supportsi
VK_EXT_application_parameters and does nothing else - there will be 4 failures.
Component: VulkanSC
Affects: dEQP-VKSC.sc.application_parameters.*
Change-Id: I76a1901cc15e0966ffdd00a817aebbeb72f7d019
Matthew Netsch [Fri, 18 Nov 2022 22:32:10 +0000 (14:32 -0800)]
Merge vk-gl-cts/dev/VK_EXT_descriptor_buffer into vk-gl-cts/main
Change-Id: I47666bffd91171831a2d70f1255ae734c77b016d
Matthew Netsch [Fri, 18 Nov 2022 20:23:15 +0000 (12:23 -0800)]
Update json files for postmortem features
VK_EXT_device_fault
VK_EXT_device_address_binding_report
Components: Vulkan, Framework
Affects:
dEQP-VK.info.device_mandatory_features
Change-Id: I03656cbcbfa5590aafb3924aae5f8a8cf65a8a67
Matthew Netsch [Fri, 18 Nov 2022 19:58:19 +0000 (11:58 -0800)]
Merge vk-gl-cts/main into vk-gl-cts/dev/VK_EXT_descriptor_buffer
Change-Id: I1c683c0c22144608db97c92800e0286d8ab8e31c
Matthew Netsch [Fri, 18 Nov 2022 19:54:37 +0000 (11:54 -0800)]
Merge vk-gl-cts/dev/VK_EXT_device_address_binding_report into vk-gl-cts/main
Change-Id: I76503d225080aff00f0d03ece7eedad53c4aa8ea
Matthew Netsch [Fri, 18 Nov 2022 19:53:07 +0000 (11:53 -0800)]
Merge vk-gl-cts/dev/VK_EXT_device_fault into vk-gl-cts/main
Change-Id: I8820ba1ecc1039d9f6006eed0ff2ff9bee2a3cab
Matthew Netsch [Fri, 18 Nov 2022 19:36:33 +0000 (11:36 -0800)]
Merge vk-gl-cts/main into vk-gl-cts/dev/VK_EXT_mutable_descriptor_type
Change-Id: I544a1dc547da78ecc05e44ed1a826eb778dd70b8
Matthew Netsch [Fri, 18 Nov 2022 18:14:27 +0000 (10:14 -0800)]
Merge vk-gl-cts/main into vk-gl-cts/VK_EXT_device_address_binding_report
Change-Id: Ife39cfbc2aff1eaa88d4006969c911a67b474299
Matthew Netsch [Fri, 18 Nov 2022 17:29:12 +0000 (09:29 -0800)]
Merge vk-gl-cts/main into vk-gl-cts/dev/VK_EXT_device_fault
Change-Id: I9aaf9f104f8edea608db8f888e59243e07604852
Tapani Pälli [Fri, 28 Oct 2022 11:22:16 +0000 (14:22 +0300)]
Fix for the string query tests on desktop GL
Affects:
dEQP*functional.state_query.string.*
Components: OpenGL
VK-GL-CTS issue: 3761
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I1b2a81a54f048bea057a32f3426dc4af02bd54d7
Aitor Camacho [Thu, 20 Oct 2022 11:11:11 +0000 (13:11 +0200)]
Add tests for out-param aliasing against other variables
VK-GL-CTS Issue: 3658
New tests:
*.function.*
Components: OpenGL, OpenGL ES
Change-Id: I1443b77db7eb8f6b7182a1c49bd656c79d7e8e67
Charlie Turner [Mon, 14 Nov 2022 22:41:46 +0000 (22:41 +0000)]
Fix a typo setupVertexInputStete -> setupVertexInputState
Components: Vulkan, Framework
Change-Id: I7a3a1a5310f330874f5fc0d27b75ef9de3ada774
Ricardo Garcia [Fri, 11 Nov 2022 12:54:55 +0000 (13:54 +0100)]
Improve failure error messages in format_feature_flags2 tests
They didn't report the problematic bits on failures, which made it hard
to debug. This commit prints the missing bits in hex form, which can be
easily looked up in the specification text.
Affects:
dEQP-VK.api.format_feature_flags2.*
VK-GL-CTS issue: 4099
Components: Vulkan
Change-Id: I4472668a0dcf5a52fb3b33c48c69e674e4aa4998
Amber [Mon, 14 Nov 2022 09:31:00 +0000 (10:31 +0100)]
Add tests for linearly tiled images
Ensure that stores, loads and atomic operations
work.
VK-GL-CTS issue: 3988
Components: Vulkan
New tests:
dEQP-VK.image.atomic_operations.*.*.*.*.*.*_linear
dEQP-VK.image.load_store.*.*.*_linear
dEQP-VK.image.store.*.*.*_linear
Change-Id: Ifbce630431d3f7c183a91d91a89b8d6aea64d10c
Matthew Netsch [Thu, 17 Nov 2022 23:15:16 +0000 (23:15 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
Change-Id: I4f9659327c793c6bc0eab85ce93df9f3a342da88
Mike Byrne [Wed, 19 Oct 2022 11:16:55 +0000 (12:16 +0100)]
Fix barriers in dynamic rendering fragment density tests
Added additional barrier to ensure work on subsampled image is
complete before copy to output image.
Manual cherry-pick from vulkan-cts-1.3.1
Affects: dEQP-VK.dynamic_rendering.primary_cmd_buff.fragment_density_map*
dEQP-VK.dynamic_rendering.complete_secondary_cmd_buff.fragment_density_map*
dEQP-VK.dynamic_rendering.partial_secondary_cmd_buff.fragment_density_map*
Components: Vulkan
VK-GL-CTS Issue: 3796
Change-Id: I8d2276f6517cea7cd173a8f9b3bd7d40cebf3e6d
Mohd Faisal [Thu, 3 Nov 2022 13:41:42 +0000 (13:41 +0000)]
Fix to use the correct vulkan device
Wrong device used to create secondary command buffer with
command pool created with different vulkan device.
Affected tests:
dEQP-VK.dynamic_rendering.complete_secondary_cmd_buff.
fragment_density_map.*
Components: Vulkan
VK-GL-CTS issue: 4084
Change-Id: I878a3d43eb48cf033379da92d06c212f7a70ec29
Matthew Netsch [Thu, 17 Nov 2022 22:26:17 +0000 (22:26 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/vulkan-cts-1.3.4
Change-Id: I3aae4026dd68350cf7f4e402e94f315498dfe4d8
Matthew Netsch [Wed, 16 Nov 2022 21:01:09 +0000 (13:01 -0800)]
Fixes barycentric test float64 support check
Barycentric tests were not checking shaderFloat64 check
Components: Vulkan
VK-GL-CTS Issue: 4112
Affects:
dEQP-VK.fragment_shading_barycentric.*double*
Change-Id: Ie31ab9998e6bd9a8f551d4906f7cbda7417ea94b
Matthew Netsch [Thu, 17 Nov 2022 20:32:24 +0000 (20:32 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
Change-Id: Ib92b3d3b2282186df729d4694083ccaec6e3c525
Lionel Landwerlin [Sun, 16 Oct 2022 23:09:01 +0000 (01:09 +0200)]
Fix color blend state color attachments in depth tests
The number of color attachments in pColorBlendState must match the
number of color attachments in the subpass when creating the pipeline
Components: Vulkan
VK-GL-CTS issue: 4058
Affected tests:
dEQP-VK.pipeline.*.depth.*
dEQP-VK.pipeline.*.stencil.*
Change-Id: Id2c911dc88c4169a9c800b4a1ff7d505bec91234
Matthew Netsch [Thu, 17 Nov 2022 18:32:21 +0000 (18:32 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Change-Id: I2550c13c4df05f75c68a39aef76c1b9a032cfb94