platform/upstream/VK-GL-CTS.git
2 years agoFix entry points check for VK_KHR_draw_indirect_count
Ricardo Garcia [Thu, 12 May 2022 14:26:44 +0000 (16:26 +0200)]
Fix entry points check for VK_KHR_draw_indirect_count

VK_KHR_draw_indirect_count was promoted to core in Vulkan 1.2, but its
non-KHR entry points (vkCmdDrawIndirectCount and
vkCmdDrawIndexedIndirectCount) are not mandatory unless the device
supports the extension. In that case, the drawIndirectCount feature bit
will also be true. Any of the two checks is valid.

Affected tests:
dEQP-VK.api.version_check.entry_points

VK-GL-CTS issue: 3679
Components: Vulkan

Change-Id: I95666c1a22bed7da33f58a50307294c4048cd8ff

2 years agoInclude the proper formats in pViewFormats list
Ricardo Garcia [Fri, 20 May 2022 10:02:06 +0000 (12:02 +0200)]
Include the proper formats in pViewFormats list

Imageless framebuffer variants in fragment shading rate basic tests were
not including the render pass image view formats in the list of view
formats when creating the framebuffer, resulting in validation errors
with code VUID-VkFramebufferCreateInfo-flags-03205.

Affected tests:
dEQP-VK.fragment_shading_rate.basic.*

Components: Vulkan
VK-GL-CTS issue: 3705

Change-Id: I7389b8a0a2f24b3085f3963064508c8c388e43bc

2 years agoFix state binding in multiview tests
Ricardo Garcia [Mon, 23 May 2022 08:40:23 +0000 (10:40 +0200)]
Fix state binding in multiview tests

According to the spec, when multiview is enabled all non-render pass
state is undefined at the beginning of each subpass, but multiview tests
were binding vertex buffers, index buffers and descriptor sets before
beginning the render pass. This commit moves the binding commands to the
same point the pipeline is bound for each subpass.

In addition, it fixes some validation errors related to the following
VUIDs:

  - VUID-VkSubpassDependency-srcSubpass-02243
  - VUID-VkSubpassDependency2-srcSubpass-02245

Due to some subpass dependencies missing the VK_DEPENDENCY_BY_REGION_BIT
bit in their flags despite being mandated by the spec.

Affected tests:
dEQP-VK.multiview.*

Components: Vulkan
VK-GL-CTS issue: 3701

Change-Id: I4f91f3dad0305e93dce68bb43497215c628df543

2 years agoImprove comparison of VkPhysicalDeviceMemoryProperties
Chia-I Wu [Sat, 28 May 2022 00:47:42 +0000 (17:47 -0700)]
Improve comparison of VkPhysicalDeviceMemoryProperties

VkMemoryType should be fine, but VkMemoryHeap normally has a 4-byte
padding which can be garbage.  Compare individual members rather than
doing deMemCmp.

VK-GL-CTS Issue: 3590

Affects: dEQP-VK.api.info.get_physical_device_properties2.memory_properties

Components: Vulkan
Change-Id: I49e276ee15d10ca40f11c7a5fd3fb50b84ff1de3

2 years agoFix shader operator tests' precision expectation
Shahbaz Youssefi [Mon, 22 Nov 2021 20:30:26 +0000 (15:30 -0500)]
Fix shader operator tests' precision expectation

es3fShaderOperatorTests.cpp takes the reported precision for lowp and
mediump (through glGetShaderPrecisionFormat) and tests that that many
bits are actually supported by the type.

