platform/upstream/VK-GL-CTS.git
18 months agoEnsure that some clear commands ignore conditionals.
Amber [Fri, 16 Dec 2022 08:48:37 +0000 (09:48 +0100)]
Ensure that some clear commands ignore conditionals.

New tests:
dEQP-VK.conditional_rendering.conditional_ignore.*

Components: Vulkan
VK-GL-CTS issue: 3714

Change-Id: I0acef833ad08e961732d4567a6ee7128c857e35f

18 months agoAdd tests for a renderpass with LOAD_OP_CLEAR and STORE_OP_STORE
Amber [Mon, 12 Dec 2022 09:30:01 +0000 (10:30 +0100)]
Add tests for a renderpass with LOAD_OP_CLEAR and STORE_OP_STORE

VK-GL-CTS issue: 3734

Components: Vulkan

New tests:
dEQP-VK.renderpass.no_draws.render_pass_no_draw_clear_load_store
dEQP-VK.renderpass2.no_draws.render_pass2_no_draw_clear_load_store

Change-Id: Ic2567598ce13eaed9eec2788b6ec8e05101b3e5f

18 months agoTest device entry-points from instance extensions
Piotr Byszewski [Tue, 13 Dec 2022 15:24:31 +0000 (16:24 +0100)]
Test device entry-points from instance extensions

This change searches for all device-level entry-points
from instance extensions and saves them to new
vkEntryPointValidation.inl file.
It also ads a test case that uses data from this file
to verify that vkGetDeviceProcAddr returns
non-NULL for found functions.

VK-GL-CTS issue: 3940

Components: Vulkan

Affects:
dEQP-VK.info.instance_extension_device_functions

Change-Id: I07deb5402d4bf47de5556bca9e69d7e549527692

18 months agoFix state query tests for desktop GL context
Tapani Pälli [Tue, 13 Dec 2022 15:44:32 +0000 (17:44 +0200)]
Fix state query tests for desktop GL context

Affects:
dEQP-GL45-ES3.functional.state_query.integers.generate_mipmap_hint*
dEQP-GL45-ES3.functional.state_query.integers.viewport*
dEQP-GL45-ES3.functional.state_query.texture.texture*
dEQP-GL45-ES3.functional.state_query.rbo.renderbuffer_internal_format
dEQP-GL45-ES3.functional.state_query.shader.vertex_attrib*

Components: OpenGL
VK-GL-CTS issue: 3761

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I872b46d9ca6c56c773851bcda00376d2abeacdad

18 months agoSupport GL 4.5 in the 'negative' tests
Mykola Piatykop [Wed, 3 Aug 2022 11:01:04 +0000 (14:01 +0300)]
Support GL 4.5 in the 'negative' tests

This patch is port of 512fa1c1bc1930a1966df7caefb3c199ac02a919

Components: OpenGL
Public PR: 343
VK-GL-CTS Issue: 3761

Affects:
dEQP-GL45-ES3.functional.negative_api.*
dEQP-GLES3.functional.negative_api.*

Signed-off-by: Mykola Piatykop <mykola.piatykop@globallogic.com>
Change-Id: Ia542efae198fab6986d57502e25c49a01152653c

18 months agoMerge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
Piotr Byszewski [Mon, 9 Jan 2023 09:34:02 +0000 (10:34 +0100)]
Merge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main

Change-Id: I1e73bed5ac5b17674402a1f177c6535906fab210

18 months agoMerge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/vulkan-cts-1.3.4
Piotr Byszewski [Mon, 9 Jan 2023 08:17:58 +0000 (09:17 +0100)]
Merge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/vulkan-cts-1.3.4

Change-Id: If8b58ba0befe6c8e2beb9a1867656da231a6cf87

18 months agoRequire sampleRateShading in multisample linear interpolation tests
Ricardo Garcia [Fri, 9 Dec 2022 11:57:38 +0000 (12:57 +0100)]
Require sampleRateShading in multisample linear interpolation tests

