platform/upstream/VK-GL-CTS.git
21 months agoMesh shader query tests
Ricardo Garcia [Mon, 1 Aug 2022 09:01:32 +0000 (11:01 +0200)]
Mesh shader query tests

Tests for VK_EXT_mesh_shader queries: number of generated primitives,
task shader invocations and mesh shader invocations.

New tests:
dEQP-VK.mesh_shader.ext.query.*

Components: Vulkan
VK-GL-CTS issue: 2991

Change-Id: I65b9508315131937b5d94da9a4472f0a15fee0a1

21 months agoAdditional VK_EXT_mesh_shader tests
Ricardo Garcia [Mon, 27 Jun 2022 14:44:05 +0000 (16:44 +0200)]
Additional VK_EXT_mesh_shader tests

This commit adds more VK_EXT_mesh_shader tests and corrections after the
main branch was merged to the development branch.

It also reworks the NV and EXT synchronization tests because they were
attempting to use subpass dependencies to synchronize reads and writes
in the same draw call, which is not possible.

New, affected and renamed tests:
dEQP-VK.mesh_shader.ext.smoke.*
dEQP-VK.mesh_shader.ext.properties.*
dEQP-VK.mesh_shader.*.synchronization.*
dEQP-VK.mesh_shader.ext.provoking_vertex.*
dEQP-VK.fragment_shading_rate.*.basic.*

VK-GL-CTS issue: 2991
Components: Vulkan

Change-Id: Iaccf88e08dc319c35f6c937a269c6d9406ed2531

2 years agoMerge branch 'main' into dev/VK_EXT_mesh_shader
Ricardo Garcia [Mon, 30 May 2022 14:58:48 +0000 (16:58 +0200)]
Merge branch 'main' into dev/VK_EXT_mesh_shader

Note that, due to the merge incorporating changes from graphics pipeline
libraries, some tests have been renamed. In particular, the list of
affected and new extended dynamic state tests was written as:

dEQP-VK.pipeline.extended_dynamic_state.*
dEQP-VK.pipeline.extended_dynamic_state.mesh_shader.*
dEQP-VK.pipeline.extended_dynamic_state.*_bind_unused_ms
dEQP-VK.pipeline.extended_dynamic_state.*.prim_restart_* (mesh shader variants)

And now they should be written as:

dEQP-VK.pipeline.*.extended_dynamic_state.*
dEQP-VK.pipeline.*.extended_dynamic_state.mesh_shader.*
dEQP-VK.pipeline.*.extended_dynamic_state.*_bind_unused_ms
dEQP-VK.pipeline.*.extended_dynamic_state.*.prim_restart_* (mesh shader variants)

Change-Id: I9815149d9f20264520a7f48a965ac86bc00b4558

2 years agowriteSupportedExtensions for VKSC
Marcin Zając [Tue, 17 May 2022 15:40:26 +0000 (17:40 +0200)]
writeSupportedExtensions for VKSC

Remove depreciated extensions_data.txt file in gen_framework.py
for vkSupportedExtensions.inl file generation

Components: Vulkan

VK-GL-CTS issue: 3690

Change-Id: Id216ea169c4245fc81177ca02677bbbf7320b803

2 years agoMissing VK_KHR_object_refresh
Marcin Zając [Fri, 20 May 2022 14:01:05 +0000 (16:01 +0200)]
Missing VK_KHR_object_refresh

VKSC only, featureless, non-core extension forces
modifications to the gen_framework.py script.

Components: Vulkan

VK-GL-CTS issue: 3699

Change-Id: I07ebd24f5172a3008072ef6a64543f1df949dbf9

2 years agoTests for VK_EXT_mesh_shader
Ricardo Garcia [Fri, 20 May 2022 10:16:09 +0000 (12:16 +0200)]
Tests for VK_EXT_mesh_shader

This commits adds many new tests for the extension in different groups,
and also adds a few extra tests for VK_NV_mesh_shader.

Affected tests:
dEQP-VK.binding_model.descriptorset_random.*
dEQP-VK.subgroups.*
dEQP-VK.fragment_shading_rate.*.basic.*
dEQP-VK.dynamic_state.*
dEQP-VK.pipeline.extended_dynamic_state.*
dEQP-VK.glsl.atomic_operations.*
dEQP-VK.ycbcr.*

New NV tests:
dEQP-VK.mesh_shader.nv.smoke.fullscreen_gradient*
dEQP-VK.mesh_shader.nv.misc.mixed_pipelines
dEQP-VK.mesh_shader.nv.builtin.primitive_shading_rate*

New EXT tests:
dEQP-VK.mesh_shader.ext.*
dEQP-VK.binding_model.descriptorset_random.*.task.*
dEQP-VK.binding_model.descriptorset_random.*.mesh.*
dEQP-VK.subgroups.*mesh*
dEQP-VK.fragment_shading_rate.*.basic.*.ms
dEQP-VK.dynamic_state.* (mesh shader variants)
dEQP-VK.pipeline.extended_dynamic_state.mesh_shader.*
dEQP-VK.pipeline.extended_dynamic_state.*_bind_unused_ms
dEQP-VK.pipeline.extended_dynamic_state.*.prim_restart_* (mesh shader variants)
dEQP-VK.glsl.atomic_operations.*mesh*
dEQP-VK.glsl.atomic_operations.*task*
dEQP-VK.ycbcr.*.task.*
dEQP-VK.ycbcr.*.mesh.*

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

Change-Id: I578b4e0022cee677db76780450d5f2479fb8a8cf

2 years agoAdd required support check for IsHelperInvocationEXT test
Juha Heiskanen [Tue, 26 Apr 2022 06:29:06 +0000 (09:29 +0300)]
Add required support check for IsHelperInvocationEXT test

IsHelperInvocationEXT test requires the GroupNonUniformQuad capability,
but it did not check for VK_SUBGROUP_FEATURE_QUAD_BIT in
VkPhysicalDeviceSubgroupProperties::supportedOperations. This commit
adds the support check for needed feature.

Components: Vulkan

VK-GL-CTS Issue: 3654

Affects: dEQP-VK.draw.renderpass.shader_invocation.helper_invocation

Change-Id: I3da8d72cf4172288830b61d71cc69baf84500277

