platform/upstream/VK-GL-CTS.git
2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 17 Sep 2021 18:11:27 +0000 (14:11 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I0e58f89d8cfdfaaa400f700ea87882cb281f080f

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 17 Sep 2021 15:57:13 +0000 (11:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I2d3ee8a323e62c13c9f3e5ff499ff3614c802b29

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 17 Sep 2021 15:56:59 +0000 (11:56 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I521f0b1f6f4c3a86e8612239ce2134be76e5d16a

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Fri, 17 Sep 2021 15:56:48 +0000 (11:56 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ic1ab6043f9d70b8491192137c6d8c2fc12f2112d

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
root [Thu, 16 Sep 2021 17:41:40 +0000 (13:41 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I7bd0d85348a194cda0ec5922fa93a2cb5dd02e19

3 years agoAdd tests for VK_KHR_shader_integer_dot_product
Stuart Brady [Tue, 19 Jan 2021 14:19:40 +0000 (14:19 +0000)]
Add tests for VK_KHR_shader_integer_dot_product

Components: Vulkan, Framework

VK-GL-CTS issue: 2729

New tests:
dEQP-VK.spirv_assembly.instruction.compute.opsdotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsdotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opudotaccsatkhr.*
dEQP-VK.spirv_assembly.instruction.compute.opsudotaccsatkhr.*

Affects:
dEQP-VK.api.info.get_physical_device_properties2.features
dEQP-VK.api.info.get_physical_device_properties2.properties

Signed-off-by: Stuart Brady <stuart.brady@arm.com>
Signed-off-by: Pablo Cascón <pablo.cascon@arm.com>
Signed-off-by: Neil Hickey <neil.hickey@arm.com>
Change-Id: Ia618d9eb33369e72eedc5845342e17e1ee12da3a
(cherry picked from commit 12d5b5fe34a4cde919e1d9d3949154bf33ef21f2)

3 years agoFulfill OpControlBarrier requirement
Boris Zanin [Wed, 17 Mar 2021 11:27:26 +0000 (12:27 +0100)]
Fulfill OpControlBarrier requirement

The valid usage requirement in vulkan specification 1.2.170
VUID-StandaloneSpirv-None-04641 requires: "If the Scope for
memory is Invocation, then memory semantics must be None".
New SPIRV-Tools enforces it.

Fix tests:
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.in_function
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.in_switch
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.in_if
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.after_divergent_if
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.in_loop

Update tests:
 * dEQP-VK.spirv_assembly.instruction.graphics.barrier.*

Components: Vulkan

Change-Id: Ie6997fdb36c0327d88a2b7b6b4826dfee690377d

3 years agoRemove invalid SPIR-V decorations
Ilkka Saarelainen [Tue, 7 Sep 2021 13:03:46 +0000 (16:03 +0300)]
Remove invalid SPIR-V decorations

Some SPIR-V asm tests used invalid Binding and DescriptorSet decorations.
This CL removes those decorations.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.physical_pointers.complex_types_compute.*
dEQP-VK.spirv_assembly.instruction.compute.pointer_parameter.buffer_memory
dEQP-VK.spirv_assembly.instruction.graphics.pointer_parameter.buffer_memory*
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_float_16_to_16x2.scalar
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_float_16_to_16x2.vec2
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_int_16_to_16x2.scalar_int
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_int_16_to_16x2.scalar_uint
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_int_16_to_16x2.ivec2
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_int_16_to_16x2.uvec2

Components: Vulkan

VK-GL-CTS issue: 3063

Change-Id: Icfee33f9ce041bf60a19fba55aef9fdab0747148

3 years agoMerge branch 'vulkan-cts-1.2.6' into vulkan-cts-1.2.7
Peter Kohaut [Tue, 7 Sep 2021 16:40:35 +0000 (18:40 +0200)]
Merge branch 'vulkan-cts-1.2.6' into vulkan-cts-1.2.7

Change-Id: Iec55ddd12f12935ab70d00af5841a8b22f9a3c89

3 years agoAllow GL_RGB9_E5 as a valid fbo format
Matthew Netsch [Tue, 22 Dec 2020 19:40:32 +0000 (01:10 +0530)]
Allow GL_RGB9_E5 as a valid fbo format

If GL_QCOM_render_shared_exponent is available then treat
GL_RGB9_E5 as a valid internal format for fbo. Also, allow
copy of RGB9_E5 pixel data.

Components: OpenGL
VK-GL-CTS Issue: 2898

Affects:
KHR-GLES3.packed_pixels.rectangle.rgb9_e5
KHR-GLES3.packed_pixels.pbo_rectangle.rgb9_e5
KHR-GLES3.packed_pixels.varied_rectangle.rgb9_e5

Change-Id: Ie57d74b9bbd11cf7ccca175813077c22405a0926
(cherry picked from commit db8e2899b1f0ab4677aa24af6fad4119f5fe1fa2)

3 years agoAdd GL_RGB9_E5 as renderable ext format in fbo tests
Mohankumar Nekkarakalaya [Thu, 19 Aug 2021 19:05:36 +0000 (12:05 -0700)]
Add GL_RGB9_E5 as renderable ext format in fbo tests

-If GL_QCOM_render_shared_exponent is supported then treat
GL_RGB9_E5 as a renderable format for fbo completeness tests

Components: OpenGL
VK-GL-CTS Issue: 3066

Affects:
dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0.rgb9_e5
dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.rgb9_e5

Change-Id: I74566a5b56c7528c89ac97423c5b6f9207397c70
(cherry picked from commit d18b37f7319839e2be970a96fecdeb2cdb1db7e4)

3 years agoMerge branch 'vulkan-cts-1.2.6' into vulkan-cts-1.2.7
Peter Kohaut [Fri, 3 Sep 2021 11:11:48 +0000 (13:11 +0200)]
Merge branch 'vulkan-cts-1.2.6' into vulkan-cts-1.2.7

Change-Id: I5d1960f36c445e344a36442d03b7a71a50732038

3 years agoMerge branch 'vulkan-cts-1.2.5' into vulkan-cts-1.2.6
Peter Kohaut [Fri, 3 Sep 2021 10:20:36 +0000 (12:20 +0200)]
Merge branch 'vulkan-cts-1.2.5' into vulkan-cts-1.2.6

Change-Id: Ia705e141206a3751d4abc2d6eccd958d7e3f2f0e

3 years agoMerge branch 'vulkan-cts-1.2.4' into vulkan-cts-1.2.5
Peter Kohaut [Fri, 3 Sep 2021 07:33:02 +0000 (09:33 +0200)]
Merge branch 'vulkan-cts-1.2.4' into vulkan-cts-1.2.5

Change-Id: I952af5b744206c52b4161d8c1102b6a8c2a53f58

3 years agoMerge branch 'vulkan-cts-1.2.3' into vulkan-cts-1.2.4
Peter Kohaut [Thu, 2 Sep 2021 20:22:53 +0000 (22:22 +0200)]
Merge branch 'vulkan-cts-1.2.3' into vulkan-cts-1.2.4

Change-Id: Ica9ea69514cd36415ad89f4b34e8384b0523181c

3 years agoMerge remote-tracking branch 'origin/vulkan-cts-1.2.2' into vulkan-cts-1.2.3
Peter Kohaut [Thu, 2 Sep 2021 17:05:54 +0000 (19:05 +0200)]
Merge remote-tracking branch 'origin/vulkan-cts-1.2.2' into vulkan-cts-1.2.3

Change-Id: I3c5b289149d9f2601b5d5ab8986d41b3f33f8bab

3 years agoCorrect Vulkan multiview 'tesellation' test names
Alex Walters [Thu, 12 Aug 2021 13:12:55 +0000 (14:12 +0100)]
Correct Vulkan multiview 'tesellation' test names

Tests are renamed from 'tesellation' to 'tessellation' but are otherwise
unchanged.

Affects:

dEQP-VK.multiview*tessellation*

Components: Vulkan
Change-Id: I1686bb6fb8a0e85e201853602f840e03e847169d

3 years agoFix protected memory ssbo pipeline barrier use
Mike Byrne [Mon, 9 Aug 2021 11:40:07 +0000 (12:40 +0100)]
Fix protected memory ssbo pipeline barrier use

Incorrect stage flags are passed to vkCmdPipelineBarrier in the copy
buffer operation in the dEQP-VK.protected_memory.ssbo.ssbo_read.*

These tests were introduced in origin/vulkan-cts-1.1.0

Components: Vulkan

Affects:
dEQP-VK.protected_memory.ssbo.*

VK-GL-CTS Issue: 3041

Change-Id: Iccdb96fee30e32bf26dec1e26d65ea8d5600c384

3 years agoDon't alias image views in separate_channels subpass dependency tests
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

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Alexander Galazin [Fri, 20 Aug 2021 10:14:58 +0000 (12:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Ieaff21c7c6228a4507325afe13ec2a3807b345cb

3 years agoAdd missing vertexPipelineStoresAndAtomics checks in ray query tests
John Anthony [Wed, 18 Aug 2021 20:16:53 +0000 (22:16 +0200)]
Add missing vertexPipelineStoresAndAtomics checks in ray query tests

Affected tests:
dEQP-VK.ray_query.acceleration_structures.*.vertex_shader.*
dEQP-VK.ray_query.acceleration_structures.*.tess_control_shader.*
dEQP-VK.ray_query.acceleration_structures.*.tess_evaluation_shader.*
dEQP-VK.ray_query.acceleration_structures.*.geometry_shader.*
dEQP-VK.ray_query.ray_flags.vertex_shader.*
dEQP-VK.ray_query.ray_flags.tess_control_shader.*
dEQP-VK.ray_query.ray_flags.tess_evaluation_shader.*
dEQP-VK.ray_query.ray_flags.geometry_shader.*
dEQP-VK.ray_query.traversal_control.vertex_shader.*
dEQP-VK.ray_query.traversal_control.tess_control_shader.*
dEQP-VK.ray_query.traversal_control.tess_evaluation_shader.*
dEQP-VK.ray_query.traversal_control.geometry_shader.*

Components: Vulkan

VK-GL-CTS Issue: 3069

Change-Id: I49c37d292380fda47b113bf4fa14a6395f8e81a5

3 years agoFix error in build_apk.py
Ilkka Saarelainen [Thu, 12 Aug 2021 07:22:22 +0000 (10:22 +0300)]
Fix error in build_apk.py

A typo caused build_apk.py to fail if required Android build
tools were missing.

Components: framework

Change-Id: Ia55b95a9057a37152e5a4c91773b1eaa3abc0156

3 years agoFix partial_image_npot_diff_format_clear fail
Lowry Li (Arm Technology China) [Wed, 11 Aug 2021 10:14:41 +0000 (18:14 +0800)]
Fix partial_image_npot_diff_format_clear fail

The tests added in fffc9484834599de9eb5559205cec7cf0105379b /
VK-GL-CTS Issue: 2678 are missing a pipeline barrier between
the new clearing operation the following transfer operation
targeting the same resource.

Components: Vulkan

Affects:
dEQP-VK.api.copy_and_blit.*.image_to_image.simple_tests.
partial_image_npot_diff_format_clear

VK-GL-CTS issue: 3056

Change-Id: I3edf4d98e697e97c4b7934238cdbfc86f2d48632

3 years agoAllow Vulkan CTS 1.2.7.1
Alexander Galazin [Thu, 12 Aug 2021 15:23:45 +0000 (17:23 +0200)]
Allow Vulkan CTS 1.2.7.1

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: Ic313a2b15d7c2be5c5b1f95aa189dc6bf1adbf70

3 years agoAdd tests for VK_EXT_shader_atomic_float2
Jason Ekstrand [Wed, 26 Aug 2020 22:47:24 +0000 (17:47 -0500)]
Add tests for VK_EXT_shader_atomic_float2

New tests:
dEQP-VK.glsl.atomic_operations.*float16*
dEQP-VK.glsl.atomic_operations.min_float*
dEQP-VK.glsl.atomic_operations.max_float*
dEQP-VK.image.atomic_operations.min*r32f*
dEQP-VK.image.atomic_operations.max*r32f*

Affects:

dEQP-VK.glsl.atomic_operations.*float*
dEQP-VK.image.atomic_operations.add*r32f*
dEQP-VK.image.atomic_operations.exchange*r32f*

Components: Vulkan

VK-GL-CTS issue: 2566

Change-Id: I7462cc74e799c2245407220fa9db7e5b659f86f4
(cherry picked from commit ca4e5aff66bccbbe88935c10e2c55a3147c1fc03)
(cherry picked from commit 218eb73c4f30e720bd19a61704f5ad6ebcd73d48)

3 years agoTests for VK_KHR_present_id and VK_KHR_present_wait
Ricardo Garcia [Mon, 19 Apr 2021 13:56:11 +0000 (15:56 +0200)]
Tests for VK_KHR_present_id and VK_KHR_present_wait

Add tests for VK_KHR_present_id and VK_KHR_present_wait. This commit
also refactors some code so it can be reused in several places, hence
marking all WSI tests as affected.

Affected tests:
dEQP-VK.info.device_mandatory_features
dEQP-VK.wsi.*

New tests:
dEQP-VK.wsi.*.present_id_wait.*

Components: Vulkan
VK-GL-CTS issue: 2098
VK-GL-CTS issue: 2099

Change-Id: I1c95fbf031d651773a9fff1c10a23038d73f6e53
(cherry picked from commit 8bf210fd592883b3adebb57c3d6cc49188d1758e)
(cherry picked from commit b7a8721e2ffb9153283b434658463daac7ed1313)

3 years agoUpdate glslang, SPIR-V Tools, headers
Alexander Galazin [Tue, 27 Jul 2021 18:59:06 +0000 (20:59 +0200)]
Update glslang, SPIR-V Tools, headers

Components: Framework

Change-Id: Ie259277466b22ba816843c362da272a4284fcb93
(cherry picked from commit c1e67a6d8689bdaad205ee0287ea4b490141c4d3)

3 years agoUpdate Vulkan headers
Alexander Galazin [Tue, 27 Jul 2021 10:57:27 +0000 (12:57 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: Id59fb9125cac9068d68a8e5f219c3dc53a093ad0
(cherry picked from commit ab44aa0a0a3a2c1ec5937a71c4cb8936f22fb247)

3 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 5 Jul 2021 14:18:18 +0000 (16:18 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: I6000ca21cc306130dd546887e68d1cecd4dc0e1f
(cherry picked from commit 9aa91388484350028ff7c7c4c063ee87146070b6)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Alexander Galazin [Thu, 12 Aug 2021 20:25:23 +0000 (22:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I34e25155c4d2fc3a37f8699507a1330f86ef78a9

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 12 Aug 2021 19:53:13 +0000 (21:53 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I8d78e920b4007ea7f47e66d64852693dfed22003

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Thu, 12 Aug 2021 18:56:51 +0000 (20:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Id1af44b78cbe4ba82cc76c656e0a22421ac20073

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 12 Aug 2021 18:03:29 +0000 (20:03 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I13ff1ac57c064dc46bbc7c555ba1fed07e04080c

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 12 Aug 2021 18:02:19 +0000 (20:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Iab13500b9aaa9b6da0e99ea9d93fe9cabc66da33

3 years agoDo proper checking for the presence of Xorg/XCB
Maniraj D [Fri, 30 Jul 2021 11:32:04 +0000 (11:32 +0000)]
Do proper checking for the presence of Xorg/XCB

In XcbDisplay::hasDisplay() API, hasthe incorrect
assumption that the xcb_connection_t is always valid,
if its value isn't NULL. XcbDisplay::hasDisplay() must
ensure that there are no connection errors by
using the xcb_connection_has_error() API.
Failure to do so would result in incorrectly trying
to exercise the XCB related test cases against
other than XCB WSIs, such as Wayland, for example.

Components: Vulkan
Affected tests: dEQP-VK.wsi.*
                dEQP-VK.image.swapchain_mutable.*
VK-GL-CTS issue: 3037

Change-Id: Id722b3a3b3d82161ff00096518a026701b291751

3 years agoThe existence of a DRM device is not mandatory
Tony Zlatinski [Wed, 28 Jul 2021 21:41:09 +0000 (16:41 -0500)]
The existence of a DRM device is not mandatory

The VK_EXT_physical_device_drm spec states:
DRM defines multiple device node types. Each physical device may
have one primary node and one render node associated.
Physical devices may have no primary node (e.g. if the device does
not have a display subsystem), may have no render node (e.g. if it is
a software rendering engine), or may have neither (e.g. if it is a
software rendering engine without a display subsystem).

According to the above statement, a DRM device does not have to
always be present for a device to be compliant with the
VK_EXT_physical_device_drm spec.

Components: Vulkan

VK-GL-CTS Issue: 3029

Affects: dEQP-VK.api.device_drm_properties.drm_files_exist

Change-Id: I6d48b15d142650ee0db2dafd5e1b7f3c30e7a837

3 years agoIncrease error threshold for some geometry shader tests
Iago Toral Quiroga [Mon, 2 Aug 2021 09:31:14 +0000 (11:31 +0200)]
Increase error threshold for some geometry shader tests

Components: Vulkan
VK-GL-CTS issue: 3034

Affected tests:
dEQP-VK.geometry.*

Change-Id: I5ed440019ab45f6f31787d199695630d06bb2a51

3 years agoFix variable pointer tests for geometry stages on tilers
Iago Toral Quiroga [Mon, 2 Aug 2021 07:33:49 +0000 (09:33 +0200)]
Fix variable pointer tests for geometry stages on tilers

On tilers we may execute any geometry stage more than once, not just
the vertex shader.

Components: Vulkan
VK-GL-CTS issue: 3033

Affected tests:
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.writes_single_buffer_*

Change-Id: I3ee5db4aa8176d09b10720d7683338ef8e8a8098

3 years agoFix DRM modifier list tests
Ricardo Garcia [Thu, 29 Jul 2021 15:13:51 +0000 (17:13 +0200)]
Fix DRM modifier list tests

* dEQP-VK.drm_format_modifiers.list_modifiers.* tests now check every
  supported modifier instead of returning prematurely if any of the
  modifiers was not supported for the image usage flags the tests uses.

* dEQP-VK.drm_format_modifiers.create_list_modifiers.* tests check
  modifier compatibility first before attempting to use compatible
  modifier lists of different lengths. Test results no longer depend on
  the order of modifiers returned by the implementation and do not
  return NotSupported prematurely.

* dEQP-VK.drm_format_modifiers.export_import.* tests suffered from
  similar issues. They tried to detect which of the supported modifiers
  for a format met a list of requirements and returned early with
  NotSupported if any of them failed to match those requirements,
  instead of running the tests in all possible modifiers.

Affected tests:
dEQP-VK.drm_format_modifiers.*

Components: Vulkan
VK-GL-CTS issue: 3026

Change-Id: I4c6600b87f3c2b4b9b165fdc17988efe2e0cf670

3 years agoRelax protected heap allocation tests
Ari Suonpaa [Fri, 6 Aug 2021 12:08:21 +0000 (15:08 +0300)]
Relax protected heap allocation tests

Some implementations have limitations on protected heap
allocations, and these limitations cannot be queried
using the Vulkan API. This change allows an out-of-memory
to happen after a certain number of allocations to
compensate that.

VK-GL-CTS Issue: 3038

Affects:

dEQP-VK.memory.*allocation.*

Components: Vulkan
Change-Id: I3a34637c8c15eb8670613dce9b6e394a622a4c71

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Alexander Galazin [Thu, 5 Aug 2021 07:23:15 +0000 (09:23 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I2ac7dec5e1cd15b13dec902ceeff581992d2678c

3 years agoFix transform_feedback.simple.multiquery* tests
Daniel Koch [Tue, 27 Jul 2021 21:14:02 +0000 (17:14 -0400)]
Fix transform_feedback.simple.multiquery* tests

Tests were using host query reset which may not be present pre-VK 1.2.
Change tests to use device query reset (there are other dedicated tests which test HOST_QUERY_RESET).

Components: Vulkan
VK-GL-CTS Issue: 2866

Affects:
dEQP-VK.transform_feedback.simple.multiquery*

Change-Id: Ib8c943a53542f4e21167f6afb0005200043477c6

3 years agoFix depth/stencil subpass dependencies in renderpass allocation tests
Connor Abbott [Mon, 26 Jul 2021 13:48:27 +0000 (15:48 +0200)]
Fix depth/stencil subpass dependencies in renderpass allocation tests

This seems like a copy/paste error, but the last subpass should have
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT and the current subpass
should have VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT, analagous to
the color attachment case.

Affects:

dEQP-VK.renderpass.dedicated_allocation.attachment_allocation.input_output.*

Components: Vulkan

VK-GL-CTS Issue: 3019

Change-Id: I0f46316f9c5147d2391c6f0f2a37fb1e56420078

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Alexander Galazin [Tue, 27 Jul 2021 14:12:00 +0000 (16:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I8f8c8aba438300565a896d21d27c2892eef477df

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Tue, 27 Jul 2021 11:34:05 +0000 (13:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I1e865999cbff46e84b9045400eb2dde830296094

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Tue, 27 Jul 2021 10:25:19 +0000 (12:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I22fcd718aadfed74408323615cc4bf58618d979a

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Tue, 27 Jul 2021 09:29:33 +0000 (11:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: If23bb885846d42651d7ac77b375b6c44ea02fa93

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Tue, 27 Jul 2021 08:01:37 +0000 (10:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: If1bb9f63d56815c3ced2ac72d17d4e55ec090f39

3 years agoFix early destruction of VkPipelineLayout
Samuel Iglesias Gonsálvez [Thu, 15 Jul 2021 10:15:09 +0000 (12:15 +0200)]
Fix early destruction of VkPipelineLayout

Components: Vulkan
VK-GL-CTS issue: 3004

Affected:

    dEQP-VK.sparse_resources.shader_intrinsics.*

Change-Id: Id5508fac89961c5bb934005257d2caa26d32f2dd
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
3 years agoFix validation errors in AHB tests
Ari Suonpaa [Wed, 9 Sep 2020 11:27:26 +0000 (14:27 +0300)]
Fix validation errors in AHB tests

AHB protected memory tests were also removed as the test
tried to use protected memory without creating a device
and queue that would support protected operations.

VK-GL-CTS Issue: 2508

Affects:

dEQP-VK.api.external.memory.android_hardware_buffer.*

Components: Vulkan
Change-Id: I307e7450d06d20b6497f2a529e5724ae0538e5a9

3 years agoClean ExternalMemoryUtil
Piotr Byszewski [Thu, 9 Apr 2020 11:41:09 +0000 (13:41 +0200)]
Clean ExternalMemoryUtil

This change separates choosing of memory type from
allocateExportableMemory utility function. This makes
use of this functions more clear.
Previous implementation needed to be done ASAP and
involved passing of non-const reference to
allocateExportableMemory which was then filled.
This workaround made code unnecessarily hard to follow.

Components: Vulkan

VK-GL-CTS issue: 587

Affects:
dEQP-VK.api.external.memory.*
dEQP-VK.synchronization.signal_order.*
dEQP-VK.synchronization.cross_instance.*

Change-Id: I781388db390f13c7c03785dd0ae34ae0128ec31c

3 years agoChange initializer for array of structures to avoid GCC bug
Liam Middlebrook [Fri, 9 Jul 2021 17:38:28 +0000 (10:38 -0700)]
Change initializer for array of structures to avoid GCC bug

Works around the following gcc 4.8.4 internal compiler error:

    vktReconvergenceTests.cpp:1169:35: internal compiler error: in gimplify_init_constructor, at gimplify.c:4271
       SubgroupState stateStack[10] = {};

Components: Vulkan
Affected tests: dEQP-VK.reconvergence.*
VK-GL-CTS issue: 3001

Change-Id: I42ec5aa978351f84ad41aae4af9f4977d3263461

3 years agoFix FreeBSD build of VK_EXT_physical_device_drm tests
James Jones [Wed, 7 Jul 2021 20:59:12 +0000 (13:59 -0700)]
Fix FreeBSD build of VK_EXT_physical_device_drm tests

Linux defines the major() and minor() macros in
the sys/sysmacros.h header, but FreeBSD does not
have this header and instead defines them in
sys/types.h.

Components: Vulkan
Affects: dEQP-VK.api.device_drm_properties.*

Change-Id: I0bed149d24241e152437f530f5eb137738c46122

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Alexander Galazin [Fri, 16 Jul 2021 08:55:49 +0000 (10:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I3e12f2ef494b16c16e6aa957c99c543a057a7003

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Fri, 16 Jul 2021 07:01:36 +0000 (09:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I73e4fbe8f154f15a77498121181c6a48028203fe

3 years agoRemove tests with too many overlapping instances in the accelleration structure
Sławomir Cygan [Thu, 15 Jul 2021 13:22:26 +0000 (15:22 +0200)]
Remove tests with too many overlapping instances in the accelleration structure

These tests generate a grid of random triangles and assign them to the large
number of instances in the acceleration structure. Because of the randomness,
all instances overlap with each other and the accelleration structure is extremely
slow to trace - as each ray must traverse through all instances.

This change removes some tests cases with 65536 instances and tests cases with
1048576 instances to avoid device timeouts.

The tests apply only to implementations with host accelleration structure builds
supported.

Components: Vulkan

VK-GL-CTS Issue: 3005

Change-Id: I94bcde596cd097672cf8e00c6fe018328998cb37
Affects: dEQP-VK.ray_tracing_pipeline.build.*

3 years agoAccept per-sample shading in multiple interpolation tests
Ricardo Garcia [Thu, 8 Jul 2021 14:06:22 +0000 (16:06 +0200)]
Accept per-sample shading in multiple interpolation tests

When using the sample decoration in one of the fragment shader input
variables, some implementations may switch to per-sample shading mode,
producing results which are different from the per-fragment shading
results but which are allowed by the spec.

This commit enables sample shading with rate 1.0 as an alternative valid
result for multiple interpolation tests in implementations supporting
the sampleRateShading feature.

Affected tests:
dEQP-VK.draw.multiple_interpolation.*

Components: Vulkan
VK-GL-CTS issue: 2993

Change-Id: Id5d33df38b8c7179a0686b615578871aea8d8f22

3 years agoSingle color buffer in multiple interpolation tests
Ricardo Garcia [Tue, 6 Jul 2021 15:55:14 +0000 (17:55 +0200)]
Single color buffer in multiple interpolation tests

The multiple interpolation tests were requiring 5 color attachments to
run the main fragment shader, when the spec requires implementations to
support at least 4.

Instead of checking the number of supported color attachments and
marking the tests as not supported in those cases, this commit changes
the main fragment shader to use only one color attachment and selects
one of the multiple interpolations using push constants.

The tests run a bit slower because they use multiple pipelines and
render passes in sequence instead of a single one, but they can be run
on any implementation.

Affected tests:
dEQP-VK.draw.multiple_interpolation.*

Components: Vulkan
VK-GL-CTS issue: 2986

Change-Id: I14f0aacd8e134bbcbf027f46ed6c18076bae09f5

3 years agoSet point size in subgroup size control tests
James Fitzpatrick [Mon, 5 Jul 2021 12:43:10 +0000 (13:43 +0100)]
Set point size in subgroup size control tests

The subgroup size control tests were not correctly setting the point
size flag when initialising their std programs leading to point size
being uninitialised when shaderTessellationAndGeometryPointSize is
supported.

Affects:
dEQP-VK.subgroups.size_control.*

Components: Vulkan
VK-GL-CTS issue: 2988

Change-Id: I26fe7807093d12c69f0214be8c75bd9356cbce2a

3 years agoFix Protected context constructor initialization list order
Mohankumar Nekkarakalaya [Fri, 2 Jul 2021 17:48:19 +0000 (10:48 -0700)]
Fix Protected context constructor initialization list order

Changed the initilization order of the Protected Context constructor
members because m_allocator depends on m_device and m_deviceDriver.

This was causing the allocator to be created with an uninitialized
device.

Affected tests: dEQP-VK.protected_memory.*

Components: Vulkan
VK-GL-CTS issue: 2990

Change-Id: I921c18aec1c4ba1e8335f6e62b8df2e9cc5f2b39

3 years agoUpdate Imagination waiver #229
James Fitzpatrick [Mon, 5 Jul 2021 13:57:30 +0000 (14:57 +0100)]
Update Imagination waiver #229

vulkan-cts-1.2.7.0 introduced new tests to validate that an
implementation clamps the most negative snorm values to -1.0 when
using linear filtering.

There is an existing waiver that covers some Imagination GPUs which do
not correctly round negative snorm values.

Update this waiver to apply to the newly added tests.

Affects
dEQP-VK.texture.conversion.snorm_clamp_linear.*

VK-GL-CTS issue: 229
VK-GL-CTS issue: 2989

Change-Id: Ic23f0a042f7489bcfd9fb838260e920f7d19f2c6

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Alexander Galazin [Thu, 8 Jul 2021 19:39:44 +0000 (21:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I3fa99a90ec8944344b87a18c1ce2a01b93531c92

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 8 Jul 2021 19:01:12 +0000 (21:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I8cfb44dac31df4a46280d3c050e561c5f9c84538

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Alexander Galazin [Thu, 8 Jul 2021 18:08:17 +0000 (20:08 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I41d5f00d649218e1418c13591f50885858624198

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Alexander Galazin [Thu, 8 Jul 2021 17:09:43 +0000 (19:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I166b558acc75b2d9259620be5fb8ba89eaa10841

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 8 Jul 2021 16:27:33 +0000 (18:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Ic61d3218b466b8fd2c50127867a0cfdb77c07637

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 8 Jul 2021 15:37:58 +0000 (17:37 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I7c0abe6efdeab69b5928cc0e67a6365f15b1e5c5

3 years agoCall computeFixedPointError only for fixed point case
Mohankumar Nekkarakalaya [Wed, 7 Jul 2021 23:00:03 +0000 (16:00 -0700)]
Call computeFixedPointError only for fixed point case

Calling computeFixedPointError for integer case (numAccurateBits=32)
is incorrect and causes crash.
Added assert to make sure numAccurateBits is in legal range.

Affected tests: dEQP-VK.sparse_resources.image_sparse_residency.*

Components: Vulkan

VK-GL-CTS issue: 2994

Change-Id: Ib357cbbbda0f7980ec2d7115053cabc6825a18d3

3 years agoExclude cov-function-with-nested-loops-called-from-nested-loops
Alexander Galazin [Wed, 7 Jul 2021 09:13:05 +0000 (11:13 +0200)]
Exclude cov-function-with-nested-loops-called-from-nested-loops

This excludes dEQP-VK.graphicsfuzz.cov-function-with-nested-loops-called-from-nested-loops
from the mustpass. The test was failing for one of the IHVs and was merged by mistake

Components: Vulkan

Affects:
dEQP-VK.graphicsfuzz.cov-function-with-nested-loops-called-from-nested-loops

Change-Id: I2547da87b0924b9e0661f6930504702f793c3b95

3 years agoAvoid overflowing arrays in GLSL atomic tests
Iago Toral Quiroga [Tue, 6 Jul 2021 09:10:04 +0000 (11:10 +0200)]
Avoid overflowing arrays in GLSL atomic tests

Tilers may need to execute vertex pipeline stages more than once,
leading to additional shader invocations. This is a problem for atomic
tests, since their result depends on the number of shader invocations
executed.

This is already handled properly for vertex shaders but not for other
vertex pipeline stages.

Affected tests:
dEQP-VK.glsl.atomic_operations.*

Components: Vulkan
VK-GL-CTS issue: 2987

Co-authored-by: Ricardo Garcia <rgarcia@igalia.com>
Change-Id: Iab08e3fb2ef40fc29dcf073817e5fd5dd49e7875

3 years agoAllow Vulkan CTS 1.2.7.0
Alexander Galazin [Thu, 1 Jul 2021 17:02:21 +0000 (19:02 +0200)]
Allow Vulkan CTS 1.2.7.0

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: I4a690af61ea6e8cb752751d0282a7771b11f3b36

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Thu, 1 Jul 2021 16:14:03 +0000 (18:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: Ie5ff780b4e0951acc82541cdd7a914e892789f8f

3 years agoHandle vkGetDeviceAccelerationStructureCompabilityKHR function.
michal_jakubek [Fri, 16 Apr 2021 09:09:43 +0000 (11:09 +0200)]
Handle vkGetDeviceAccelerationStructureCompabilityKHR function.

New tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.device_compability_khr.*

Components: Vulkan

VK-GL-CTS issue: 2822

Change-Id: Iaf8556f44942d44bda19a104fc3c393b8101201e

3 years agoDrop subgroup size requirement for uniform control
Graeme Leese [Thu, 17 Sep 2020 17:47:23 +0000 (18:47 +0100)]
Drop subgroup size requirement for uniform control

The uniform control tests were using a required subgroup size without
checking for support. In fact, the only requirement is that the two
shaders in each test run with the same subgroup size. This is guaranteed
for all pipelines unless the varying size feature is enabled, so the
required subgroup size is not needed.

Components: Vulkan
VK-GL-CTS issue: 2576
Affects: dEQP-VK.subgroups.subgroup_uniform_control_flow.*control.*

Change-Id: Id1bf77a040ca6183b1ce237ae5f3bcda909c716c
(cherry picked from commit dbd42247ae8f885470fde4dbb3efccdb8c2e1134)

3 years agoCheck support for triangle fan primitive topology on rasterization tests
Samuel Iglesias Gonsálvez [Thu, 24 Jun 2021 09:48:16 +0000 (11:48 +0200)]
Check support for triangle fan primitive topology on rasterization tests

If VK_KHR_portability_subset is supported, check for triangle fan
support in the tests that use that primitive topology.

Component: Vulkan
Fix issue: KhronosGroup#246
VK-GL-CTS issue: 2978

Affected test:
   dEQP-VK.rasterization.*triangle_fan

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I98a4ab5caee2bf6f07c610822b8166b3a1803e52

3 years agoRevert initial layout for depth/stencil attachment in makeRenderPass
Boris Zanin [Wed, 2 Jun 2021 11:06:00 +0000 (13:06 +0200)]
Revert initial layout for depth/stencil attachment in makeRenderPass

Return back previous initial depth/stencil attachment
layout, i.e. set it to
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL only
if loadOperation is VK_ATTACHMENT_LOAD_OP_LOAD.
Otherwise keep it undefined.

Setting vast range of affected tests, because it is
hard to determine which of the tests are using
affected by this function.

Affected tests:
 * dEQP-VK.*

Components: Framework

VK-GL-CTS public issue: 272

Change-Id: Ie96c8125144904fde5e2db6294f52947ff979424

3 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Mon, 7 Jun 2021 13:13:05 +0000 (16:13 +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-apfloat-module-small-number
dEQP-VK.graphicsfuzz.cov-determinant-uninitialized-matrix-never-chosen
dEQP-VK.graphicsfuzz.cov-divide-matrix-transpose-by-constant
dEQP-VK.graphicsfuzz.cov-fragcoord-bitwise-not
dEQP-VK.graphicsfuzz.cov-function-with-nested-loops-called-from-nested-loops
dEQP-VK.graphicsfuzz.cov-loop-break-floor-nan-never-executed
dEQP-VK.graphicsfuzz.cov-missing-return-value-function-never-called
dEQP-VK.graphicsfuzz.cov-modulo-zero-never-executed
dEQP-VK.graphicsfuzz.cov-read-matrix-push-constant
dEQP-VK.graphicsfuzz.cov-reinitialize-matrix-after-undefined-value
dEQP-VK.graphicsfuzz.cov-sampler-as-function-argument
dEQP-VK.graphicsfuzz.cov-transpose-multiply
dEQP-VK.graphicsfuzz.cov-trunc-fract-always-zero
dEQP-VK.graphicsfuzz.cov-uninitialized-values-passed-to-function-never-executed
dEQP-VK.graphicsfuzz.cov-unused-access-past-matrix-elements

Change-Id: I06f80169893fcc92d154d0da386568a177416426

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Thu, 1 Jul 2021 15:12:58 +0000 (17:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Iffe181f31ff661ead2142e7e7f0abb314bf1a2e1

3 years agoFix semaphore leak in image atomic operations test
Sławomir Cygan [Fri, 25 Jun 2021 14:08:23 +0000 (16:08 +0200)]
Fix semaphore leak in image atomic operations test

The class 'Image', being base class for `SparseImage` class needs to be
marked as virtual, so objects of SparseImage type can be owned and
destroyed through a pointer of `Image` type.  Without that the implicit
destructor of `SparseImage` class is never called.

As SparseImage class has a semaphore member, this fixes the
semaphore VK object leak.

Components: Vulkan

VK-GL-CTS Issue: 2981

Change-Id: Ice24f7018cf9144f4c1adbb8987b730d5f1ca2aa
Affects: dEQP-VK.image.atomic_operations.*

3 years agoFix use of binary semaphore in signaled state
Lars-Ivar Hesselberg Simonsen [Fri, 23 Apr 2021 10:04:44 +0000 (12:04 +0200)]
Fix use of binary semaphore in signaled state

Vulkan spec specifies that binary semaphore waits and signals should
occur in discrete 1:1 pairs.

This change ensures that the binary semaphore signaled by
synchronizationWrapper[SECOND] is waited on before being used again,
which resolves the corresponding validation layer error.

In addition, the change fixes an issue where the second submission pair
did not correctly swap semaphore info.

Components: Vulkan

Affects:
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue
dEQP-VK.synchronization.basic.binary_semaphore.multi_queue_typed
dEQP-VK.synchronization.basic.timeline_semaphore.multi_queue

VK-GL-CTS Issue: 2910

Change-Id: Id2fb2211a43150e3acb5c07dd6c205c7a42296d5
(cherry picked from commit a017db3c0d1fbf89f30253254d57fb869f57a430)

3 years agoFix compilation issue in float_controls
Piotr Byszewski [Wed, 30 Jun 2021 12:03:40 +0000 (14:03 +0200)]
Fix compilation issue in float_controls

Two assertions in float_controls tests used conditions of type:
(x!=a || x!=b) which are always true and started triger compilation
errors on some platforms.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Change-Id: I2df613acaf2cc089df29cdc8172d50f3174c6456

3 years agoAdd sample decorator to interpolation tests
Jari Komppa [Thu, 25 Mar 2021 14:09:44 +0000 (16:09 +0200)]
Add sample decorator to interpolation tests

Adds the sample decorator to tests that compare
other interpolator decorations.

Affects:
dEQP-VK.draw.multiple_interpolation.*

Components: Vulkan
VK-GL-CTS issue: 2733

Change-Id: I6964f9c8595dd616da22ba42c974676c864e9e8a

3 years agoAdd VK_EXT_device_drm_properties tests
James Jones [Fri, 8 Jan 2021 17:53:43 +0000 (09:53 -0800)]
Add VK_EXT_device_drm_properties tests

Verifies the basic API functionality works by
locating the device nodes associated with a Vulkan
device by matching them against the major and
minor device IDs reported by the extension.

Rather than assume the location of DRM device
nodes on the filesystem, these tests look them up
using libdrm's drmGetDevices[2]() function. This
requires some supporting code to properly load the
libraries, but should be more portable than simply
walking /dev/dri/*.

Components: Vulkan

New tests:

dEQP-VK.api.device_drm_properties.*

Change-Id: If9436e1595ad1132d5f542629c372a02fc3ed9e2

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Wed, 30 Jun 2021 09:51:11 +0000 (11:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: I458f9b2ab7d0aa30c4e04228605934da9345ce36

3 years agoMerge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master
Alexander Galazin [Wed, 30 Jun 2021 09:04:21 +0000 (11:04 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master

Change-Id: I9aa118f273dc5ea3eb65f16c40a47b3d9a658574

3 years agoAdd uniform control flow extension to allowed list
Graeme Leese [Tue, 29 Jun 2021 16:03:53 +0000 (17:03 +0100)]
Add uniform control flow extension to allowed list

Components: Vulkan
Affects: dEQP-VK.info.device_extensions
Change-Id: I2fe13e778dd160ce0fd842ccddc9ed8f1d129772

3 years agoAdd VK_EXT_multi_draw tests
Ricardo Garcia [Thu, 10 Jun 2021 09:55:16 +0000 (11:55 +0200)]
Add VK_EXT_multi_draw tests

This commits adds a new test group with VK_EXT_multi_draw tests. The new
tests check the new API functions, the DrawIndex builtin and several
combinations of instance counts, strides, vertex offsets and number of
batched draw calls.

New tests:
dEQP-VK.draw.multi_draw.*

Affected tests:
dEQP-VK.info.device_mandatory_features

Components: Framework, Vulkan
VK-GL-CTS issue: 2897

Change-Id: Ifa6a92bd34c9f3509e82f6c346cc7eb5fd894bbc

3 years agoFix wait semaphore count value
Samuel Iglesias Gonsálvez [Tue, 1 Jun 2021 10:46:49 +0000 (12:46 +0200)]
Fix wait semaphore count value

Components: Vulkan
VK-GL-CTS issue: 2949
Fixes: a47665a6e "Generalize synchronization tests"

Affected tests:

   dEQP-VK.synchronization.op.single_queue.binary_semaphore.*

Change-Id: I14bb0d79b67e444b20683a766b769ce3a94a3222
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
(cherry picked from commit bfe111789be62a974f403d452073ba30b24e5632)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master
Alexander Galazin [Tue, 29 Jun 2021 07:53:40 +0000 (09:53 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master

Change-Id: Ia535b31670d1d6eb509f75508ac1b6f639714999

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Alexander Galazin [Tue, 29 Jun 2021 07:24:05 +0000 (09:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I820d94d27c30ea492dd04637b805dd78db2353d8

3 years agoUpdate extension dependencies
Alexander Galazin [Wed, 9 Jun 2021 11:45:47 +0000 (13:45 +0200)]
Update extension dependencies

Affects:
dEQP-VK.info.device_extensions

Components: Vulkan

Change-Id: I8be1c95646a6f0c2b8ddc27cc27c6679346c51c7

3 years agoImprove existing cull distance tests
Samuel Iglesias Gonsálvez [Tue, 8 Jun 2021 15:20:24 +0000 (17:20 +0200)]
Improve existing cull distance tests

Previously the tests were just writing a constant value to
gl_CullDistance[i] in the vertex shader and copying that value in
the rest of the geometry stages.

This commit does the following:

- The last shader writting to gl_CullDistance assigns 0 if
gl_Position.y < 0 and 0.5f otherwise. That way we can test the
interpolation of gl_CullDistance in the fragment shader.

- In case there are multiple geometry shaders, all except the last one
write a different value to gl_CullDistance[i] and checks the value
written by the previous shader stage. Therefore we check the values
are properly propagated between stages and they are overwritten as
well.

Components: Vulkan
VK-GL-CTS issue: 2961

Affected tests:

    dEQP-VK.clipping.*.clip_cull_distance*

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I213cc0469e72d82a8eda814e770aac2b825286fc

3 years agoAdd tests checking Input and Resolve attachments can be the same attachment in a...
Samuel Iglesias Gonsálvez [Mon, 14 Jun 2021 14:07:01 +0000 (16:07 +0200)]
Add tests checking Input and Resolve attachments can be the same attachment in a subpass

Components: Vulkan
VK-GL-CTS issue: 2931

Added test:

  dEQP-VK.pipeline.framebuffer_attachment.resolve_input_same_attachment

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I12e3741d219118c1b65b921a4b81b10d3c6d1c71

3 years agoFix 64-bit atomics mandatory feature checks
Ricardo Garcia [Tue, 22 Jun 2021 09:16:34 +0000 (11:16 +0200)]
Fix 64-bit atomics mandatory feature checks

Require shaderBufferInt64Atomics from VkPhysicalDeviceVulkan12Features
if the same feature from VkPhysicalDeviceShaderAtomicInt64FeaturesKHR is
supported.

Require shaderInt64 if any of the 64-bit integer atomic features is
supported.

Affected tests:
dEQP-VK.info.device_mandatory_features

VK-GL-CTS issue: 2976
Components: Vulkan

Change-Id: I95b2e90aec2d8d04bdbbfcdf60989c78a952a9da

3 years agoFix tessellation SPIR-V tests use of Restrict
Jason Ekstrand [Mon, 21 Jun 2021 20:35:36 +0000 (15:35 -0500)]
Fix tessellation SPIR-V tests use of Restrict

Their usage of Restrict violates the SPIR-V spec which requires that it
only got on variables, not types or struct members.

Affected tests:
dEQP-VK.tessellation.*

Components: Vulkan
VK-GL-CTS issue: 2975

Change-Id: Ifbde1b493bf56d1ee6454a4ab54e98bcd05f839b

3 years agoFix buffer copy extents in blit tests
Graeme Leese [Fri, 4 Jun 2021 13:50:34 +0000 (14:50 +0100)]
Fix buffer copy extents in blit tests

The buffer extents of copies to/from compressed images should account
for the extra size of the compressed block that might not fit in the
actual image but it was not.

Component: Vulkan
Affects: dEQP-VK.api.copy_and_blit.*

Change-Id: Ia4a47554078722b3cd4548df413bcdb62451cba5

3 years agoAllow the use of the standard types
Alexander Galazin [Fri, 18 Jun 2021 08:17:32 +0000 (10:17 +0200)]
Allow the use of the standard types

Removes the script that enforces the use of
the de-wrappers instead of the standard types.

VK-GL-CTS issue: 2963

Components: Framework

Change-Id: I5e2ff38a2b2cbc63a3c756a1e0260833ecd9381e

3 years agoAllocate memory for reference buffer
Sławomir Cygan [Tue, 15 Jun 2021 09:22:47 +0000 (11:22 +0200)]
Allocate memory for reference buffer

This fixes regression from 2236dd2.

m_referenceMem was not allocated leading to assert
in vk::Allocation::getHostPtr() and later crash.

VK-GL-CTS Issue: 2970

Components: Vulkan

Affects:
dEQP-VK.glsl.constants.*
dEQP-VK.glsl.constant_expressions.*

Change-Id: Ia798a72f348cc235b2a2ff18b3614f50713abd91

3 years agoFix YCbCr linear filtering support check
Graeme Leese [Thu, 10 Jun 2021 12:57:42 +0000 (13:57 +0100)]
Fix YCbCr linear filtering support check

The code was incorrectly checking the CONVERSION_LINEAR bit, which
determines whether a chromaFilter of linear is allowed, instead of the
more generic FILTER_LINEAR bit.

See vulkan/vulkan!4623

Component: Vulkan
Affects: dEQP-VK.ycbcr.*

Change-Id: Ifcacde146c10c24401e9efcc6095f5d0c5c8c519

3 years agoDon't run _concurrent sync tests on 1 queue devices
Graeme Leese [Fri, 4 Jun 2021 16:23:28 +0000 (17:23 +0100)]
Don't run _concurrent sync tests on 1 queue devices

The tests are testing synchronisation primitives in combination with
images marked as SHARING_MODE_CONCURRENT but this is not possible on
deivces that only support a single queue family. Because creating an
image with concurrent sharing requires two distinct queue families, it
is not supported on these devices.

Component: Vulkan
Affects: dEQP-VK.synchronization*.multi_queue.*_concurrent

Change-Id: I30a05bb085eef9e3087adfa12377a4909942f9c3