glGetShaderPrecisionFormat is a legacy function that's not very
meaningful on modern hardware (see Vulkan issue #2931), and there is no
equivalent for its functionality in Vulkan.

This relevant tests are changed such that the test now verifies that _at
least_ that many bits are used in lowp and mediump operations, rather
than _exactly_.  This aligns with the semantics of RelaxedPrecision in
SPIR-V.

Affected tests:
dEQP-GLES3.functional.shaders.operator.*

Components: OpenGL ES
VK-GL-CTS issue: 3344

Change-Id: I88a38d6ee067de8313f25327578c6666c257dc8b
(cherry picked from commit 23d62b971cec55ae49cddc9a9e37614bc9f80668)

2 years agoFix GL_MAX_FRAGMENT_INTERPOLATION_OFFSET limit check
Shahbaz Youssefi [Fri, 27 Aug 2021 03:11:56 +0000 (23:11 -0400)]
Fix GL_MAX_FRAGMENT_INTERPOLATION_OFFSET limit check

The spec is fixed to align with Vulkan, requiring the minimum value for
GL_MAX_FRAGMENT_INTERPOLATION_OFFSET to be 0.5-ULP, where

    ULP = 1/pow(2,GL_FRAGMENT_INTERPOLATION_OFFSET_BITS)

Affects:
dEQP-GL45.functional.state_query.multisample_interpolation.max_fragment_interpolation_offset.get_float
dEQP-GLES31.functional.state_query.multisample_interpolation.max_fragment_interpolation_offset.get_float
KHR-GL44.shader_multisample_interpolation.api.api
KHR-GL45.shader_multisample_interpolation.api.api
KHR-GL46.shader_multisample_interpolation.api.api
KHR-GLES31.core.shader_multisample_interpolation.api.api
KHR-GL45.limits.max_fragment_interpolation_offset
KHR-GL46.limits.max_fragment_interpolation_offset

Components: OpenGL
Khronos OpenGL issue: #149

Change-Id: I153a05ef6db8f50a6aa337188e5aeb8d504fbbdd
(cherry picked from commit 5d72b170aad664e4fcf770863d37bd041d45ff9b)

2 years agoFix warning in gcc-8
Graeme Leese [Fri, 23 Jul 2021 18:00:11 +0000 (19:00 +0100)]
Fix warning in gcc-8

The code for setting up the output buffer was duplicated into each of
the cases for different input types, and the compiler doesn't understand
that DE_ASSERT marks an unreachable path. Changing to using standard
assert fixes the warning:

vktShaderFConvertTests.cpp:541:19: error: ‘outputBufferSizeInfo::memorySizeBytes’
may be used uninitialized in this function [-Werror=maybe-uninitialized]
   541 |  BufferSizeInfo   outputBufferSizeInfo;
       |                   ^~~~~~~~~~~~~~~~~~~~

Component: Vulkan
Affects: dEQP-VK.glsl.builtin.precision_fconvert.*

Change-Id: Icf6302166d8bce7c3ae1447973c895c34465a726

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 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 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 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 agoUse associated physical device from custom instance
Ari Suonpaa [Tue, 29 Mar 2022 08:56:44 +0000 (11:56 +0300)]
Use associated physical device from custom instance

Some of the API feature info tests created a custom instance,
but still used the default physical device. This is fixed by
choosing a physical device using the custom instance.

Comparison of VkPhysicalDeviceMemoryProperties was also
changed to only check the active memoryTypes and memoryHeaps
array elements instead of doing one large deMemCmp.

VK-GL-CTS Issue: 3590

Affects:

dEQP-VK.api.info.*

Components: Vulkan
Change-Id: I2378bcd1e97b7f85e533d34c5b5f6ac3e4fa9b93

2 years agoWait for deferred operations before obtaining RT pipeline handle
Ricardo Garcia [Tue, 29 Mar 2022 14:51:18 +0000 (16:51 +0200)]
Wait for deferred operations before obtaining RT pipeline handle

The ray tracing utils, when creating ray tracing pipelines and using
deferred operations, were using the VkPipeline pointer and handler
before the deferred operation had completed, which is against the spec.

Affected tests:
dEQP-VK.ray_tracing_pipeline.pipeline_library.configurations.multithreaded_compilation_dho.*
dEQP-VK.ray_tracing_pipeline.large_shader_set.cpu_ht*

Components: Vulkan
VK-GL-CTS issue: 3588

Change-Id: Ied8f443c01e99878180130963b8988852171b8a0

2 years agoFix subgroup size control failure logging
Mike Blumenkrantz [Thu, 31 Mar 2022 13:07:29 +0000 (15:07 +0200)]
Fix subgroup size control failure logging

One of the failure messages was missing the message terminator, which
prevented it from ever being logged.

Affects:
dEQP-VK.subgroups.size_control*

Components: Vulkan
VK-GL-CTS issue: 3596

Change-Id: If649a11e0f6cf0f5e69e438d46b385b26e57dfe4

2 years agoParse test case result version when converting to XML
Ricardo Garcia [Fri, 1 Apr 2022 10:01:40 +0000 (12:01 +0200)]
Parse test case result version when converting to XML

When parsing QPA files, extract the test case result version so it can
be later used to print the proper version when converting to XML files.

Components: Framework
VK-GL-CTS issue: 3573
VK-GL-CTS public issue: 287

Change-Id: I34d005621685b0ef31a7092ec7c40e6626bf20e3

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 7 Apr 2022 17:24:00 +0000 (17:24 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I25f8f2f56ab07a9c3f04e8cfa54f2efc11bfd80a

2 years agoAdd queue ownership release in modifier tests
Nanley Chery [Wed, 16 Mar 2022 20:08:04 +0000 (13:08 -0700)]
Add queue ownership release in modifier tests

Queue ownership transfers require a release operation and an acquire
operation. Before this patch, this test only performed the acquire
operation.

Components: Vulkan

VK-GL-CTS issue: 3575

Affects: dEQP-VK.drm_format_modifiers.export_import.*
Change-Id: I2998d7928d1042d6a159e1173257ee551c1120a5

2 years agoFix incorrect layout transition in modifier tests
Nanley Chery [Wed, 16 Mar 2022 20:40:46 +0000 (13:40 -0700)]
Fix incorrect layout transition in modifier tests

The queue family ownership acquire operation specifies a layout
transition from the pre-initialized layout. The image isn't in the
pre-initialized layout however, it's in the transfer dst optimal layout.
Align with the Vulkan spec, which says:

When performing a layout transition on an image subresource, the
old layout value must either equal the current layout of the
image subresource (at the time the transition executes), or else
be VK_IMAGE_LAYOUT_UNDEFINED (implying that the contents of the
image subresource need not be preserved).

Components: Vulkan

VK-GL-CTS issue: 3575

Affects: dEQP-VK.drm_format_modifiers.export_import.*
Change-Id: I76dbb54c699ed7d34e964de17f71ef01bc9e98a5

2 years agoFix lossy layout transitions in modifier tests
Nanley Chery [Wed, 16 Mar 2022 20:07:07 +0000 (13:07 -0700)]
Fix lossy layout transitions in modifier tests

The test performs several layout transitions that use
VK_IMAGE_LAYOUT_UNDEFINED for the initial layout. The spec says that
these transitions cause images to become undefined. The test expects
defined data from these images however. Replace these initial layouts
with layouts that don't cause data loss.

Components: Vulkan

VK-GL-CTS issue: 3575

Affects: dEQP-VK.drm_format_modifiers.export_import.*
Change-Id: I5e57dd197d461fba800d50239803d525c5334ac4

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 31 Mar 2022 17:02:52 +0000 (17:02 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ibcfcfa0cf5ad247b4c80017ad298d15a5139868f

2 years agomodifiers: Use dedicated memory consistently
James Jones [Fri, 27 Aug 2021 23:33:24 +0000 (16:33 -0700)]
modifiers: Use dedicated memory consistently

When a dedicated allocation device memory object
is exported, it must be imported as a dedicated
allocation created with a compatible resource as
well.  This change makes the DRM format modifier
tests self-consistent in that regard.

Components: Vulkan

Affected tests: dEQP-VK.drm_format_modifiers.export_import.*

VK-GL-CTS issue: 3544

Change-Id: I93a35180b9a5a1b98e0d4fa1f2934258134cef1b

2 years agoFix Zlib depedency
Peter Kohaut [Mon, 28 Mar 2022 11:53:49 +0000 (13:53 +0200)]
Fix Zlib depedency

Use newer version of Zlib as older is no longer available to download from the zlib.net page

Components: Framework

Affects:

None

VK-GL-CTS Issue: 3587

Change-Id: Ie166dc897b0d1318c1ae73434bfa19687b579691

2 years agoCheck for visibility in external_memory_host test
Michael Chock [Wed, 2 Mar 2022 17:16:34 +0000 (09:16 -0800)]
Check for visibility in external_memory_host test

The external_memory_host synchronization test uses mapMemory when
validating the contents of the external memory, but does not ensure that
the memory is host-visible. When choosing a memory type for the
host-visible memory, additionally check the HOST_VISIBLE flag.

Affects:

dEQP-VK.memory.external_memory_host.synchronization.synchronization

Components: Vulkan

VK-GL-CTS issue: 3547

Change-Id: I0cff8f42debedd01db1760881a6f5f9481ea39bf

2 years agoFix dEQP-VK.subgroups.size_control.compute.required_subgroup_size_*_require_full_subg...
Jason Ekstrand [Wed, 16 Mar 2022 22:33:17 +0000 (17:33 -0500)]
Fix dEQP-VK.subgroups.size_control.compute.required_subgroup_size_*_require_full_subgroups

The tests were testing full subgroups with four workgroup sizes:

 - Nx1x1
 - 1xNx1
 - 1x1xN
 - getLocalSizes() which returns a maximally large workgroup size

However, the Vulkan spec says:

    "If a VkPipelineShaderStageRequiredSubgroupSizeCreateInfo structure
    is included in the pNext chain, and flags has the
    VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT flag set,
    the local workgroup size in the X dimension of the pipeline must be
    a multiple of
    VkPipelineShaderStageRequiredSubgroupSizeCreateInfo::requiredSubgroupSize

This means that the middle two subgroup sizes are invalid for use with
VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT.

Components: Vulkan

Affects:
 - dEQP-VK.subgroups.size_control.compute.required_subgroup_size_max_require_full_subgroups
 - dEQP-VK.subgroups.size_control.compute.required_subgroup_size_min_require_full_subgroups

Change-Id: I46f2547e1a50f78cbed6695f96448f463ca57230

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 10 Mar 2022 16:34:26 +0000 (16:34 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I010f996f4b726f1f79e9bbe9b9f3e96131021f00

2 years agoDisable BC7 mode 8 pattern generation
Boris Zanin [Tue, 1 Mar 2022 15:16:12 +0000 (16:16 +0100)]
Disable BC7 mode 8 pattern generation

Due to BC7 is underspecified for mode 8 (LSB=0x00) tests
should avoid testing it. This commit avoids generation
mode 8 BC7 compressed blocks.

Affects tests:
 * dEQP-VK.*bc7*

Components: Framework, Vulkan

VK-GL-CTS issue: 3501

Change-Id: I222046f703fbead2bf5c64376defc6481989be24

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 3 Mar 2022 16:47:59 +0000 (16:47 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I8e72cdeaa8eed150a5548dd30871eccb09f31d5c

2 years agoMark gl_Position as invariant in invariance tests
Max Andersson [Mon, 7 Feb 2022 11:31:13 +0000 (12:31 +0100)]
Mark gl_Position as invariant in invariance tests

Always marks gl_Position as invariant. The reason
for this is that there is no guarantee that it
will be computed in an invariant way otherwise,
which may cause test failures.

Affects:

dEQP-VK.glsl.invariance.*user_defined*

VK-GL-CTS issue: 3493

Change-Id: Ia172664b454182458dbd13146c2d1688ecf4161f

2 years agoRay tracing: avoid skipping triangles and AABBs at the same time
Ricardo Garcia [Fri, 11 Feb 2022 09:30:05 +0000 (10:30 +0100)]
Ray tracing: avoid skipping triangles and AABBs at the same time

This is illegal according to the spec.

Removed tests:
dEQP-VK.ray_tracing_pipeline.builtin.incomingrayflagsext.*pipelineskipboth*
dEQP-VK.ray_tracing_pipeline.builtin.incomingrayflagsext.*rayskiptriangles.pipelineskipaabbs*
dEQP-VK.ray_tracing_pipeline.builtin.incomingrayflagsext.*rayskipaabbs.pipelineskiptriangles*
dEQP-VK.ray_tracing_pipeline.builtin.incomingrayflagsext.*rayskipboth*

Components: Vulkan
VK-GL-CTS issue: 3508

Change-Id: Iebc50b4b546abc36b2607eeb7c5cbb900de35fcb

2 years agoAvoid invalid reportIntersectionEXT hit kinds in mem guarantee tests
Ricardo Garcia [Thu, 10 Feb 2022 10:49:21 +0000 (11:49 +0100)]
Avoid invalid reportIntersectionEXT hit kinds in mem guarantee tests

Only values in the [0, 127] range are allowed with reportIntersectionEXT.

Affected tests:
dEQP-VK.ray_tracing_pipeline.memguarantee.*

Components: Vulkan
VK-GL-CTS issue: 3513

Change-Id: I54669b5b7e2c0f696bbbf3e5a477b1533e4f4488

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 17 Feb 2022 18:08:53 +0000 (18:08 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ib8646342ae0c6c9df3c7f2fa78c24643c10d5e96

2 years agoFix validation errors in compute tests
Ilkka Saarelainen [Wed, 2 Feb 2022 13:37:18 +0000 (15:37 +0200)]
Fix validation errors in compute tests

This CL fixes various validation errors in compute tests.

Affects:
dEQP-VK.compute.basic.image_barrier*
dEQP-VK.compute.cooperative_matrix.*

Components: Vulkan

VK-GL-CTS Issue: 3451

Change-Id: I33037a50d10a5cf8098c33b55ba42900f97f0019

2 years agoFix Set/WaitEvent2KHR dependency flags setup
Iulian Milas [Wed, 5 Jan 2022 11:35:03 +0000 (12:35 +0100)]
Fix Set/WaitEvent2KHR dependency flags setup

Vulkan specifies that the dependencyFlags member of pDependencyInfo
must be 0 in case of vkCmdSetEvent2KHR and vkCmdWaitEvents2KHR.
The conformance tests use a non zero default flag.

Components: Vulkan

Affects:

dEQP-VK.synchronization2.basic.event.*
dEQP-VK.synchronization2.op.single_queue.event.*

VK-GL-CTS Issue: 3462

Change-Id: Ic67fb77bcddf198fc77bbc9b3a25979d3e43678b

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 3 Feb 2022 16:56:37 +0000 (16:56 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ic3ea84ef67493d7b596c4f4a9547b7841170a9a9

2 years agoFix compilation on Android
Peter Kohaut [Fri, 21 Jan 2022 08:55:35 +0000 (09:55 +0100)]
Fix compilation on Android

Function testSemaphoreImportSyncFdSignaled is not used and the build process
for Android fails because of it.
Fix just removes this unused function.

Components: Vulkan, AOSP

Affects:

None

VK-GL-CTS Issue: 3465

Change-Id: I82ad0e8df8196ac08d0003f30b7e624461239f84

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 27 Jan 2022 19:12:43 +0000 (19:12 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Iff22de3540519a435bbb7874188bbcadec977b05

2 years agoFix bug in calcFloatDiff
Nishit Shah [Thu, 20 Jan 2022 17:23:14 +0000 (11:23 -0600)]
Fix bug in calcFloatDiff

bsign variable in function calcFloatDiff is wrongly declared. Fixing.

VK-GL-CTS issue: 3472

Affects:
dEQP-VK.api.image_clearing.core.clear_depth_stencil_image*
and all the tests from the vktApiImageClearingTests.cpp file.

Components: Vulkan
Signed-off-by: Nishit Shah <nishit.shah@samsung.com>
Change-Id: I654920c9de460eb04caaca988552f65da3aa2687

2 years agoRe-enable Clang warning for Amber
Mika Väinölä [Tue, 11 Jan 2022 07:45:02 +0000 (09:45 +0200)]
Re-enable Clang warning for Amber

The Amber version used by vulkan-cts-1.2.5 and later includes 4d0115c
which should fix all suggest-destructor-override warnings.

Components: Framework, Vulkan

VK-GL-CTS issue: 3361

Change-Id: I36437c797c067521e1444d20cfece33babfe435a

2 years agoGCC 11 build fixes
Mika Väinölä [Thu, 13 Jan 2022 08:00:09 +0000 (10:00 +0200)]
GCC 11 build fixes

Some files used std::numeric_limits without including <limits> and
failed to compile.

VK-GL-CTS issue: 2842

Change-Id: I21e37ce38db08c7c7041f4628ac852588a788852

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 20 Jan 2022 21:10:44 +0000 (21:10 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I790e54266657e91c84b9e40f6eb7385914d569c6

2 years agoDecrease required subgroup size
Ilkka Saarelainen [Wed, 17 Feb 2021 11:33:22 +0000 (13:33 +0200)]
Decrease required subgroup size

dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point
test assumed that the subgroupSize is >= 8. The test failed if the
supported subgroupSize is less than 8.

This CL lowers the required subgroup size to 4.

Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.comp_workgroup_entry_point

Components: Vulkan

VK-GL-CTS issue: 2698

Change-Id: I9931dab7a57c0b6b73530e72bca0c0d9cc90f87d
(cherry picked from commit 8f9b9137470ed5b0cd0b38edd9e9c28ccf565731)

2 years agoFix for potentially uninitialized variables
Jari Komppa [Tue, 11 Jan 2022 14:58:31 +0000 (16:58 +0200)]
Fix for potentially uninitialized variables

This change adds a constructor for a struct which sets the members that
do not have a constructor of their own to known values.

This potentially affects anything that uses the reference rasterizer,
but should not change any test results.

Affects:
*

Components: Framework
VK-GL-CTS issue: 3434

Change-Id: Ie874b4baa4d2ff5a8aa66f9ea2c3cd11b37edb64

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 20 Jan 2022 17:01:38 +0000 (17:01 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I3080cbdc60602f0faea714502bbc5461cac257e0

2 years agoFix NULL/False to std::string conversion errors
Mika Väinölä [Fri, 17 Dec 2021 07:10:19 +0000 (09:10 +0200)]
Fix NULL/False to std::string conversion errors

Newer versions of GCC reject std::string(DE_NULL). Previously this
didn't cause any errors or warnings when compiling, but should produce
an error at runtime. This change replaces invalid values with empty
string literals and adds deFatalStr for cases that potentially
relied on the string constructor throwing an exception.

Components: Framework, OpenGL, Vulkan
VK-GL-CTS issue: 3419

Change-Id: I68ec7d1447d1e96f5d7841e0684687cdd294fe39

2 years agoRequire geometry shaders for adjacency topologies
Sean Risser [Fri, 30 Apr 2021 17:02:57 +0000 (13:02 -0400)]
Require geometry shaders for adjacency topologies

Clipping tests would use adjacency topologies with drivers that didn't
support geometry shaders.

Components: Vulkan

Affects: dEQP-VK.clipping.clip_volume.depth_clip.*
VK-GL-CTS Issue: 2906

Change-Id: I7a41e62dcbcdcab46ce4f8b04bfe322c688fbcac

2 years agoRemove api.tooling_info.validate_instance_layers
Arkadiusz Sarwa [Tue, 7 Dec 2021 17:22:32 +0000 (18:22 +0100)]
Remove api.tooling_info.validate_instance_layers

Remove:
dEQP-VK.api.tooling_info.validate_instance_layers

Components: Vulkan
VK-GL-CTS issue: 3395

This reverts commit 7628909f404f665eb54c6a5019386747fb631134.

Change-Id: I68de938e73c10fed80d4e9bb3698b513a1b44315

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 14 Jan 2022 05:19:30 +0000 (05:19 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I7ec0667baf95d997230a8befced3ca4f2cda4876

2 years agoFix sType Tooling Info tests
Mohankumar Nekkarakalaya [Wed, 12 Jan 2022 21:23:25 +0000 (13:23 -0800)]
Fix sType Tooling Info tests

Tooling Info tests were not setting the sType correctly. This goes
against spec
where "sType must be
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES_EXT". These
tests also check this sType to validate functionality.

Components: Vulkan

Affects:
dEQP-VK.api.tooling_info.*

VK-GL-CTS issue: 3444

Change-Id: Ic72104261a577d7d767742d4b2828296eba3922c

2 years agoDeqpTestRunner: fix deqpLogFilename
Paul Thomson [Fri, 3 Dec 2021 16:48:36 +0000 (16:48 +0000)]
DeqpTestRunner: fix deqpLogFilename

Fix capitalization of shell argument "deqpLogFilename" in
DeqpTestRunner.java. The code still worked fine in most cases because
the default filename matches the filename passed in DeqpTestRunner.java.

Components: Android
Google bug: b/206657494

Change-Id: I857fa3994ada72aa96d199569704a46034255309
(cherry picked from commit 42017ff7072dcc7e7a7d51dd5611be05abf5460f)

2 years agoAdd format check to SharedPresentableImageTest
Mikolaj Chadzynski [Thu, 23 Dec 2021 08:38:54 +0000 (09:38 +0100)]
Add format check to SharedPresentableImageTest

The SharedPresentableImageTest does not follow Vulkan spec.
The SurfaceFormats got by getPhysicalDeviceSurfaceFormats ->
getPhysicalDeviceSurfaceFormatsKHR should be checked by
vkGetPhysicalDeviceImageFormatProperties. This is according to:
www.khronos.org/registry/vulkan/specs/1.2-extensions/html/chap33.html
"33.5. Surface Queries
In addition to the surface capabilities as obtained by surface queries
below, swapchain images are also subject to ordinary image creation
limits as reported by vkGetPhysicalDeviceImageFormatProperties. As an
application is instructed by the appropriate Valid Usage sections, both
the surface capabilities and the image creation limits have to be
satisfied whenever swapchain images are created."

Unsupported format can lead to non-deterministic behavior e.g.
a segmentation fault, a null pointer dereference in a test or a driver.

VK-GL-CTS issue: 3422

Affects:
dEQP-VK.wsi.android.shared_presentable_image.*

Components: Vulkan

Change-Id: Id4bb4d1c81e090ed1d7f34a76f3cfafc464d8cf8

2 years agoAdditional warning fix for Clang 13
Ricardo Garcia [Thu, 9 Dec 2021 14:23:57 +0000 (15:23 +0100)]
Additional warning fix for Clang 13

Fixes warning about unused variable. No test results should be affected
by this change.

Components: Vulkan
VK-GL-CTS issue: 3147

Change-Id: Ib7c0425891e33e65e22ed90668aa3d0d7eae85df

2 years agoFix mismatched ray payload in descriptor set random tests
Ricardo Garcia [Tue, 14 Dec 2021 10:08:16 +0000 (11:08 +0100)]
Fix mismatched ray payload in descriptor set random tests

Miss shaders had a ray payload declaration that didn't match other
shading stages.

Affected tests:
dEQP-VK.binding_model.descriptorset_random.*.miss.*

Components: Vulkan
VK-GL-CTS issue: 3412

Change-Id: I4473a883248bc9d572e6112da82bc4c774689071

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 7 Jan 2022 06:07:01 +0000 (01:07 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I85eab03afdf24359556917617b56856b51b7eb07

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 6 Jan 2022 22:45:47 +0000 (17:45 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Id711f3ba5558c490c3629051677c7f41ec2da2d6

2 years agoFix warnings reported by clang 13
Ricardo Garcia [Fri, 10 Dec 2021 13:54:01 +0000 (14:54 +0100)]
Fix warnings reported by clang 13

This commit fixes code that was producing warnings when built using
clang 13. They are mostly about unused variables and null pointer
substractions, but the new code should be semantically the same.

No test results should be affected by these changes.

Components: Framework, Vulkan, OpenGL
VK-GL-CTS issue: 3147

Change-Id: I0eb87c17270a610c8b29ec27ae8e10009053f8e1

2 years agoRename various things for more inclusive language
Jari Komppa [Fri, 19 Nov 2021 13:16:54 +0000 (15:16 +0200)]
Rename various things for more inclusive language

This change renames various things to avoid gender-specific or degatory
terms.

Khronos inclusive language policy:
https://www.khronos.org/about/inclusive-language

Majority of the changes are due to the term 'dummy', as in mannequin or
placeholder, which in programming may mean any of empty, placeholder,
unused, minimal, busywork, ignored or irrelevant.

Changes not included are file names (gluDummyRenderContext), test names
(dummy_instruction_set) or branch names (master).

Affects:
*

Components: Framework, Vulkan, OpenGL
VK-GL-CTS issue: 2509

Change-Id: I3837477a1b3de1142e8d97c503890ccbce9138f8

2 years agoRemove vkDestroyBuffer
Ari Suonpaa [Tue, 14 Dec 2021 05:27:53 +0000 (07:27 +0200)]
Remove vkDestroyBuffer

A buffer allocation test that is supposed to fail a large
allocation still tried to destroy the buffer even when an
error was returned from the allocation. This is now removed.

VK-GL-CTS Issue: 3192

Affects:

dEQP-VK.api.buffer.basic.size_max_uint64

Components: Vulkan
Change-Id: Ic36cb548ab2796b41e2a0b44d023e644b02a6d8c

2 years agoAvoid querying non-supported hardware features
Jari Komppa [Tue, 23 Nov 2021 10:53:00 +0000 (12:53 +0200)]
Avoid querying non-supported hardware features

Change the feature query test to avoid querying information on hardware
features that are not supported. This is done by querying non-existing
feature (max_enum) instead, which must be ignored by implementations.

The change also adds comment to all generated files stating what script
generates the files.

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

Components: Vulkan
VK-GL-CTS issue: 2853

Change-Id: I24a3832abc0721e649edbb112bd7f776c2b5d7f4

2 years agoDisable two warnings for old Amber versions
Mika Väinölä [Mon, 13 Dec 2021 11:00:05 +0000 (13:00 +0200)]
Disable two warnings for old Amber versions

Older versions of Amber fail to build with Clang >= 11 and GCC >=11 due
-Werror and warnings that have been fixed in later versions. Upgrading
Amber in older CTS branches risks accidental downgrades during fix
propagation. This change disables -Wsuggest-destructor-override for
Clang and -Wuninitialized for GCC when building libamber. These
should be re-enabled in newer Vulkan CTS releases.

Components: Framework, Vulkan

VK-GL-CTS issue: 3361

Change-Id: Ifc2ed69584d8ad179042b80212e02ceb9956d110

2 years agoZero initialize array in internal tests
Mika Väinölä [Wed, 1 Dec 2021 10:24:52 +0000 (12:24 +0200)]
Zero initialize array in internal tests

This suppresses a -Wmaybe-uninitialized warning in GCC 11 release
builds.

Affects: dE-IT.delibs.decpp.block_buffer

Components: Framework

VK-GL-CTS issue: 3378

Change-Id: I2315b5cdeecb6e9a54dd419c88134f30a3335029

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 9 Dec 2021 17:41:52 +0000 (17:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I837a41fd83ac421e799900ff74df8b4daa549ecc

2 years agoReduce complexity of some random cases
Jari Komppa [Wed, 8 Dec 2021 14:10:04 +0000 (16:10 +0200)]
Reduce complexity of some random cases

This change adds a complexity heuristics to some random cases and
reduces the final nested array size to avoid complexity explosion.

In practice only 18 test cases out of 1576 are affected.

Affects:
dEQP-VK.ubo.random.*

Components: Vulkan
VK-GL-CTS issue: 3389

Change-Id: If108ce2f04272b7bae9799daffa3682d1fb3aa52

2 years agoGCC 11 build fixes
Mika Väinölä [Wed, 10 Mar 2021 11:16:38 +0000 (13:16 +0200)]
GCC 11 build fixes

Some files used std::numeric_limits without including <limits> and
failed to compile.

VK-GL-CTS issue: 2842

Change-Id: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92
(cherry picked from commit c686fd7ddf13d9ec51c84aea044d36ef3dd69c68)

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Fri, 3 Dec 2021 16:51:10 +0000 (11:51 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I0adccdf3f29176238bd4ca92fe8c9aa380986f43

2 years agoRelax protected heap allocation tests - continuation
Tomasz Gregorek [Fri, 29 Oct 2021 08:01:54 +0000 (03:01 -0500)]
Relax protected heap allocation tests - continuation

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.

Fix protected memory allocation to be done on small
allocation chunks and ignore allocation failures
if there is at least 80 of concurrent allocations
at a time.

VK-GL-CTS issue: 3257

Affects:
dEQP-VK.memory.allocation.random.*

Components: Vulkan
Change-Id: I32ed020195ff468de468bbd8527dec1d7f0db183

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 18 Nov 2021 21:52:19 +0000 (16:52 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I888aaa5fc93ef69f75c6f3a31ab2a02202028cbd

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 18 Nov 2021 19:56:13 +0000 (19:56 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I627fd4331d6dcf4f56a90b8a348dd1294e911e64

2 years agoGCC 11 build fixes
Mika Väinölä [Wed, 10 Mar 2021 11:16:38 +0000 (13:16 +0200)]
GCC 11 build fixes

Some files used std::numeric_limits without including <limits> and
failed to compile.

Some dynamic casts and calls to AndroidHardwareBufferExternalApi::
getInstance() produced nonnull warnings. Suppress these by
wrapping them in if statements.

This commit also removes implicit-fallthrough from the list of ignored
GCC warnings in check_build_sanity.py. All such warnings in the CTS
should be fixed by now and recent versions of Clang also support
this warning.

VK-GL-CTS issue: 2842

Change-Id: I5bd290f9c312a30c2fcb223307c7b5c785a0fa92

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 4 Nov 2021 20:45:39 +0000 (16:45 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I1c61bd275a7161d071ad79aa493c6634582391a2

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 4 Nov 2021 20:45:32 +0000 (16:45 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ice8e3ca5f949d6c134f91a7d5317ab5892d5147d

2 years agoCheck shaderInt64 in workgroup memory explicit layout alias tests
Ricardo Garcia [Thu, 14 Oct 2021 11:27:46 +0000 (13:27 +0200)]
Check shaderInt64 in workgroup memory explicit layout alias tests

A few workgroup memory explicit layout alias tests were not checking
shaderInt64 while using 64-bit integers in shaders.

Affected tests:
dEQP-VK.compute.workgroup_memory_explicit_layout.alias.*u64*array*
dEQP-VK.compute.workgroup_memory_explicit_layout.alias.*array*u64*

Components: Vulkan
VK-GL-CTS issue: 3131

Change-Id: I1911018c471e9548603d5de987625163bb356eb9

2 years agoAllow NaN result when result exceeds limit
Mohankumar Nekkarakalaya [Thu, 21 Oct 2021 00:14:08 +0000 (17:14 -0700)]
Allow NaN result when result exceeds limit

Based on spec if the result is too large to be represented
in the floating point the result is undefined.

Issue was found with ldexp. Since fix is applicable in general
updated the isFinite() to take maxValue and checks the interval value
with the allowed max value in the context (and similarly for
negative numbers). If the result is beyond the 32-bit
floating-point representation expected result is unbounded

Components: Vulkan, OpenGL, Framework

VK-GL-CTS Issue: 3138

Affected tests:
dEQP-VK.glsl.builtin.function.*
dEQP-VK.glsl.builtin.precision.*
dEQP-GLES31.functional.shaders.builtin_functions.precision.*
dEQP-GLES31.functional.shaders.builtin_functions.common.fma.*

Change-Id: Iba27d6b0d7d0bc433a1d0c055cef6f6a61b239ba

2 years agoAccept NaN as valid in atan2 precision tests
Graeme Leese [Fri, 27 Aug 2021 12:46:19 +0000 (13:46 +0100)]
Accept NaN as valid in atan2 precision tests

The Vulkan CTS has been updated
(https://gerrit.khronos.org/c/vk-gl-cts/+/7857) so that it is not
required to generate correct results for atan(inf, inf), and this makes
the corresponding change in GL. The GLSL spec is not as clear on what is
required here, but does say:
    Built-in functions not listed above and not defined as equations of
    the above have undefined precision. These include, for example, the
    trigonometric functions

In general, I think that it is expected that the default state of Vulkan
is a match for GL.

Components: OpenGL
VK-GL-CTS issue: 3073
Affects: dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.highp_*

Change-Id: Ifae97a2e86962f5aff68d5eed09ba38069445468

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 28 Oct 2021 21:57:06 +0000 (17:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I54315f34095f396294bab85b0da4a1e3cf38aac8

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 28 Oct 2021 21:57:00 +0000 (17:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I2f2be91bd696c7de227f804202f9a8eb222cab03

2 years agoFix VK_KHR_shader_clock feature checks
Ricardo Garcia [Fri, 8 Oct 2021 07:50:00 +0000 (09:50 +0200)]
Fix VK_KHR_shader_clock feature checks

The shader clock tests were not checking if the implementation supported
64-bit integers for tests that required the feature and they were
checking supported features at test instance creation time instead of
the specific checkSupport method for test cases.

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

Components: Vulkan
VK-GL-CTS issue: 3187

Change-Id: I0dc86a4fae619c0d27628d97f0ac11c5def5ff4f

2 years agoFix dEQP-VK.tessellation.geometry_interaction.limits.output_required_max_geometry...
Juha Heiskanen [Tue, 19 Oct 2021 11:38:09 +0000 (14:38 +0300)]
Fix dEQP-VK.tessellation.geometry_interaction.limits.output_required_max_geometry validation error

Adjust numSliceNodesComponentLimit in order to keep
m_numGeometryPrimitivesPerInvocation within minimum limits defined in
the spec.

Components: Vulkan

VK-GL-CTS Issue: 3180

Affects:
dEQP-VK.tessellation.geometry_interaction.limits.output_required_max_geometry

Change-Id: I72ca43bec27256cb75a11d75aab91b9b565be9ab

2 years agoMove log prints from test-ctor to test-inst-ctor
Jari Komppa [Tue, 5 Oct 2021 09:52:03 +0000 (12:52 +0300)]
Move log prints from test-ctor to test-inst-ctor

Some of the tesselation tests were printing values into the output log
from the test constructor, which meant that said prints end up in more
or less random place in the log. Moved those prints to the test instance
instead, so the information now resides within the test output.

The prints were also done in the amber-verify run mode.

Affects:
dEQP-VK.tessellation.geometry_interaction.scatter.*
dEQP-VK.tessellation.geometry_interaction.limits.*

Components: Vulkan
VK-GL-CTS issue: 3057

Change-Id: Ic5b2ce59369d1c20f25b8dc1c6cb594baac74f8f

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 22 Oct 2021 17:01:32 +0000 (13:01 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I6873657c378b02b383da36905a31886806519459

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Fri, 22 Oct 2021 17:01:27 +0000 (13:01 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I67159d811b780fc975c41a18043c177bceba6da7

2 years agoFix zx_handle_t typedef
Mika Väinölä [Wed, 13 Oct 2021 07:51:57 +0000 (10:51 +0300)]
Fix zx_handle_t typedef

Change from signed to unsigned 32-bit integer to match zircon/types.h.

Components: Framework, Vulkan

VK-GL-CTS issue: 3214

Change-Id: Ic887e90adc1583cfcd1518e21831d330e0f89b17

2 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

2 years agoAllowing spirv1.4 shaders compilation
Mohd Faisal [Wed, 26 Aug 2020 10:51:25 +0000 (11:51 +0100)]
Allowing spirv1.4 shaders compilation

Components: Vulkan

VK-GL-CTS Issue: 2560

Affects: dEQP-VK.spirv_assembly.instruction.spirv1p4.*

Change-Id: Icbfe3ad623da98968eee401d08df5ed6b3b2db1e
(cherry picked from commit c96d524d079fdada26b3548effd1539174415be6)

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

Change-Id: I0abe7100c16a273d62463b916957255150d344d0

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Fri, 15 Oct 2021 17:57:39 +0000 (13:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Ib23f14c29d67945839ab3763968963d7dcc91464

2 years agoFix validation errors with unnormalized coordinates samplers
Samuel Iglesias Gonsálvez [Fri, 8 Oct 2021 13:26:21 +0000 (15:26 +0200)]
Fix validation errors with unnormalized coordinates samplers

Components: Vulkan
VK-GL-CTS issue: 3190

Affects:

   dEQP-VK.pipeline.sampler.*unnormalized*

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

2 years agoFix descriptor indexing test dependency
Graeme Leese [Thu, 7 Oct 2021 17:15:51 +0000 (18:15 +0100)]
Fix descriptor indexing test dependency

The UBO and SSBO non-uniform indexing tests use runtimeDescriptorArray,
so this needs to be included in the checkSupport condition.

Components: Vulkan
Affects: dEQP-VK.ubo.*
         dEQP-VK.ssbo.*

Change-Id: I54edb2d06135a8d1d549a42ac97014dabc80c9dd

2 years agoCheck resource limits properly
Samuel Iglesias Gonsálvez [Wed, 2 Jun 2021 14:41:30 +0000 (16:41 +0200)]
Check resource limits properly

The tests were not checking the resource limits per stage when
creating the shaders, which could create potential issues on
some drivers. Specially the random generated tests.

Affected tests:

   dEQP-VK.ssbo.layout.*

Components: Vulkan
VK-GL-CTS issue: 2953

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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Matthew Netsch [Fri, 15 Oct 2021 16:47:17 +0000 (12:47 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Id485bc8ae929179e7786039966a233dd6fa57cdc

2 years agoMove anisotropic filtering support check to a function
Vihanakangas [Mon, 4 Oct 2021 10:52:27 +0000 (13:52 +0300)]
Move anisotropic filtering support check to a function

Support check for anisotropic filtering was done inside of iterate.
This change moves that check inside of a function for consistency
and performance.

Affects:

dEQP-VK.texture.filtering_anisotropy.*

Components: Vulkan

VK-GL-CTS issue: 3068

Change-Id: I3a1c0a1acff96b6f6b291bb53d3d9dc0bd122c17
(cherry picked from commit 522f4ba64beee8828030320591d20faa027a8e0a)

2 years agoFix incorrect computation of pointer size
Marcin Kańtoch [Tue, 31 Aug 2021 11:08:45 +0000 (13:08 +0200)]
Fix incorrect computation of pointer size

CTS always fills the array of pointers with a stride of 64-bits.
So, for 32-bits applications, each two 32-bits has one valid pointer
to instance of bottom-level acceleration structure.

To correct this the pointer size should be calculated as
sizeof(VkDeviceOrHostAddressConstKHR::hostAddress) for host built
top-level acceleration structure and
sizeof(VkDeviceOrHostAddressConstKHR::deviceAddress) for device built
top-level acceleration structure.

VK-GL-CTS issue: 3084
Components: Vulkan

Affects:
dEQP-VK.ray*instances_aop*

Change-Id: I8c412a5a5d2ce3f1f687795768d6d83ad4913892

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Thu, 7 Oct 2021 20:56:05 +0000 (16:56 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I911747cbf1726e161c457fa6ae666148ff0b36c7

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Thu, 7 Oct 2021 20:55:56 +0000 (16:55 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: I6994a2ac890d752906a8f6464a9cb7819e22a55f

2 years agoFix crashes on depth stencil resolve tests with separate layouts
Samuel Iglesias Gonsálvez [Tue, 28 Sep 2021 09:05:30 +0000 (11:05 +0200)]
Fix crashes on depth stencil resolve tests with separate layouts

Mesa drivers were crashing in depth stencil resolve tests when
used with separate layouts.

The issue was that if layout only specifies the layout of the
depth aspect of the attachment, the layout of the stencil aspect
is specified by the stencilLayout member of a
VkAttachmentReferenceStencilLayout structure included in the
pNext chain. We were not setting it.

Affected tests:

   dEQP-VK.renderpass2.depth_stencil_resolve.*separate_layouts*

Components: Vulkan
VK-GL-CTS issue: 3157

Change-Id: I72f8fdba88717ab0442501911fb26a7469da65d8
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 1 Oct 2021 19:32:56 +0000 (15:32 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I133af15a49b220d94c26f9db70e7830fbe167b72

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

2 years agoFix dEQP-VK.image.mutable.*srgb* validation errors
Samuel Iglesias Gonsálvez [Tue, 28 Sep 2021 12:32:25 +0000 (14:32 +0200)]
Fix dEQP-VK.image.mutable.*srgb* validation errors

The tests were not checking that the image format was
supported before creating the image.

Components: Vulkan
VK-GL-CTS issue: 3143

Affected tests:

   dEQP-VK.image.mutable.*

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