2 years agoAdd a batch of GraphicsFuzz coverage tests
Ari Suonpaa [Wed, 11 May 2022 06:02:10 +0000 (09:02 +0300)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-clamp-value-and-min-select-uniform
dEQP-VK.graphicsfuzz.cov-find-msb-input-either-zero-or-minus-one
dEQP-VK.graphicsfuzz.cov-fragcoord-select-always-one
dEQP-VK.graphicsfuzz.cov-function-check-argument-one-always-return-minus-one
dEQP-VK.graphicsfuzz.cov-function-global-variables-fragcoord-condition-call-twice
dEQP-VK.graphicsfuzz.cov-function-large-loop-always-return-first-iteration
dEQP-VK.graphicsfuzz.cov-function-min-identical-integer-division-multiplication
dEQP-VK.graphicsfuzz.cov-integer-variable-or-with-inversion
dEQP-VK.graphicsfuzz.cov-loop-function-call-vector-matrix-multiplication
dEQP-VK.graphicsfuzz.cov-loop-iterator-limit-xor-and-unifrom
dEQP-VK.graphicsfuzz.cov-loop-iterator-start-select-uniform-negative-integer
dEQP-VK.graphicsfuzz.cov-min-identical-uint-uniform-check-highest-bit
dEQP-VK.graphicsfuzz.cov-min-identical-uint-uniform
dEQP-VK.graphicsfuzz.cov-nested-loops-iterator-times-two-while-min
dEQP-VK.graphicsfuzz.cov-nested-loops-select-starting-value-fragcoord

Change-Id: I17f77f04cac88d59c882527aa173c210332763f7

2 years agoTest poolSizeCount can be zero
Piers Daniell [Wed, 13 Apr 2022 18:01:42 +0000 (12:01 -0600)]
Test poolSizeCount can be zero

We are considering a spec "fix" to allow applications to set
the poolSizeCount parameter of VkDescriptorPoolCreateInfo to be zero.

The pending spec change is here: https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/5144

New test:

dEQP-VK.api.descriptor_pool.zero_pool_size_count

Components: Vulkan

VK-GL-CTS Issue: 3637

Change-Id: Ia8d1d95a610016f52afd65d4a16c5af77ba457c2

2 years agoAdd tests for vkGet...SurfacePresentModes2EXT
Jari Komppa [Thu, 10 Mar 2022 12:23:27 +0000 (14:23 +0200)]
Add tests for vkGet...SurfacePresentModes2EXT

Adds tests for vkGetPhysicalDeviceSurfacePresentModes2EXT with and
without the VK_GOOGLE_surfaceless_query extension.

New tests:
dEQP-VK.wsi.*.surface.query_present_modes2
dEQP-VK.wsi.*.surface.query_present_modes2_surfaceless

Components: Vulkan
VK-GL-CTS issue: 3559

Change-Id: I55ad0dce1a16365262ba346410687952bf6cc72e

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main
Matthew Netsch [Mon, 16 May 2022 17:59:36 +0000 (10:59 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main

Change-Id: I6e7ad193b9481e3414a70b6c32d0e11ae319771f

2 years agoMerge branch 'vulkan-sc-cts-dev' into 'main'
Marcin Zając [Thu, 10 Mar 2022 16:10:18 +0000 (17:10 +0100)]
Merge branch 'vulkan-sc-cts-dev' into 'main'

Change-Id: I626d8743ae220c8aeb12bd3e6d10ed3e32f19084

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Matthew Netsch [Fri, 13 May 2022 17:02:58 +0000 (10:02 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: I02f8752c040a1ece951a3990c22b89eee72d98b2

2 years agoFix barrier in layer_copy_before_resolving tests
Eilif Swensen [Wed, 27 Apr 2022 13:50:04 +0000 (15:50 +0200)]
Fix barrier in layer_copy_before_resolving tests

The pipeline barrier separating the clear command from the draw command
should have dstStageMask=VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
to ensure that the clear finished before the draw starts.

Affects:

dEQP-VK.api.copy_and_blit.*.resolve_image.layer_copy_before_resolving.*
dEQP-VK.api.copy_and_blit.*.resolve_image.copy_with_regions_before_resolving.*

Components: Vulkan

VK-GL-CTS issue: 3662

Change-Id: Idf91dcfa2e83760e3e9bc877ce11278217d8cbdc

2 years agoFix EGL test list split
Paul Thomson [Wed, 13 Apr 2022 17:41:30 +0000 (18:41 +0100)]
Fix EGL test list split

Component: Android

Google bug: b/229087109

Change-Id: I1e7fd040742ef0c2dda48c9962f985ea4f517caa

2 years agoSeparate device feature tests
Jari Komppa [Fri, 25 Mar 2022 08:02:58 +0000 (10:02 +0200)]
Separate device feature tests

This change separates the physical device features tests from
one monolithic test into separate tests so they can be ignored
on case by case basis.

The change also changes the hierarchy of the properties2.* group, moving
the existing tests to a new .basic leaf node.

Affected:
dEQP-VK.api.info.get_physical_device_properties2.*

New tests:
dEQP-VK.api.info.get_physical_device_properties2.features.*

Components: Vulkan
VK-GL-CTS issue: 3576

Change-Id: I48b2997be2775249cf67fb6a5be73962f94edf13

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Fri, 13 May 2022 14:57:51 +0000 (14:57 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I8d971d37d58627b18a19dd52321908eb869af752

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Thu, 12 May 2022 22:25:18 +0000 (22:25 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: I662983106478f288aad30e3df36c7af8276e721f

2 years agoRemove invalid texture filtering test cases
Toni Merilehti [Tue, 26 Apr 2022 10:05:14 +0000 (13:05 +0300)]
Remove invalid texture filtering test cases

Remove the 3D texture filtering test cases that use YCbCr conversion
formats. Specification states that VK_IMAGE_TYPE_2D must be used
for formats that require a sampler YCbCr conversion.

Removed tests:
dEQP-VK.texture.filtering.3d.formats.r10x6g10x6b10x6a10x6_unorm.*

VK-GL-CTS Issue: 3646

Components: Vulkan

Change-Id: I31646db161da2f3d19d3f556b7bd39be6d261442

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Thu, 12 May 2022 21:57:41 +0000 (21:57 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I4b2a0404cbcf9d49920e96ffb41fdb6e558ff2a5

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 12 May 2022 21:30:04 +0000 (21:30 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Id5e0c94c1ad19064f9bcf354b07ecb9a34f9bbb7

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 12 May 2022 21:05:06 +0000 (21:05 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I85db18b290ab8790b6b6ddd9417ed43c65d8e33f

2 years agoFix second barrier access mask for transfers
Connor Abbott [Thu, 5 May 2022 16:58:03 +0000 (18:58 +0200)]
Fix second barrier access mask for transfers

This was TRANSFER_WRITE instead of TRANSFER_READ due to a typo.

Components: Vulkan

Affects:
dEQP-VK.synchronization2.none_stage.*

VK-GL-CTS Issue: 3672

Change-Id: Id62e91886bc6b2137a8f8a862185956a17fb3fab

2 years agoFixes sparse flags
Matthew Netsch [Wed, 11 May 2022 15:27:38 +0000 (08:27 -0700)]
Fixes sparse flags

Spec requires that VK_IMAGE_CREATE_SPARSE_BINDING_BIT
is set if residency or alias bits are set

Components: Vulkan
VK-GL-CTS Issue: 3678

Affects:
dEQP-VK.api.info.image_format_properties.*

Change-Id: Ie8788567ae5189e6303fb7d3eb7e64b1bdd9dbcf

2 years agoMerge vk-gl-cts/github-main into vk-gl-cts/main
Matthew Netsch [Fri, 6 May 2022 16:42:29 +0000 (16:42 +0000)]
Merge vk-gl-cts/github-main into vk-gl-cts/main

Change-Id: Ic670f6c41b7ebe08ac046562f099283d3e098c36

2 years agoVerify rectangular lines using the strict rule
Chia-I Wu [Thu, 17 Mar 2022 20:03:21 +0000 (13:03 -0700)]
Verify rectangular lines using the strict rule

Commit 7c89beb93 ("Add tests for non strict lines") accidentally changed
the verifcation of rectangluar lines to the non-strict rule.

Components: Vulkan
Affects: dEQP-VK.rasterization.primitives*.rectangular_line*

Change-Id: Iac3a50452af02bf6a807da1bcbf599f14732f505

2 years agoRemove unneeded commented block of code
Piotr Byszewski [Mon, 11 Apr 2022 14:52:45 +0000 (16:52 +0200)]
Remove unneeded commented block of code

While doing merge from main to dev/VK_KHR_graphics_pipeline_library
a block of code was used to figure out what changes should be applied
to GraphicsPipelineWrapper. After the merge was done part of this
code was left instead of being removed.

Components: Vulkan

VK-GL-CTS issue: 3310

Affects:
dEQP-VK.pipeline.*.depth.*

Change-Id: I8cf12b7646e2e32c3dfb675ee70b2fe751dce545

2 years agoFix some status code clarifications
Graeme Leese [Mon, 28 Mar 2022 18:00:14 +0000 (19:00 +0100)]
Fix some status code clarifications

Some of the clarifications include the status as well. That meant that
they were printed as "Fail (fail (results differ))". This change removes
the extra, unneeded part.

Components: OpenGL
Affects: KHR-GL*.blend_equation_advanced.*

Change-Id: Ieeda43bbfb8e8d04d3e4a3f486a3391e399feee7

2 years agoRun FSR tests with secondary command buffers
Piotr Byszewski [Mon, 21 Mar 2022 20:13:08 +0000 (21:13 +0100)]
Run FSR tests with secondary command buffers

Dynamic rendering tests in fragment_shading_rate group were replaced
with three sub groups: primary_cmd_buff, partial_secondary_cmd_buff
and complete_secondary_cmd_buff.
* primary_cmd_buff subgroup contains previously existing dynamic
rendering tests where drawing is done in primary command buffer.
* partial_secondary_cmd_buff contains tests where drawing commands
are recorded in secondary command buffer but begin/endRendering
are recorded to primary command buffer.
* complete_secondary_cmd_buff executes tests using secondaries that
completely contain the dynamic render pass.

Components: Vulkan

VK-GL-CTS issue: 3516

Affects:
dEQP-VK.fragment_shading_rate.*

Change-Id: I17f5f07c7cd1346d2a908ace5d62e5f970712ee8

2 years agoExpand the list of format for image store tests
Graeme Leese [Tue, 1 Feb 2022 16:11:35 +0000 (16:11 +0000)]
Expand the list of format for image store tests

None of these formats have a SPIR-V format qualifier, so they are only
supported in formatless tests, but feature_flags2 allows these formats
to be supported on some implementations.

The structure of the tests means that it's mostly the store tests that
are expanded -- most of the other types require format qualifiers for
most of the testing.

Components: Vulkan
Affects: dEQP-VK.image.store.without_format.*
         dEQP-VK.image.format_reinterpret.*

Change-Id: I4f2f728b730177d4aa4cda4cdca4feb0d5ee7ad7

2 years agoTest single-path switch statements
Toni Merilehti [Fri, 29 Apr 2022 07:18:42 +0000 (10:18 +0300)]
Test single-path switch statements

This CL tests switch statements that only have a default case and also
an empty case that falls through into a default case.

New tests:
dEQP-VK.glsl.switch.default_only*
dEQP-VK.glsl.switch.empty_case_default*

VK-GL-CTS Issue: 3660

Components: Vulkan

Change-Id: I69441956b7edc0d492bfbe47a288bcf1116e8d17

2 years agoAdd tests for VK_EXT_image_2d_view_of_3d
Ilkka Saarelainen [Fri, 18 Mar 2022 13:14:24 +0000 (15:14 +0200)]
Add tests for VK_EXT_image_2d_view_of_3d

This CL adds new tests for extension VK_EXT_image_2d_view_of_3d.

VK-GL-CTS Issue: 3113

New tests:

dEQP-VK.pipeline.*.image_2d_view_3d_image.*

Components: Vulkan, Framework

Change-Id: I8f2852e45980950949cc51478040f8df8043554e

2 years agoAdd coverage for MSAA copies with BindImageMemory(offset != 0)
Antto Mäkinen [Thu, 14 Apr 2022 12:21:45 +0000 (15:21 +0300)]
Add coverage for MSAA copies with BindImageMemory(offset != 0)

VK-GL-CTS Issue: 3474

New tests:
dEQP-VK.api.copy_and_blit.*.*_bind_offset

Components: Vulkan
Change-Id: Iedb6a4d83fe7a9962afb3724b1c73766a8cda1aa

2 years agoAdd test for depth comparison with texel replacement
Ari Suonpaa [Thu, 21 Apr 2022 10:52:25 +0000 (13:52 +0300)]
Add test for depth comparison with texel replacement

Amber version is also updated to get support for comparison
settings in a sampler object.

VK-GL-CTS Issue: 3604

New tests:

dEQP-VK.texture.shadow.texel_replacement.d32_sfloat

Components: Vulkan
Change-Id: I09d0b6af85195377e1b0903c3a8538f62034c1a1

2 years agoSupport VK_KHR_portability_enumeration
Charles Giessen [Wed, 30 Mar 2022 22:41:48 +0000 (16:41 -0600)]
Support VK_KHR_portability_enumeration

Fixes #3644 by adding VK_KHR_portability_enumeration to the list
of known extensions with the addition of a corresponding json file.

Components: Vulkan

Affected Tests:
All vulkan tests

Change-Id: I80bf42509ea01712e6a6e5123a6e097fce00aacc

2 years agoSupport VK_KHR_portability_enumeration
Charles Giessen [Wed, 30 Mar 2022 22:41:48 +0000 (16:41 -0600)]
Support VK_KHR_portability_enumeration

The portability enumeration extension needs to be enabled if it is
present to allow for CTS to enumerate portability devices.

This commit refactors createDefaultInstance so that it only enumerates
the available instance extensions once instead of twice.

It fixees #3644 by adding VK_KHR_portability_enumeration to the list
of known extensions with the addition of a corresponding json file.

Components: Vulkan

Affected Tests:
All vulkan tests

Change-Id: Ib828ee9f385f2eb2e68e03a6b3b3632443da10df

2 years agoModify pipeline library tests to always specify the layout
Piers Daniell [Wed, 27 Apr 2022 19:35:06 +0000 (13:35 -0600)]
Modify pipeline library tests to always specify the layout

A recent Vulkan spec change for the VK_KHT_graphics_pipeline_library
extension now requires the VkGraphicsPipelineCreateInfo.layout
field to always be valid for final-link pipelines and never NULL.

Several tests were still using a NULL layout for either the fast
link or optimized link.

This CL updates all tests to now specify a valid layout and
also removes a test variant that explicitly tested the NULL case.

Affects:

dEQP-VK.pipeline.*

Components: Vulkan

VK-GL-CTS Issue: 3661

Change-Id: I5471a9381c3be6e110106004bc3a22110b144864

2 years agoDo not query unsupported structures
Jari Komppa [Wed, 20 Apr 2022 11:50:15 +0000 (14:50 +0300)]
Do not query unsupported structures

Changes the behavior of the get_physical_device_properties2.properties
test to not include structures in the query chain for which support is
not reported. The test can now also return not supported result in case
none of the structures is supported (a pure Vulkan 1.0
implementation).

Affected:
dEQP-VK.api.info.get_physical_device_properties2.properties

Components: Vulkan
VK-GL-CTS issue: 3610

Change-Id: I81a3f50743e720b9c7094927a17fae9fa72d7d40

2 years agoFix acceleration structure vertex and index flushes
Ricardo Garcia [Tue, 26 Apr 2022 09:48:41 +0000 (11:48 +0200)]
Fix acceleration structure vertex and index flushes

Flush the whole allocation when updating vertex and index buffers during
ray tracing acceleration structure builds. The code currently does not
track both the offset and size align to nonCoherentAtomSize, and most
vertex and index buffer allocations are actually on coherent memory.
Flushing the whole allocation allows us to avoid several validation
errors like VUID-VkMappedMemoryRange-size-01390.

Affected tests:
dEQP-VK.ray_tracing*
dEQP-VK.ray_query*

Components: Vulkan
VK-GL-CTS issue: 3656

Change-Id: I5edbbc3b67ab46eaea568842f06dc53664e78e42

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/main
Matthew Netsch [Fri, 6 May 2022 15:42:40 +0000 (15:42 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/main

Change-Id: Iaec16bec07e014cdcb25f22e8fadd26777fefb03

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Matthew Netsch [Fri, 6 May 2022 15:04:01 +0000 (15:04 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: Iab357d9f9a46d2bbe710bd116003c8da423c9709

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Thu, 5 May 2022 20:38:52 +0000 (13:38 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I4378bcd20e3ec3e88838dbf9a2f6d6372ba463b6

2 years agoIncrease tolerance in fp64 mat3determinant compute
zhangkai [Thu, 14 Apr 2022 02:13:08 +0000 (19:13 -0700)]
Increase tolerance in fp64 mat3determinant compute

On QNX, the library function `strtod` has different behavior
from other platforms. It would convert string to a double value
slightly different. So increasing the tolerance slightly would
solve the problem.

Affected tests:
    dEQP-VK.glsl.builtin.precision_double.determinant.compute.mat3

VK-GL-CTS issue: 3642
Components: Vulkan

Change-Id: I2c30029d0d6297b660e2900217d6aeb5d3bf3186

2 years agoFix extension data for EXT_texel_buffer_alignment
Piotr Byszewski [Mon, 25 Apr 2022 12:14:16 +0000 (14:14 +0200)]
Fix extension data for EXT_texel_buffer_alignment

Only the properties structure was promoted for
VK_EXT_texel_buffer_alignment, the feature structure was not
promoted. This change removes specification of "core" attribute
from "register_extension" tag for this extension as only fully
promoted extensions can have it defined.

VK-GL-CTS issue: 3564

Components: Framework, Vulkan

Affects:
dEQP-VK.*

Change-Id: If1873b8292f1e79ef557876ebb7d8d9cf9d7de83

2 years agoSupport VK_KHR_portability_enumeration
Charles Giessen [Wed, 30 Mar 2022 22:41:48 +0000 (16:41 -0600)]
Support VK_KHR_portability_enumeration

The portability enumeration extension needs to be enabled if it is
present to allow for CTS to enumerate portability devices.

This commit refactors createDefaultInstance so that it only enumerates
the available instance extensions once instead of twice.

It fixees #3644 by adding VK_KHR_portability_enumeration to the list
of known extensions with the addition of a corresponding json file.

Components: Vulkan

Affected Tests:
All vulkan tests

Change-Id: Ib828ee9f385f2eb2e68e03a6b3b3632443da10df

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Thu, 5 May 2022 18:41:19 +0000 (18:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: Ia788a27e2bb8cf6ca92e09e378af26db6f50f68f

2 years agoReduce advertised sys mem on 32 bit Android
Ilkka Saarelainen [Tue, 29 Mar 2022 10:30:06 +0000 (13:30 +0300)]
Reduce advertised sys mem on 32 bit Android

This CL reduces the advertised system memory amount in 32 bit Android
builds to address some memory fragmentation issues in certain tests
that rely on the advertised memory amount.

Affects:

dEQP-VK.api.buffer.suballocation.*
dEQP-VK.api.buffer.dedicated_alloc.*
dEQP-VK.api.object_management.*
dEQP-VK.memory.allocation.*
dEQP-VK.memory.device_group_allocation.*
dEQP-VK.pipeline.render_to_image.*.small.*
dEQP-VK.pipeline.render_to_image.*.huge.*

Components: Framework, Vulkan

VK-GL-CTS issue: 3586

Change-Id: I15ef027e3f69ddbb87e8704d0cff479782b6bda6

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Thu, 5 May 2022 18:13:29 +0000 (18:13 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Iba260ee0d9195e18e2e41ee3ec525cf5e66faa0d

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 5 May 2022 16:48:43 +0000 (09:48 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Iaeb3f5ee3ef401ef4c0d4d7db27703e8f5b6012d

2 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
(cherry picked from commit a3e659e828a535582207149cf58a8580d45a0342)

2 years agoFix DeqpTestRunnerTest
Paul Thomson [Wed, 13 Apr 2022 18:38:46 +0000 (19:38 +0100)]
Fix DeqpTestRunnerTest

Component: Android

Google bug: b/206657494
Google bug: b/201652781

Change-Id: I3438b200105bc04ee63b0454a7ce32e4acd4de4b

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 5 May 2022 15:50:24 +0000 (15:50 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I4dbdafea321464fe25499e0a7d415488729d77ce

2 years agoSynchronize input attachment reads in IO chains
Ricardo Garcia [Tue, 19 Apr 2022 09:26:29 +0000 (11:26 +0200)]
Synchronize input attachment reads in IO chains

Each subpass in the render pass IO chain tests attempts to read the
output of the previous subpass as an input attachment, but the subpass
dependencies are missing VK_ACCESS_INPUT_ATTACHMENT_READ_BIT from the
flags in dstAccessMask.

Affected tests:
dEQP-VK.renderpass*.attachment_allocation.*

Components: Vulkan
VK-GL-CTS issue: 3643

Change-Id: I63b49709ee8cb03e364050253dc2a8a48c5b58cd

2 years agoWait for idle queue after submitting an empty job
Ricardo Garcia [Tue, 19 Apr 2022 09:53:54 +0000 (11:53 +0200)]
Wait for idle queue after submitting an empty job

The test below imports an external signaled semaphore and submits to the
queue an empty job that waits on that signaled sempahore, but the test
returns without any further wait, which means the external sempahore may
be destroyed before the driver has had a chance to use it.

Affected tests:
dEQP-VK.api.external.semaphore.sync_fd.import_signaled_temporary

Components: Vulkan
VK-GL-CTS issue: 3636

Change-Id: I3e8daa9146f6fd542ad20539a7e9b6c9f0242978

2 years agoLimit dimensionality of arrays-of-arrays in random SSBO tests
Boris Zanin [Wed, 13 Apr 2022 11:57:22 +0000 (13:57 +0200)]
Limit dimensionality of arrays-of-arrays in random SSBO tests

One of these tests used a 5 dimensional array-of-arrays, resulting
in thousands of instructions that caused issues on devices with low
ram. This change limits the total dimensionality to prevent this.

Components: Vulkan

VK-GL-CTS issue: 1829

Solves:
dEQP-VK.ssbo.layout.random.scalar.75

Affects:
dEQP-VK.ssbo.*.random.*

Change-Id: Ibee39ccb0bd1543dafce7c498f56def1e05b4815

2 years agoMerge pull request #314 from etra0/patch-1
Matthew Netsch [Fri, 29 Apr 2022 18:11:54 +0000 (14:11 -0400)]
Merge pull request #314 from etra0/patch-1

vulkancts: update mustpass path in README.

2 years agoFix 32-bit compilation warning
Piers Daniell [Wed, 20 Apr 2022 23:10:12 +0000 (17:10 -0600)]
Fix 32-bit compilation warning

There was a call to new[] in vktSpvAsmTrinaryMinMaxTests.cpp that used
a 64-bit values as an allocation size, which is not the type the
new operator expects when compiling for a 32-bit target.

Add a cast to fix the warning.

Affects:

dEQP-VK.spirv_assembly.instruction.amd_trinary_minmax.*

Components: Vulkan
Change-Id: I0941033614d67530f6cc157b5923e47bdca5c5a9

2 years agovulkancts: update mustpass path.
Sebastián Aedo [Tue, 19 Apr 2022 16:57:25 +0000 (12:57 -0400)]
vulkancts: update mustpass path.

Since the branch was renamed, the mustpass path was changed too.

Signed-off-by: Sebastián Aedo <saedo@codeweavers.com>
2 years agoMerge vk-gl-cts/github-main into vk-gl-cts/main
Matthew Netsch [Thu, 14 Apr 2022 21:03:31 +0000 (21:03 +0000)]
Merge vk-gl-cts/github-main into vk-gl-cts/main

Change-Id: If663da5dc063fd97bed82597175d269a29816912

2 years agoUpdate known conformance version for 1.3.2.0
Matthew Netsch [Mon, 11 Apr 2022 15:15:41 +0000 (08:15 -0700)]
Update known conformance version for 1.3.2.0

Components: Framework, Vulkan
VK-GL-CTS Issue: 3628

Affects:
dEQP-VK.api.driver_properties.conformance_version

Change-Id: I5d099f42fd1cc68f8a667ec368fc635ab41f8906

2 years agoUse getDevice() instead of m_logicalDevice.get() so it works in both paths
Piers Daniell [Fri, 8 Apr 2022 22:05:43 +0000 (16:05 -0600)]
Use getDevice() instead of m_logicalDevice.get() so it works in both paths

This CL fixes a regression introduced with CL9062. For the non-dynamic
paths of the test the m_logicalDevice does not contain a valid
device handle. The newly added getDevice() already handles both
the dynamic and non-dynamic paths, so use that instead of
m_logicalDevice.get().

Affects:

dEQP-VK.memory.binding.*

Components: Vulkan

VK-GL-CTS Issue: 3627

Change-Id: I4ebf74a000553d70db86035ac50b2d4f3257d6ac

2 years agoFix GLES CTS mustpass files moved after GPL merge
Piotr Byszewski [Tue, 12 Apr 2022 12:46:11 +0000 (14:46 +0200)]
Fix GLES CTS mustpass files moved after GPL merge

While performing merge from master to graphics_pipeline_library
dev branch two mustpass files were merged incorrectly. They
were somehow moved and this change restores those files.

Components: AOSP, OpenGL

VK-GL-CTS issue: 3633

Affects:
dEQP-GL*

Change-Id: I488e9f98decc434928dd64156ef4d81904b397e5

2 years agoAvoid using unsupported rasterization order feature struct
Ricardo Garcia [Thu, 7 Apr 2022 09:43:33 +0000 (11:43 +0200)]
Avoid using unsupported rasterization order feature struct

Rasterization order attachment tests with explicit synchronization
mechanisms were chaining the features structure, but these tests are run
on implementations not supporting the extension.

Affected tests:
dEQP-VK.rasterization.rasterization_order_attachment_access.*

Components: Vulkan
VK-GL-CTS issue: 3617

Change-Id: Ia3d3fac2960d1588007c320ed1b92bb6160527fb

2 years agoFixed non zero mip compressed texture tests failure
Tomasz Owczarek [Tue, 5 Apr 2022 13:13:31 +0000 (14:13 +0100)]
Fixed non zero mip compressed texture tests failure

Fixed non zero mip compressed texture tests failure
when sampling coordinates at the edge of pixels.

Components: Vulkan

VK-GL-CTS Issue: 3619

Affects:
dEQP-VK.texture.compressed*_npot_mip1

Change-Id: I4bbc80831233ebcecc34612b7fa488e94dde630a

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/main
Matthew Netsch [Thu, 14 Apr 2022 20:00:03 +0000 (20:00 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/main

Change-Id: I877de4d3a18e22d812b8016f2cdaf9e2894f337d

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Matthew Netsch [Thu, 14 Apr 2022 19:32:34 +0000 (19:32 +0000)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: Ieaa4503461360290f485df78a83ba2422a6b0dfa

2 years agoFix accidentally removed extension
James Fitzpatrick [Thu, 14 Apr 2022 09:46:59 +0000 (10:46 +0100)]
Fix accidentally removed extension

VK_KHR_global_priority was accidentally removed from the list of allowed
extensions.

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

Components: vulkan

VK-GL-CTS issue: 3639

Change-Id: I3173fa11c27358ad04fb970518b53ecf0e917865

2 years agoUpdate known conformance version for 1.3.1.1
Piers Daniell [Wed, 13 Apr 2022 15:23:40 +0000 (09:23 -0600)]
Update known conformance version for 1.3.1.1

Components: Framework, Vulkan
VK-GL-CTS Issue: 3628

Affects:
dEQP-VK.api.driver_properties.conformance_version

Change-Id: I3aa80d23caf74db9a5b00be19f3e80013c6d5a5a

2 years agoexplicitly provides ssh urls to GitRepo declarations
Luc Ma [Thu, 14 Oct 2021 12:50:44 +0000 (20:50 +0800)]
explicitly provides ssh urls to GitRepo declarations

In case of poor cyber condition, git fetches based on ssh protocol
instead of https may be a better choice. The only thing that needs
is an appropriate url.

Also fixes issue 289

Signed-off-by: Luc Ma <onion0709@gmail.com>
Components: Framework
VK-GL-CTS public issue: 289

Change-Id: I6e121a50cfe3f0361defd34a8b961777e9f5751e

2 years agoFix support check in transform feedback tests
Toni Merilehti [Wed, 6 Apr 2022 12:42:13 +0000 (15:42 +0300)]
Fix support check in transform feedback tests

Vulkan transform feedback simple tests currently require
transformFeedbackRasterizationStreamSelect property for all test cases
using vertex streams other than zero. This CL changes the support check
to require the property only for test cases that rasterize vertex
streams other than zero. This CL also moves the support check to
checkSupport function which is called before initPrograms.

Affects:
dEQP-VK.transform_feedback.simple.*

Components: Vulkan

VK-GL-CTS issue: 3597

Change-Id: I09db67690aca607d5a9664b4967d65a8b07fb4a7

2 years agoFix framebuffer size for some GraphicsFuzz tests
Ari Suonpaa [Mon, 4 Apr 2022 05:20:52 +0000 (08:20 +0300)]
Fix framebuffer size for some GraphicsFuzz tests

A recent commit changed the draw size of some of the GraphicsFuzz
tests, but the frame buffer size was left untouched. This commit
fixes the frame buffer sizes.

Affects:

dEQP-VK.graphicsfuzz.cov-dfdx-dfdy-after-nested-loops
dEQP-VK.graphicsfuzz.cov-nested-loops-different-iteration-rates-function-copy-array-elements
dEQP-VK.graphicsfuzz.cov-nested-loops-set-struct-data-verify-in-function

Components: Vulkan
Change-Id: Ib3c42a03041ea66830692ab23468c2d7752a03b3

2 years agoRay query helper invocations
michal_jakubek [Wed, 9 Feb 2022 00:01:03 +0000 (01:01 +0100)]
Ray query helper invocations

New tests:
dEQP-VK.ray_query.helper_invocations.*

Components: Vulkan

VK-GL-CTS issue: 3254

Change-Id: I2f62c4eb2dea21184587c086768297322a3f45d8

2 years agoModified ray tracing inactive triangle definition
Marcin Zając [Fri, 18 Mar 2022 13:25:27 +0000 (14:25 +0100)]
Modified ray tracing inactive triangle definition

New definition of inactive triangle has been established
so that any vertex of the triangle can now set it's
x component to NaN making it inactive.
Because of that test is now covering all possible
configuration of vertices that can trigger this.

Components: Vulkan

VK-GL-CTS issue: 3568

Affects:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.empty*
dEQP-VK.ray_query.acceleration_structures.empty*

Change-Id: Ibbc4036d134b3b31590b6d2bd9d29896783aec6d

2 years agoAdd robustness2 limits validation test
Boris Zanin [Wed, 6 Apr 2022 08:56:47 +0000 (10:56 +0200)]
Add robustness2 limits validation test

Implements VK_EXT_robustness2 properties and features
validation test.

Add:
dEQP-VK.api.info.vulkan1p2_limits_validation.robustness2

Components: Vulkan
VK-GL-CTS issue: 3388

Change-Id: I2e14f062ad2b6826751d223d88db45ce855d0c74

2 years agoAdd a batch of GraphicsFuzz coverage tests
Ari Suonpaa [Wed, 13 Apr 2022 08:10:43 +0000 (11:10 +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-function-global-loop-counter-sample-texture
dEQP-VK.graphicsfuzz.cov-function-index-array-redundant-clamps
dEQP-VK.graphicsfuzz.cov-function-loop-condition-constant-array-always-false
dEQP-VK.graphicsfuzz.cov-function-max-all-ones-select-always-true
dEQP-VK.graphicsfuzz.cov-function-struct-int-array-loop-check-element
dEQP-VK.graphicsfuzz.cov-loop-break-fragcoord-x-empty-loop
dEQP-VK.graphicsfuzz.cov-loop-condition-constant-struct-field-data
dEQP-VK.graphicsfuzz.cov-loop-global-counter-increment-iterator-select-uniform
dEQP-VK.graphicsfuzz.cov-loop-never-iterated-constant-vector-condition
dEQP-VK.graphicsfuzz.cov-loop-start-fragcoord-while-iterates-once
dEQP-VK.graphicsfuzz.cov-multiple-functions-global-never-change
dEQP-VK.graphicsfuzz.cov-nested-functions-vec4-array-element-argument
dEQP-VK.graphicsfuzz.cov-nested-loops-global-loop-counter-reached-second-iteration
dEQP-VK.graphicsfuzz.cov-two-loops-global-loop-counter-clamp-ivec-elements-index-array
dEQP-VK.graphicsfuzz.cov-two-loops-never-iterated

Change-Id: Ia12ea0e32ab889c203e3f3ef12459807252f30b5

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main
Matthew Netsch [Thu, 14 Apr 2022 18:31:24 +0000 (18:31 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main

Change-Id: Ib38e0f175e993fd68742f3b009ee85788f8409b1

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Thu, 14 Apr 2022 17:53:50 +0000 (10:53 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: I3e2c87a50425072269106efb75c250d0cc0be061

2 years agoFix dEQP-VK.image.sample_texture.* tests write out-of-bounds bug
Juha Heiskanen [Tue, 29 Mar 2022 09:02:53 +0000 (12:02 +0300)]
Fix dEQP-VK.image.sample_texture.* tests write out-of-bounds bug

Compute shader writing to the view is now made by using block size
instead of pixel count.

Components: Vulkan

VK-GL-CTS Issue: 3442

Affects: dEQP-VK.image.sample_texture.*
Change-Id: Ie351fb1d2730c5377c8110453bc34629c20b5d82

2 years agoFix one more missed extension promotion
Graeme Leese [Tue, 12 Apr 2022 16:04:36 +0000 (17:04 +0100)]
Fix one more missed extension promotion

VK_EXT_extended_dynamic_state2 was not marked as having been promoted,
which meant that the CTS code which uses the core function names
exclusively doesn't work on versions that support 1.2 + the extension.

Components: Vulkan
VK-GL-CTS issue: 3631
Affects: dEQP-VK.*

Change-Id: Ia942b96f778d57337fa087042f176086d5bde608

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Thu, 14 Apr 2022 17:16:14 +0000 (17:16 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: I786f14d2785e81098664f94cac78ac635da571fd

2 years agoFix dEQP-VK.image.sample_texture.* tests write out-of-bounds bug
Juha Heiskanen [Wed, 30 Mar 2022 12:38:24 +0000 (15:38 +0300)]
Fix dEQP-VK.image.sample_texture.* tests write out-of-bounds bug

Compute shader writing to the view is now made by using block size
instead of pixel count.

Components: Vulkan

VK-GL-CTS Issue: 3595

Affects: dEQP-VK.image.sample_texture.*

Change-Id: I50879fd7bb48f623e565c8972e7a517fb26f0ed0

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Thu, 14 Apr 2022 16:49:27 +0000 (16:49 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Id90879713fa5388ab2a4ebdd6811b454b0675763

2 years agoFix extension promotions
Iván Briano [Mon, 11 Apr 2022 20:26:06 +0000 (13:26 -0700)]
Fix extension promotions

VK_EXT_shader_image_atomic_int64 was promoted instead of
VK_KHR_shader_atomic_int64.
VK_KHR_external_semaphore lost its promotion.
VK_KHR_vulkan_memory_model was promoted to the wrong core version.

VK-GL-CTS issue: 3631

Affects:
dEQP-VK.*

Change-Id: I78712093945796adf4076e75f6f3e5c07a4ec832

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 14 Apr 2022 16:23:18 +0000 (16:23 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Ie2a23e7c3811d6cebc0b7ace2351d5a4779bd7d0

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 14 Apr 2022 15:58:41 +0000 (15:58 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I6ab43b2abea09721ad28bdba33565c7c0f0be5fd

2 years agoFix warnings with clang and GCC
Ricardo Garcia [Mon, 4 Apr 2022 08:14:57 +0000 (10:14 +0200)]
Fix warnings with clang and GCC

Affected tests:
No test result should be affected by these changes.

Components: OpenGL, Vulkan
VK-GL-CTS issue: 3602

Change-Id: If2eb0736d296add732aaff53c80a705cc306d7a3

2 years agoMerge pull request #312 from lfrb/windows-flush
Matthew Netsch [Thu, 14 Apr 2022 15:32:14 +0000 (11:32 -0400)]
Merge pull request #312 from lfrb/windows-flush

Flush stdout after printing test name and result on Windows

2 years agoAdd a batch of GraphicsFuzz coverage tests
Ari Suonpaa [Mon, 4 Apr 2022 11:03:37 +0000 (14:03 +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-double-negation-fragcoord-cast-ivec2-bitwise-and
dEQP-VK.graphicsfuzz.cov-function-always-return-negative-bitfield-extract
dEQP-VK.graphicsfuzz.cov-function-loop-clamp-no-effect
dEQP-VK.graphicsfuzz.cov-function-loops-vector-mul-matrix-never-executed
dEQP-VK.graphicsfuzz.cov-function-multiple-loops-compare-integer-return
dEQP-VK.graphicsfuzz.cov-global-loop-counter-findlsb-zero
dEQP-VK.graphicsfuzz.cov-loop-decrease-vector-component-only-first-iteration
dEQP-VK.graphicsfuzz.cov-loop-function-call-negative-argument
dEQP-VK.graphicsfuzz.cov-loop-iterator-start-shift-left-right
dEQP-VK.graphicsfuzz.cov-loop-min-max-clamp-increment-only-first-iteration
dEQP-VK.graphicsfuzz.cov-loops-and-conditions-fragcoord-always-false-floats-one
dEQP-VK.graphicsfuzz.cov-loops-same-code-outside-loop
dEQP-VK.graphicsfuzz.cov-nested-loops-array-choose-red-last-iteration
dEQP-VK.graphicsfuzz.cov-nested-loops-global-loop-counter-index-array-vec2
dEQP-VK.graphicsfuzz.cov-struct-array-ivec-negative-modulus-empty-function

Change-Id: I8d5bd2e526450b87f17fd1e1acc12641b634d380

2 years agoAdd a batch of GraphicsFuzz coverage tests
Ari Suonpaa [Tue, 22 Mar 2022 13:02:37 +0000 (15:02 +0200)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-function-divide-argument-until-lt-one
dEQP-VK.graphicsfuzz.cov-function-loop-check-determinant-zero-return-vector
dEQP-VK.graphicsfuzz.cov-function-parameter-zero-divided-by-uniform
dEQP-VK.graphicsfuzz.cov-function-round-unpack-half-2x16
dEQP-VK.graphicsfuzz.cov-function-switch-case-constant-clamp-transpose-identity-matrices
dEQP-VK.graphicsfuzz.cov-increment-array-element-usub-borrow
dEQP-VK.graphicsfuzz.cov-large-number-of-false-conditions-return-discard-continue
dEQP-VK.graphicsfuzz.cov-loop-iterator-bitwise-negate
dEQP-VK.graphicsfuzz.cov-loop-overwrite-sample-texture-as-color-output
dEQP-VK.graphicsfuzz.cov-min-vec2-transpose-mat2-identity
dEQP-VK.graphicsfuzz.cov-nested-loops-assign-vector-elements-from-matrix-no-negative-indexing
dEQP-VK.graphicsfuzz.cov-nested-loops-fragcoord-conditions-empty-blocks
dEQP-VK.graphicsfuzz.cov-one-bitwise-and-bitwise-or-full-bits
dEQP-VK.graphicsfuzz.cov-set-array-elements-to-uniform-check-value-break
dEQP-VK.graphicsfuzz.cov-small-array-overwrite-most-uniform-value-check-data-break

Change-Id: I20d10f67d1e5ab4510c673cfc3a90446221700b7

2 years agoAdd a batch of GraphicsFuzz coverage tests
Ari Suonpaa [Tue, 22 Mar 2022 13:23:08 +0000 (15:23 +0200)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-enable-bits-pixel-location-negate-not-equal-one
dEQP-VK.graphicsfuzz.cov-fragcoord-and-one-or-same-value
dEQP-VK.graphicsfuzz.cov-fragcoord-loop-limit-negative-decrease-sum-first-iteration
dEQP-VK.graphicsfuzz.cov-function-call-twice-clamp-global-variable
dEQP-VK.graphicsfuzz.cov-function-loop-variable-multiplied-unused
dEQP-VK.graphicsfuzz.cov-loop-array-element-bitfield-insert-undefined-never-read
dEQP-VK.graphicsfuzz.cov-loop-find-lsb-eight-fragcoord-never-discard
dEQP-VK.graphicsfuzz.cov-loop-index-array-max-negative-zero
dEQP-VK.graphicsfuzz.cov-loop-max-divide-integer-by-ten
dEQP-VK.graphicsfuzz.cov-loop-sampled-texel-integer-counter
dEQP-VK.graphicsfuzz.cov-loop-variable-less-than-itself
dEQP-VK.graphicsfuzz.cov-mix-uninitialized-float-never-selected
dEQP-VK.graphicsfuzz.cov-nested-loop-decrease-vector-components
dEQP-VK.graphicsfuzz.cov-nested-loops-while-condition-integer-range-increment-variable
dEQP-VK.graphicsfuzz.cov-uadd-carry-bit-count-index-array

Change-Id: I4160d3418b1a8fa3a29695f939af6aa79ded319d

2 years agoAdd a batch of GraphicsFuzz coverage tests
Ari Suonpaa [Wed, 23 Mar 2022 06:42:08 +0000 (08:42 +0200)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-bitwise-or-uniform-zero-tenth-bit-loop-limit-find-lsb
dEQP-VK.graphicsfuzz.cov-copy-array-elements-except-first-nested-loop-replace-identical-values
dEQP-VK.graphicsfuzz.cov-decrement-vector-elements-clamp-index
dEQP-VK.graphicsfuzz.cov-function-large-loop-break-argument-lte-global-loop-bound
dEQP-VK.graphicsfuzz.cov-function-set-struct-field-zero-loop-reset-first-element
dEQP-VK.graphicsfuzz.cov-global-loop-count-array-struct-field-set-int-array-element
dEQP-VK.graphicsfuzz.cov-increment-one-array-element-check-index-from-fragcoord
dEQP-VK.graphicsfuzz.cov-loop-array-struct-field-index-array-with-uniforms
dEQP-VK.graphicsfuzz.cov-loop-construct-vec4-from-vec4-clamp-same-min-max
dEQP-VK.graphicsfuzz.cov-loop-copy-previous-array-element-first-undefined
dEQP-VK.graphicsfuzz.cov-loop-decrease-vector-components-assign-multiple-times
dEQP-VK.graphicsfuzz.cov-loop-increment-array-index-array-usuborrow-feedback
dEQP-VK.graphicsfuzz.cov-loop-large-array-index-clamp-negative-value
dEQP-VK.graphicsfuzz.cov-nested-loops-never-change-array-element-one
dEQP-VK.graphicsfuzz.cov-nested-loops-switch-add-zero-matrix-elements

Change-Id: Icbab932af39ff6070b622e5d71c360a890382e89

2 years agoAdd a batch of GraphicsFuzz coverage tests
Ari Suonpaa [Wed, 23 Mar 2022 07:02:46 +0000 (09:02 +0200)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-fragcoord-integer-loop-reduce-to-range
dEQP-VK.graphicsfuzz.cov-function-infinite-loop-return-identical-condition
dEQP-VK.graphicsfuzz.cov-function-loop-modify-ivec-components-infinite-loop-never-executed
dEQP-VK.graphicsfuzz.cov-function-unused-argument-single-loop-iteration-icrement-global-counter
dEQP-VK.graphicsfuzz.cov-large-loop-break-early-condition-iterator-divided
dEQP-VK.graphicsfuzz.cov-large-loop-multiply-integer-by-uniform-one
dEQP-VK.graphicsfuzz.cov-loop-condition-increment-integer-fallback-global-counter
dEQP-VK.graphicsfuzz.cov-loop-multiple-iterator-variables-copy-array-elements
dEQP-VK.graphicsfuzz.cov-loop-read-array-index-from-array-data
dEQP-VK.graphicsfuzz.cov-nested-loops-decrease-ivec-component
dEQP-VK.graphicsfuzz.cov-nested-loops-identical-iterators-compare-same-array-elements
dEQP-VK.graphicsfuzz.cov-nested-loops-temporary-copy-output-color-index-matrix
dEQP-VK.graphicsfuzz.cov-nested-loops-while-min-iterator-condition-always-false
dEQP-VK.graphicsfuzz.cov-struct-int-array-select-uniform-ivec
dEQP-VK.graphicsfuzz.cov-two-functions-loops-copy-elements-infinite-loops-never-executed

Change-Id: Ia735b9f7c54ef62316dde087460df0bd7d2684f9

2 years agoAdd vkGetDeviceQueue2 tests for Protected memory feature
Ralph Potter [Wed, 2 Mar 2022 15:17:46 +0000 (16:17 +0100)]
Add vkGetDeviceQueue2 tests for Protected memory feature

The existing tests did not cover a wide range of vkGetDeviceQueue2 calls.
Added new tests that includes accessing Queues with different
VkDeviceQueueCreateFlags and Queue Family indices.

In addition the existing device_init.create_device_queue2_unmatched_flags
test is removed as it tries to perform a test case which is not allowed
by valid usage descriptions.

These changes are due to an update in Vulkan specification.
Additional details on the specification change:

https://gitlab.khronos.org/vulkan/vulkan/-/issues/2978
https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/5056

New Tests:

dEQP-VK.api.device_init.create_device_queue2_two_queues
dEQP-VK.api.device_init.create_device_queue2_all_protected
dEQP-VK.api.device_init.create_device_queue2_all_unprotected
dEQP-VK.api.device_init.create_device_queue2_split
dEQP-VK.api.device_init.create_device_queue2_all_families
dEQP-VK.api.device_init.create_device_queue2_all_families_protected
dEQP-VK.api.device_init.create_device_queue2_all_combinations

Affects:

dEQP-VK.api.device_init.create_device_queue2_unmatched_flags

Components: Vulkan

Vulkan issue: 5056

Change-Id: I53abb2818480305aaef5c236489c05fbf6b0f5ce

2 years agoCheck conditional rendering with non-zero memory offset
Ricardo Garcia [Wed, 6 Apr 2022 08:43:27 +0000 (10:43 +0200)]
Check conditional rendering with non-zero memory offset

This commit adds a new set of tests that check the conditional rendering
buffer works properly when the allocation is bound with a non-zero
offset to the buffer.

New tests:
dEQP-VK.conditional_rendering.dispatch.alloc_offset.*

Affected tests:
dEQP-VK.conditional_rendering.*

VK-GL-CTS issue: 3591
Components: Vulkan

Change-Id: I6485e6dc96f625d17b96c4771121ea540cab8d6a

2 years agoAdd coverage for IsHelperInvocationEXT
Juha Heiskanen [Thu, 24 Mar 2022 05:55:11 +0000 (07:55 +0200)]
Add coverage for IsHelperInvocationEXT

This test verifies helper invocations remain active in subgroup quad
operations after being demoted.

Components: Vulkan

VK-GL-CTS Issue: 3377

New tests: dEQP-VK.draw.renderpass.shader_invocation.helper_invocation

Change-Id: Ibcb31e19f7f5465358750c4b59dcd805a14621a1

2 years agoAdd notice of withdrawal for 1.2.6.x
Matthew Netsch [Thu, 7 Apr 2022 17:18:27 +0000 (10:18 -0700)]
Add notice of withdrawal for 1.2.6.x

Components: Framework
Change-Id: Ib81e63bd69e6a28c00655b1790e8c6bdf59cf6e7

2 years agoInterpolateAt{Offset, Sample} with linear interpolation tests
Juha Heiskanen [Thu, 17 Feb 2022 06:11:22 +0000 (08:11 +0200)]
InterpolateAt{Offset, Sample} with linear interpolation tests

This CL adds interpolateAtOffset and interpolateAtSample with linear
interpolation tests for Vulkan. These new tests can also be run by
using dynamic rendering.

Components: Vulkan

VK-GL-CTS Issue: 3191

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

Change-Id: I9a5d39d1c7cf2d1101dd380e481b155265793c25

2 years agoImage extended usage should include VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT
Martin Freebody [Mon, 14 Mar 2022 15:47:17 +0000 (15:47 +0000)]
Image extended usage should include VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT

In the vkGetPhysicalDeviceImageFormatProperties, VkImageCreateFlags
requires VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT as well as
VK_IMAGE_CREATE_EXTENDED_USAGE_BIT to allow compatibility with
all view formats.

Components: Vulkan

VK-GL-CTS issue: 3574

Affects: dEQP-VK.image.extended_usage_bit_compatibility.*

Change-Id: Ie05db422d5a511245ef7a5e8cbff3f0fb93e2f82

2 years agoAdd a batch of GraphicsFuzz coverage tests
Ari Suonpaa [Wed, 23 Mar 2022 07:34:40 +0000 (09:34 +0200)]
Add a batch of GraphicsFuzz coverage tests

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

dEQP-VK.graphicsfuzz.cov-array-cast-bool-float-div-by-zero-no-effect
dEQP-VK.graphicsfuzz.cov-array-set-element-condition-negative-modulus
dEQP-VK.graphicsfuzz.cov-clamp-min-bitcount-uniform
dEQP-VK.graphicsfuzz.cov-condition-clamp-min-from-uniform-never-larger
dEQP-VK.graphicsfuzz.cov-function-clamp-min-identical-shift-right
dEQP-VK.graphicsfuzz.cov-function-infinite-loop-always-return
dEQP-VK.graphicsfuzz.cov-function-loop-switch-increment-array-element-return
dEQP-VK.graphicsfuzz.cov-function-min-integer-large-shift-unused
dEQP-VK.graphicsfuzz.cov-loop-decrease-integer-never-break
dEQP-VK.graphicsfuzz.cov-loop-global-counter-break-set-ivec-elements
dEQP-VK.graphicsfuzz.cov-nested-loops-inner-loop-min-copy-array-elements
dEQP-VK.graphicsfuzz.cov-nested-loops-return-inside-while-never-executed
dEQP-VK.graphicsfuzz.cov-nested-loops-substract-matrix-element-change-float
dEQP-VK.graphicsfuzz.cov-nested-loops-switch-case-fallthrough-increment-array-element
dEQP-VK.graphicsfuzz.cov-two-loops-increment-integer-global-counter-break-square-threshold

Change-Id: Id55832113b3ebcd48fc4e6a2a8e0502725766944

2 years agoFix freeing custom device in dynamic state tests
Ricardo Garcia [Mon, 4 Apr 2022 15:58:55 +0000 (17:58 +0200)]
Fix freeing custom device in dynamic state tests

Some dynamic state tests use a custom device that was not being properly
freed when existing a test group that used the device. This sometimes
caused crashes on program termination.

No tests should be affected by this change. This fix only touches the
test hierarchy. However, to check the fix doesn't break anything:

dEQP-VK.dynamic_state.*

Components: Vulkan
VK-GL-CTS issue: 3602

Change-Id: I6bf97900497b6e795c1fbacef5b3fc68619a9ff4
(cherry picked from commit 33fba799401ba8e74907bf4bf7893d50f188e842)