While these tests normally set sampleShadingEnable to VK_FALSE, their
shaders enable the SampleRateShading capability, which means
sampleRateShading is required to run them.

Affects:
dEQP-VK.draw.*.linear_interpolation.*

VK-GL-CTS issue: 4167
Components: Vulkan

Change-Id: I52f9f81b13186d2b152f46ecadbc73455ffbf063

18 months agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
Piotr Byszewski [Sat, 7 Jan 2023 15:03:55 +0000 (16:03 +0100)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3

Change-Id: I467e6a22adfe0bd549a37378b9eee8220859d0e0

18 months agoMake depth_bias_triangle_list_point write to PointSize
Amber [Tue, 3 Jan 2023 13:58:15 +0000 (14:58 +0100)]
Make depth_bias_triangle_list_point write to PointSize

VK-GL-CTS Issue: 4197
Components: Vulkan

Affect tests:
dEQP-VK.draw.renderpass.depth_bias.depth_bias_triangle_list_point

Change-Id: I21c223ff1e986c48fc90f97d21d472cfa713abdf

18 months agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Piotr Byszewski [Sat, 7 Jan 2023 13:27:45 +0000 (14:27 +0100)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: I1ed2965c43158b0131f340237dbebfcf5b2aaf5f

18 months agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Piotr Byszewski [Sat, 7 Jan 2023 12:15:11 +0000 (13:15 +0100)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: Ie8e4ee5b77cbea1aa87664a38a074f2381d2ea15

18 months agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Piotr Byszewski [Sat, 7 Jan 2023 11:05:29 +0000 (12:05 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: I7507fe1cee9b7bccdbfc4883f0ee6937c116b30a

18 months agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Piotr Byszewski [Thu, 5 Jan 2023 18:12:20 +0000 (19:12 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Iea24c631e95fad0dbf694e67f141c243fda3a3d9

18 months agoFix 2d image views in fragment shading rate tests
ziga-lunarg [Sat, 19 Nov 2022 22:46:51 +0000 (23:46 +0100)]
Fix 2d image views in fragment shading rate tests

If viewType is VK_IMAGE_VIEW_TYPE_2D then subresourceRange.layerCount
must be 1

Components: Vulkan

VK-GL-CTS issue: 4124

Affected tests:
dEQP-VK.fragment_shading_rate.*

Change-Id: I32db55ce0785a2d91c391625bfed312d5e7371f0

19 months agoVideo tests plan for VK_KHR_video_queue
Marcin Zając [Thu, 31 Mar 2022 12:50:57 +0000 (14:50 +0200)]
Video tests plan for VK_KHR_video_queue

Test coverage for vulkan video

Add tests:
 * dEQP-VK.video.capabilities.*
 * dEQP-VK.video.decode.h264*
 * dEQP-VK.video.decode.h265*
 * dEQP-VK.video.synchronization.*
 * dEQP-VK.video.synchronization2.*

Affect tests:
 * dEQP-VK.*

Components: Framework, Vulkan

VK-GL-CTS issue: 2847

Change-Id: Ie15b46132b8260771074f011f33fed59357b7a5b

19 months agoAdd tests for interpolateAtSample with GPL and null MSAA state.
Amber [Thu, 24 Nov 2022 15:22:54 +0000 (16:22 +0100)]
Add tests for interpolateAtSample with GPL and null MSAA state.

New tests:
dEQP-VK.pipeline.fast_linked_library.misc.interpolate_at_sample_no_sample_shading

Components: Vulkan
VK-GL-CTS issue: #3976

Change-Id: Ic3a3508f6555a8f45e82fdf56ab192720fcfdd49

19 months agoAdd tests for dynamic patch control points and multiple pipelines.
Amber [Wed, 16 Nov 2022 08:47:03 +0000 (09:47 +0100)]
Add tests for dynamic patch control points and multiple pipelines.

These tests make sure that drawing while dynamic patch control points
are used along with multiple pipelines with differing tesselation shader
parameters works as expected.

VK-GL-CTS issue: 4028

Components: Vulkan

New tests:
dEQP-VK.pipeline.*.dynamic_control_points.change_output
dEQP-VK.pipeline.*.dynamic_control_points.change_output_winding
dEQP-VK.pipeline.*.dynamic_control_points.change_winding

Change-Id: Id3c4342708eb4f8bbe2f2a519da1ffbb1cd8dd1c

19 months agoSet each dyanmic state to proper stage on a pipeline with
Hyunjun Ko [Mon, 12 Dec 2022 01:50:38 +0000 (10:50 +0900)]
Set each dyanmic state to proper stage on a pipeline with
graphics pipleline library enabled.

Affects:
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.*
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.*

VK-GL-CTS Issue: 3853

Components: Vulkan

Change-Id: Ie875d699ed475de9e60dae7abe88106ea1e3e2cd

19 months agoSkip implicit PrimitiveID checks on devices without geometry shader support
Charlie Turner [Wed, 7 Dec 2022 01:22:50 +0000 (01:22 +0000)]
Skip implicit PrimitiveID checks on devices without geometry shader support

Since the fragment shader unconditionally uses gl_PrimitiveID, these
tests must be run on a device with geometry shader support, since a
variable decorated with PrimitiveId in SPIR-V requires one of of the
Geometry or Tessellation features according to the SPIR-V spec.

Reported by Alexis Hetu.

Affects:
dEQP-VK.pipeline.fast_linked_library.misc.implicit_primitive_id
dEQP-VK.pipeline.monolithic.misc.implicit_primitive_id
dEQP-VK.pipeline.pipeline_library.misc.implicit_primitive_id

VK-GL-CTS issue: 3932
Components: Vulkan

Change-Id: Ic9df03d6c4d4f509d8ef93ed0ec7080d99248c68

19 months agoFix atomic tests' texture size
Aitor Camacho [Tue, 8 Nov 2022 19:01:27 +0000 (20:01 +0100)]
Fix atomic tests' texture size

Atomic tests did not check if the wanted texture size for the
tested texture type is supported by the device

Affects:
*.image_load_store.*.atomic.*return_value

Components: OpenGL, OpenGL ES

VK-GL-CTS issue: 2876

Change-Id: If3d7e233480f65877ceb981057fd9d620c563e58

19 months agoFix to enable the robustness extension.
Hyunjun Ko [Fri, 25 Nov 2022 01:48:36 +0000 (10:48 +0900)]
Fix to enable the robustness extension.

Affects:
dEQP-VK.binding_model.descriptor_buffer.robust.buffer_access.*

VK-GL-CTS Issue: 4141

Components: Vulkan

Change-Id: Iffbdc66b353d2192d1f15c1370a0ef114cc84c4c

19 months agoRename CTS "build" Python module to "ctsbuild"
Ricardo Garcia [Fri, 9 Dec 2022 14:38:39 +0000 (15:38 +0100)]
Rename CTS "build" Python module to "ctsbuild"

This avoid name conflicts with a popular Python module that may be
installed in the system.

VK-GL-CTS issue: 4162
VK-GL-CTS public issue: 334
Components: Framework

Change-Id: Ic89cbf59e0f9bc00c0a94fb303f3c2051332365f

19 months agoFix Android release build due to unused variable
Ricardo Garcia [Thu, 15 Dec 2022 09:28:31 +0000 (10:28 +0100)]
Fix Android release build due to unused variable

The affected variable is a static constexpr uint32_t that's only used
for an assertion in debug builds.

No test results should be affected by this change.

Components: Vulkan
VK-GL-CTS issue: 4178

Change-Id: I970b2c82760fd54be91bfe9549baa8ebc57bb0f9

19 months agoFix primitive fragment shading rate mesh feature requirements
Ricardo Garcia [Mon, 5 Dec 2022 09:55:16 +0000 (10:55 +0100)]
Fix primitive fragment shading rate mesh feature requirements

primitiveFragmentShadingRate is mandatory if
primitiveFragmentShadingRateMeshShader is supported. This was not
correctly expressed in the feature requirements test.

Affects:
dEQP-VK.info.device_mandatory_features
dEQP-VKSC.info.device_mandatory_features

Components: Vulkan
VK-GL-CTS issue: 4154

Change-Id: If34eeb119c0dc8404dbca14271119fc09461fe16

19 months agoAdd some extra boilerplate handling functions.
Amber [Tue, 22 Nov 2022 09:15:10 +0000 (10:15 +0100)]
Add some extra boilerplate handling functions.

These facilitate the creation of images with buffers
for verification and views associated with them, easier
creation of command buffers and a more compact way to
use instance interfaces devices and allocators.

Affected tests:
dEQP-VK.compute.basic.copy_ssbo_to_image_small
dEQP-VK.compute.basic.copy_ssbo_to_image_large

Components: Vulkan

Change-Id: I0bc396382fe6cab16e2b23fb3c2961cc4f7ae97b

19 months agoAdds missing coverage of buffer markers with non-zero memory offset
Charlie Turner [Tue, 29 Nov 2022 08:05:04 +0000 (09:05 +0100)]
Adds missing coverage of buffer markers with non-zero memory offset

Ensure that writing buffer markers to VkBuffer's backed with an
allocation at an offset works as intended.

Since SimpleAllocator was passing 0u as an offset to internal helper
classes, it seemed a logical place to expose the ability to perform a
suballocation in the backing device memory.

ExternalHostMemory was not a clean fit to the allocator interfaces, so
there the offset as been wedged in with some pointer arithmetic.

This covers an issue fixed by,

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16698

Also included are some refactoring's to use more code from the DE
libraries, rather than duplicating in this test class.

Components: Vulkan

Co-authored-by: Amber <amber@igalia.com>
New tests:
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.memory_dep.draw_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.memory_dep.draw_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.graphics.external_host_mem.bottom_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.memory_dep.draw_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.memory_dep.draw_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.graphics.default_mem.bottom_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.compute.external_host_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.compute.external_host_mem.bottom_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.bottom_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.compute.external_host_mem.bottom_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.compute.default_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.compute.default_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.top_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.compute.default_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.compute.default_mem.bottom_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.bottom_of_pipe.memory_dep.dispatch_offset_24
dEQP-VK.api.buffer_marker.compute.default_mem.bottom_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.transfer.external_host_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.transfer.external_host_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.transfer.external_host_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.transfer.external_host_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.transfer.external_host_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.transfer.external_host_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.transfer.external_host_mem.bottom_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.transfer.external_host_mem.bottom_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.transfer.default_mem.top_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.transfer.default_mem.top_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.transfer.default_mem.top_of_pipe.overwrite.64_offset_24
dEQP-VK.api.buffer_marker.transfer.default_mem.top_of_pipe.memory_dep.buffer_copy_offset_24
dEQP-VK.api.buffer_marker.transfer.default_mem.bottom_of_pipe.sequential.64_offset_16
dEQP-VK.api.buffer_marker.transfer.default_mem.bottom_of_pipe.sequential.65536_offset_1024
dEQP-VK.api.buffer_marker.transfer.default_mem.bottom_of_pipe.overwrite.64_offset_24

VK-GL-CTS issue: 3721

Change-Id: I5990d2a4903f0b4091cfc6f5dc61ec52699c7bae

19 months agoTest unused shader stages with graphics pipeline libraries
Ricardo Garcia [Tue, 22 Nov 2022 16:29:58 +0000 (17:29 +0100)]
Test unused shader stages with graphics pipeline libraries

Test pStages is properly ignored when creating graphics pipeline
libraries that do not need shading stages, like for vertex input state
and for fragment output state.

New tests:
dEQP-VK.pipeline.*.misc.unused_shader_stages*

Components: Vulkan
VK-GL-CTS issue: 4007

Change-Id: I3453fb48a422e135fc394ffc7d4ad006f1739a1f

19 months agoSome refactorings to improve wildcard performance on debug CTS builds
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

19 months agoFix enabling robustBufferAccess in robust buffer write tests
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

19 months agoFix promoted feature structures tests
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
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

19 months agoFix src stage value in pipeline barrier used to init resolve images
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.*

19 months agoAllow 0 creation duration for pipeline libraries without shaders
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/vulkan-cts-1.3.4
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
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

19 months agoAdd randomized constants to shaders in compare_link_times test
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

19 months agoFix invalid framebuffer in compressed texture 3D tests
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

19 months agoFix stencil op in depth bounds tests
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

19 months agoFix result image format in RT pipeline flags test
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

19 months agoAdds missing multisample state structs.
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
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

19 months agoFix VK_KHR_global_priority tests
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

19 months agoWork around deArraySizeHelper deficiency with multi-dimension arrays
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

19 months agoFix errors in sparse resources tests
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

19 months agoFix subpass dependency dstStageMask in shader_fragment_mask tests
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

19 months agoSet correct pipeline barrier between clear image and trace ray
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

19 months agoAdd check for the return value of vkGetPhysicalDeviceImageFormatProperties2
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

19 months agoMerge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main
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

19 months agoMerge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main
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

19 months agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
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

19 months agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
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

19 months agoCorrected shaders to draw uniform colors.
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

19 months agoAdd tests for 0 pWaitDstStageMask in VkSubmitInfo and events.
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
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

19 months agoRemove clearing of pipeline creation feedbacks while veryfying them
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/vulkan-cts-1.3.4
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
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

19 months agoFix to get supported depth format instead of using VK_FORMAT_D32_SFLOAT
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
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

19 months agoWrite gl_PointSize in depth tests
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

19 months agoAdd check if format is supported in external memory host tests
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

19 months agoFix invalid framebuffer in compressed texture 3D tests
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

19 months agoFix flushing memory range in memory model shared tests
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

19 months agoAdd tests with primitive restart generating no primitives
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

19 months agoAdd tests for VK_EXT_extended_dynamic_state3
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

19 months agoMerge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main
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

19 months agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
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

19 months agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
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

19 months agoMerge vk-gl-cts/vulkansc-cts-1.0.1 into vk-gl-cts/main
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

19 months agoRemove custom instances from robustness index access tests
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

19 months agoReduce number of command pools in texel_view_compatible tests
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

19 months agoFix uninitialized blendConstants in ColorBlendState
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

19 months agoAdd missing extension checks in extended dynamic state tests
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

19 months agoEnsure robustness for OOB index buffer accesses
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

19 months agoTest creating device with promoted feature structures
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

19 months agoAvoid passing unsupported structs in mandatory features test
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

19 months agoAdds coverage for gl_PrimitiveID implicit passthrough with GPL.
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

19 months agoAvoid using custom instances in robustness tests
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

19 months agoAllow override of wayland-scanner executable
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

19 months agoAdd VK_NULL_HANDLE definition to vkDefs.hpp
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

19 months agoAdd tests for buffer device address with buffers bound at offset
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.4 into vk-gl-cts/main
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

19 months agoFix errors in dynamic rendering suballocation tests
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

19 months agoFixes for VK_EXT_image_compression_control swapchain tests
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/vulkan-cts-1.3.4
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

19 months agoFixes for VK_EXT_image_compression_control tests
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/vulkan-cts-1.3.3
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

19 months agoUse pipeline layout alongside with fragment shader stage
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

19 months agoFix color blend state color attachments in depth tests
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
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

19 months agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
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

19 months agoRe-add texture filtering tests with rgba10x6 format
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