platform/upstream/VK-GL-CTS.git
2 years agoMissing coverage for vkCmdCopyQueryPoolResults
Juha Heiskanen [Fri, 12 Nov 2021 13:09:02 +0000 (15:09 +0200)]
Missing coverage for vkCmdCopyQueryPoolResults

Cover stride 0 and query count 1 for vkCmdCopyQueryPoolResult.

Components: Vulkan

VK-GL-CTS Issue: 3286

New tests: dEQP-VK.query_pool.occlusion_query.*stride_0_*

Change-Id: I033acd4927f3de45ce7584c610c73e33ac9c7a16

2 years agoAdd suite of div by zero tests
Jari Komppa [Tue, 16 Nov 2021 13:17:58 +0000 (15:17 +0200)]
Add suite of div by zero tests

This change adds a amber tests that execute various explicit and
implicit division by zero operations, which should not crash or fail the
rendering operation.

New test:
dEQP-VK.glsl.crash_test.divbyzero_frag
dEQP-VK.glsl.crash_test.divbyzero_comp

Components: Vulkan
VK-GL-CTS issue: 869

Change-Id: I7b180805d85461a536252d71a80151d9a626f665

2 years agoEnable packed formats for border swizzle tests
Ari Suonpaa [Fri, 19 Nov 2021 11:47:20 +0000 (13:47 +0200)]
Enable packed formats for border swizzle tests

Packed formats were previously commented out in
border swizzle tests. A small modification to the
random clear color code allowed to enable these
formats.

VK-GL-CTS Issue: 3253

New tests:

dEQP-VK.pipeline.sampler.border_swizzle.*pack*

Components: Vulkan
Change-Id: I7c1fa3fd08b6193309e5b723726464362316540b

2 years agoAdd portability_subset to extensions_data.txt
Piotr Byszewski [Thu, 18 Nov 2021 09:42:23 +0000 (10:42 +0100)]
Add portability_subset to extensions_data.txt

With this change VK_KHR_portability_subset extension
is being recognized as permitted Vulkan extension.

Components: Vulkan

VK-GL-CTS issue: 3268, 2879

Affects:
dEQP-VK.info.device_extensions

Change-Id: Iec9a9bbae684cd83eb13cb8cadb9eac8a853df4f

2 years agoVerify that timeline semaphores cannot import/export SYNC_FD
Lionel Landwerlin [Tue, 16 Nov 2021 10:17:19 +0000 (12:17 +0200)]
Verify that timeline semaphores cannot import/export SYNC_FD

Component: Vulkan

Affects: dEQP-VK.api.external.semaphore.*.info*

Change-Id: I17dd8e0fd172cffc785642b8d7b3f93cdd966e1b

2 years agoExecute FDM tests with dynamic rendering
Piotr Byszewski [Wed, 24 Nov 2021 09:52:48 +0000 (10:52 +0100)]
Execute FDM tests with dynamic rendering

VK_EXT_fragment_density_map tests are also executed
using dynamic rendering.

Affects:
dEQP-VK.dynamic_rendering.fragment_density_map.*
dEQP-VK.renderpass*.fragment_density_map.*

Components: Vulkan

VK-GL-CTS issue: 3246

Change-Id: I0603b40876ffdfa19ccdd0a4f10d23ffa079fe71

2 years agoExecute FDM tests with legacy renderpass
Piotr Byszewski [Fri, 19 Nov 2021 08:56:55 +0000 (09:56 +0100)]
Execute FDM tests with legacy renderpass

VK_EXT_fragment_density_map tests used only renderpass2,
this change executes them also with legacy renderpass.

Additionally this change removes duplication of
depth_stencil_resolve and multiple_subpasses_multiple_command_buffers
groups that were added to both renderpass and renderpass2 groups
despite supporting only one renderpass type.

Affects:
dEQP-VK.renderpass*.fragment_density_map.*
dEQP-VK.renderpass*

Components: Vulkan

VK-GL-CTS issue: 3247

Change-Id: Ic7e73689a6a5dd28fd23038546acace412614d22

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

2 years agoMerge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master
Matthew Netsch [Fri, 3 Dec 2021 00:23:26 +0000 (00:23 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.1 into vk-gl-cts/master

Change-Id: I428d33d66bfad3ea511cab97a717315cf297feed

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Matthew Netsch [Thu, 2 Dec 2021 22:41:14 +0000 (22:41 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I43ff786b98dd9bc2d5edcab4f04b3d9de4432520

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Matthew Netsch [Thu, 2 Dec 2021 21:03:40 +0000 (21:03 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: Ie280369845ce69510359b85012a6b29de83c34cc

2 years agoAvoid shifting by more than bit width
Ari Suonpaa [Wed, 24 Nov 2021 13:52:28 +0000 (15:52 +0200)]
Avoid shifting by more than bit width

Half float mantissa calculation was sometimes using
shift larger than a bit width. This change sets the
mantissa to zero in those cases.

VK-GL-CTS Issue: 3346
VK-GL-CTS Issue: 3349

Affects:

KHR-GLES*.core.internalformat.texture2d.*half_float*
KHR-GLES3.packed_pixels.*16f

Components: OpenGL ES
Change-Id: Ib91082fab530f6ff9e7cd5b6346ad7d433543a47

2 years agoPad out glClearBufferuiv value
Mika Väinölä [Fri, 12 Nov 2021 11:41:54 +0000 (13:41 +0200)]
Pad out glClearBufferuiv value

The test calls glClearBufferuiv with GL_COLOR and a pointer to a
single GLuint when four components are expected.

Affects: KHR-GLES31.core.framebuffer_no_attachments.render

Components: OpenGL

VK-GL-CTS issue: 3295

Change-Id: I0ce2512cc619410c91104b083ab7bb7b9d667c4c

2 years agoAdd missing extension requirement
Jari Komppa [Thu, 4 Nov 2021 11:40:07 +0000 (13:40 +0200)]
Add missing extension requirement

This change adds the missing #extension line in the shader for the
fragdata.draw_buffers test if extension is supported.

Affects:
dEQP-GLES3.functional.shaders.fragdata.draw_buffers

Components: OpenGL
VK-GL-CTS issue: 3259

Change-Id: Id644e83b938fd3f2e22769faf727043bee88f62d

2 years agoFix signed integer overflow in vertex array tests
Ari Suonpaa [Wed, 1 Dec 2021 07:27:16 +0000 (09:27 +0200)]
Fix signed integer overflow in vertex array tests

Random quad calculation in some of the vertex array tests were
calculating ranges for allowed quad sizes using signed integers,
and there was a chance for an overflow, which is undefined behavior.

Now the quad calculation randomizes only coordinates instead of
coordinates and the quad size. This lets us avoid the calculation
of the range.

Some bug fixes to the quad randomization code were also added.

VK-GL-CTS Issue: 3357

Affects:

dEQP-GLES3.functional.vertex_arrays.*

Components: OpenGL ES
Change-Id: I651ac6cef94e15d3fc0bc322ea8d65cbd96a4c2d

2 years agoFix signed integer overflow
Ari Suonpaa [Wed, 24 Nov 2021 15:03:44 +0000 (17:03 +0200)]
Fix signed integer overflow

VK-GL-CTS Issue: 3347

Affects:

KHR-GLES31.core.shader_bitfield_operation.bitfieldExtract.*

Components: OpenGL ES
Change-Id: Ifa35375cc20b54b9e2ff4950d519d0b0dad68812

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Matthew Netsch [Sat, 20 Nov 2021 03:26:14 +0000 (03:26 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master

Change-Id: I5d20f6d4bce3d0ea56a5135193470ab13c6efcdb

2 years agoPortability: fix border_swizzle tests
Piotr Byszewski [Fri, 12 Nov 2021 18:40:12 +0000 (19:40 +0100)]
Portability: fix border_swizzle tests

When the test itself has nothing to do with triangle fans,
(just uses them to perform rendering) then use triangle strips
instead so that tests also work for portability.

Components: Vulkan

VK-GL-CTS issue: 3266

Affects:
dEQP-VK.pipeline.sampler.border_swizzle.*

Change-Id: I217af02ccb7ad2fc06c686714e65ee28a3ac0284

2 years agoFix post-clear barrier in depth/stencil descriptor tests
Ricardo Garcia [Fri, 12 Nov 2021 16:19:38 +0000 (17:19 +0100)]
Fix post-clear barrier in depth/stencil descriptor tests

After clearing the color and depth/stencil image, the tests were using a
barrier to VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT with an access mask of 0.
This commit fixes that barrier to use VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT
and an access mask covering all uses of these descriptors in the render
pass.

Affected tests:
dEQP-VK.image.depth_stencil_descriptor.*

Components: Vulkan
VK-GL-CTS issue: 3305

Change-Id: I7d8c41b3dbbe69f3a613ba1bd09a0482f77133f2

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Sat, 20 Nov 2021 01:41:45 +0000 (01:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I5a712babbcd6a60c58a58845624b7b2b60896b99

2 years agoZero initialize XFB counter buffer
Mika Väinölä [Tue, 16 Nov 2021 12:11:34 +0000 (14:11 +0200)]
Zero initialize XFB counter buffer

Implementations that don't zero initialize buffers on allocation will
fail these tests when reading uninitialized counter buffers with
vkCmdBeginTransformFeedbackEXT.

Affects: dEQP-VK.rasterization.provoking_vertex.transform_feedback.*

Components: Vulkan

VK-GL-CTS issue: 3311

Change-Id: I3cd9a82aed94e55b5e37cbd287e159c2e5fc69d2

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 19 Nov 2021 20:11:48 +0000 (20:11 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I800d219e0b2d87e0a690bd535b00e377d7c13b5c

2 years agoDisable depth clamp for graphics pipeline creation tests.
Tomasz Owczarek [Tue, 9 Nov 2021 16:53:02 +0000 (16:53 +0000)]
Disable depth clamp for graphics pipeline creation tests.

Not all GPUs does support depth clamp feature.
Disable depth clamp in pipeline creation tests as it's not used
by tests itself and isn't required to test pipeline creation.

Affects:
dEQP-VK.pipeline.creation_cache_control.graphics_pipelines.*

Components: Vulkan

VK-GL-CTS issue: 3297

Change-Id: I59ed04bfcd1e5fc4b79dae31e254ff48c3410a5b

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 19 Nov 2021 17:27:35 +0000 (17:27 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I2cbe3e52c8373027ab109a6dbaefa6a34f25dd05

3 years agoFix 'implicit-fallthrough' build error on GCC 9.3.0
Sławomir Cygan [Wed, 14 Apr 2021 16:12:12 +0000 (18:12 +0200)]
Fix 'implicit-fallthrough' build error on GCC 9.3.0

It seems the existing comment was not hitting the regular
expression used by the GCC compiler when reading user comments
before case switch fallthrough.

The warning is triggered by -Wextra, which on GCC enables
'-Wimplicit-fallthrough=3'.

Another way to avoid the warning would be to use
[[fallthrough]] statement, but it's from C++17, which does not seem
to be enabled.

Components: Vulkan

Change-Id: Ica52e88f94f4f1c303511d8462938856cb676146
(cherry picked from commit 3cbdbc5564b6684d4737c61d4bcfccd516e14ce7)

3 years agoAdd tests for buffer size requirements
Ari Suonpaa [Wed, 10 Nov 2021 06:06:13 +0000 (08:06 +0200)]
Add tests for buffer size requirements

This change extends the existing buffer requirements tests
to verify the buffer memory size requirement is less than
or equal to the aligned size of the buffer.

Also fixed a typo in an existing test group name.

VK-GL-CTS Issue: 3287

New tests:

dEQP-VK.api.buffer_memory_requirements.*size_req*

Components: Vulkan
Change-Id: Id02d31d17a22bfd5e37b63f921d0d6fa12c0f022

3 years agoExtend interpolateAt* tests
Jari Komppa [Fri, 12 Nov 2021 08:43:38 +0000 (10:43 +0200)]
Extend interpolateAt* tests

These tests decorate input and then re-interpolate the values with their
corresponding functions, checking if the result is the same.

New tests:
dEQP-VK.pipeline.multisample_interpolation.reinterpolation_consistency.interpolate_at_centroid
dEQP-VK.pipeline.multisample_interpolation.reinterpolation_consistency.interpolate_at_sample

Components: Vulkan
VK-GL-CTS issue: 3271

Change-Id: I51cce91b076393c526df2a5d123c072e45354c6a

3 years agoAdd power of two checks for physical device limits
Jari Komppa [Fri, 12 Nov 2021 11:12:15 +0000 (13:12 +0200)]
Add power of two checks for physical device limits

This change adds power of two checks for the physical device limits
minTexelBufferOffsetAlignment, minUniformBufferOffsetAlignment,
minStorageBufferOffsetAlignment, nonCoherentAtomSize,
optimalBufferCopyOffsetAlignment and optimalBuffercopyRowPitchAlignment.

Affects:
dEQP-VK.info.device_properties

Components: Vulkan
VK-GL-CTS issue: 3291

Change-Id: I09fbf054262a351eca489f1bf66bf26f6aa177a6

3 years agoModify dual source blend tests to use discard
Jari Komppa [Sat, 13 Nov 2021 18:45:18 +0000 (20:45 +0200)]
Modify dual source blend tests to use discard

This change adds discard to the shaders when testing dual source blend
shading. The reference renderer does not support discard, so the
reference image is updated after rendering to cover for this.

Affects:
dEQP-VK.pipeline.blend.dual_source.*

Components: Vulkan
VK-GL-CTS issue: 3230

Change-Id: I06b9b7fb904bc2efbd5d8758a1c5ed5b5f76b4e5

3 years agoAdd fragment operations occlusion query tests
Juha Heiskanen [Tue, 2 Nov 2021 11:46:23 +0000 (13:46 +0200)]
Add fragment operations occlusion query tests

New occlusion query tests are covering scissored draws, depth and
stencil.

Components: Vulkan

VK-GL-CTS Issue: 3082

New tests: dEQP-VK.fragment_operations.occlusion_query.*

Change-Id: I64aa6788d163f88654977138c48209e8b1d82e59

3 years agoFix wrong conversion from shared pointer to int.
Mohd Faisal [Thu, 11 Nov 2021 11:34:09 +0000 (11:34 +0000)]
Fix wrong conversion from shared pointer to int.

Dereference the correct pointer to object and converting to int (flag)
via implicit converter.

Affects:

dEQP-VK.api.buffer_memory_requirements.*

Components: Vulkan

VK-GL-CTS issue: 3300

Change-Id: Id38991211b0dd65166dec3e75cf5f5f96309e1ff

3 years agoEnable anisotropic tests for mipmap images
Arkadiusz Sarwa [Mon, 15 Nov 2021 13:34:48 +0000 (14:34 +0100)]
Enable anisotropic tests for mipmap images

Affects:
dEQP-VK.texture.filtering_anisotropy.mipmap.*

Components: Vulkan

VK-GL-CTS issue: 3309

Change-Id: Ie6ac2604f757598d25c972f569c942850849ab58

3 years agoRemove invalid semaphore import/export tests
Jason Ekstrand [Fri, 12 Nov 2021 18:23:17 +0000 (12:23 -0600)]
Remove invalid semaphore import/export tests

VUID-VkSemaphoreGetFdInfoKHR-handleType-03253:

    If handleType refers to a handle type with copy payload transference
    semantics, semaphore must have been created with a VkSemaphoreType
    of VK_SEMAPHORE_TYPE_BINARY

These tests are explicitly testing semaphore FD export with
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD which has copy payload
transference semantics.  We need to throw out the timeline semaphore
version.

Component: Vulkan

Removes:
 - dEQP-VK.synchronization.cross_instance.*timeline_semaphore_fence_fd
 - dEQP-VK.synchronization2.cross_instance.*timeline_semaphore_fence_fd

Change-Id: I5dc5643c34cf9f06adf29545bcefcb5c577aaaef

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Matthew Netsch [Thu, 18 Nov 2021 23:23:49 +0000 (23:23 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I70424be31ee8dc38327b852c6d8dec9137f4294d

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Matthew Netsch [Thu, 18 Nov 2021 21:53:34 +0000 (21:53 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: Ib23ae3a63fd65ec4aae8385d92ffd09a114c32da

3 years agoFix glcPackedPixelsTests to properly account for skip images
Antto Mäkinen [Fri, 12 Nov 2021 11:45:46 +0000 (13:45 +0200)]
Fix glcPackedPixelsTests to properly account for skip images

RectangleTest::makeGradient in glcPackedPixelsTests does not
properly account for skip images. This commit prevents it
writing over the end of an array.

Affects:

KHR-GL33.packed_pixels.*

Components: OpenGL ES

VK-GL-CTS Issue: 3275

Change-Id: I9d8a47b59c000512926c3bfc85b6c6dc66eee213

3 years agoFix out-of-bounds stack read
Ari Suonpaa [Fri, 12 Nov 2021 05:08:39 +0000 (07:08 +0200)]
Fix out-of-bounds stack read

glBufferData was given a pointer to a C struct, but
a wrong struct type was used for sizeof.

VK-GL-CTS Issue: 3294

Affects:

KHR-GLES31.core.draw_indirect.negative-noV*arrays

Components: OpenGL
Change-Id: If02916683e0fee46b05dd4774b56f7fe335cc80f

3 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

3 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

3 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

3 years agoEnable the dEQP-GL45 package on Android
Daniel Koch [Tue, 16 Nov 2021 19:15:59 +0000 (14:15 -0500)]
Enable the dEQP-GL45 package on Android

When the AOSP ES tests were added to the GL 4.5 mustpass packages
they were only added for non-Android, resulting in an empty configuration
when run on Android.

Affects:

dEQP-GL45.*

Components: OpenGL
VK-GL-CTS issue: 3314

Change-Id: I62e72cb507bf74cf5e267f35ae5e754bd8f63656

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Matthew Netsch [Mon, 15 Nov 2021 05:35:37 +0000 (05:35 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master

Change-Id: I78d174cdb4ea046992e89937063efd024e3acf77

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Sat, 13 Nov 2021 16:04:04 +0000 (11:04 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I617b1cfb37d3287225a9813b09f15ef4668d613d

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Matthew Netsch [Sat, 13 Nov 2021 16:12:01 +0000 (16:12 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I86001493b5dcb4887476aa02b689d65e66e933fe

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Matthew Netsch [Sat, 13 Nov 2021 16:11:54 +0000 (16:11 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: If02f4572aca30dfa8de4f63dbe22873efb3c7e6b

3 years agoVarious methods passing of PhysicalStorageBuffer tests
michal_jakubek [Tue, 1 Jun 2021 11:17:21 +0000 (13:17 +0200)]
Various methods passing of PhysicalStorageBuffer tests

New tests:
dEQP-VK.spirv_assembly.instruction.compute.physical_storage_buffer.*

Components: Vulkan

VK-GL-CTS issue: 2759

Change-Id: I35ec137b31472a9798ade8653e75d83ab99d4413

3 years agoImprove coverage of MSAA copies
Vihanakangas [Wed, 10 Nov 2021 07:38:12 +0000 (09:38 +0200)]
Improve coverage of MSAA copies

This commit adds tests for copying without the
use of USAGE_COLOR_ATTACHMENT_BIT.

New tests:

dEQP-VK.api.copy_and_blit.*.resolve_image.whole_copy_before_resolving_no_cab.*

Affects:

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

Components: Vulkan

VK-GL-CTS issue: 3071

Change-Id: Ie6e41f812264ea70e9e86020d8d7be491ff4aea3

3 years agoFix Buffer Memory Requirements tests compilation errors
michal_jakubek [Sun, 7 Nov 2021 10:03:47 +0000 (11:03 +0100)]
Fix Buffer Memory Requirements tests compilation errors

Some older C ++ compilers incorrectly prioritize
initializer-list class constructors, especially
when these are nested in other initialization lists.

This fix solves the issue by explicitly forcing
the use of appropriate constructors.

Affects: dEQP-VK.api.buffer_memory_requirements.*

Components: Vulkan

VK-GL-CTS issue: 3284

Change-Id: I8e5c112fd04392284d76f301ebdbc93a7f358d9f

3 years agoMirror existing ANGLE waiver for Samsung devices
Ralph Potter [Tue, 9 Nov 2021 12:45:38 +0000 (12:45 +0000)]
Mirror existing ANGLE waiver for Samsung devices

Some Samsung devices utilize an extended ANGLE implementation, with
a Samsung vendor string.

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

Change-Id: I6e49ae571ee38ea8dace36103f9d62055151b520

3 years agoSupport FP16 CPU Rendering
liruoyu [Fri, 25 Jun 2021 05:54:00 +0000 (13:54 +0800)]
Support FP16 CPU Rendering

1. Support float16 reference sample result.
2. Support rounding to zero when convert float.
3. Use zero rounding mode when interpolation in fp16 mode.

Affects:
dEQP-GLES3.functional.texture.wrap.astc/eac/etc1/etc2*

Components: OpenGL

VK-GL-CTS issue: 2977

Change-Id: I68b023d42b3f633331c2bb565097e829168215d8

3 years agoAvoid OOB params access in call log wrapper
Mika Väinölä [Thu, 4 Nov 2021 13:52:05 +0000 (15:52 +0200)]
Avoid OOB params access in call log wrapper

Some negative coverage tests call glTexParameter*v and
glGetSamplerParameter*v with GL_TEXTURE_BORDER_COLOR and a pointer to
a single GLint, GLuint or GLfloat. The call log wrapper functions
attempt to log all four parameters expected for the pname and we get
OOB access for params. Avoid this by using arrays of four instead of
single values for params.

Affects:
dEQP-GLES31.functional.debug.negative_coverage.*.texture.texparameter*
dEQP-GLES31.functional.debug.negative_coverage.*.shader.get_sampler_parameter*
dEQP-GLES31.functional.debug.error_filters.case_11
dEQP-GLES31.functional.debug.error_filters.case_18
dEQP-GLES31.functional.debug.error_filters.case_22
dEQP-GLES31.functional.debug.error_groups.case_11

Components: OpenGL

VK-GL-CTS issue: 3273

Change-Id: If244a008c9cfcc6cc443e8d5475f6ce4add1c838

3 years agoFix array iteration range
Jari Komppa [Thu, 4 Nov 2021 11:25:30 +0000 (13:25 +0200)]
Fix array iteration range

The function getCompressedTexSubImage2DFormat was using function
parameter to loop through an array defined inside the function, while
these two were unrelated. The result may either not loop through the
whole array or go past the end of the array.

Affects:
dEQP-GLES2.functional.negative_api.texture.compressedtexsubimage2d_*

Components: OpenGL
VK-GL-CTS issue: 3272

Change-Id: Ie88d9330e03f56b7afe858bf51e9bf0fa41e4822

3 years agoFix source data size in SSBO array length tests
Mika Väinölä [Fri, 5 Nov 2021 11:28:04 +0000 (13:28 +0200)]
Fix source data size in SSBO array length tests

The tests were calling glBufferData with a pointer to a single
deUint32 and a size of 2 * sizeof(deUint32). Change invalidData to
an array of two deUint32s.

Affects: dEQP-GLES31.functional.ssbo.array_length.*

Components: OpenGL

VK-GL-CTS issue: 3274

Change-Id: Id318c6541bbd8b61eec6d2ca460a3404c5c887e8

3 years agoRemove few EGL robustness tests
Brandon Schade [Tue, 28 Sep 2021 19:28:20 +0000 (12:28 -0700)]
Remove few EGL robustness tests

Components: EGL

Affects:
dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.*

VK-GL-CTS issue: 257

Change-Id: I9edb2e577fb14b98d83bb16dc31188d3a901606d

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 12 Nov 2021 21:40:26 +0000 (21:40 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I933b783b229d5d0545f1fc58ac01f5302625f81d

3 years agoPortability: avoid triangle fans
Piotr Byszewski [Wed, 3 Nov 2021 15:30:14 +0000 (16:30 +0100)]
Portability: avoid triangle fans

When the test itself has nothing to do with triangle fans,
just uses them to perform rendering then use triangle strips
instead so that tests also work for portability.

Components: Vulkan

VK-GL-CTS issue: 3266

Affects:
dEQP-VK.pipeline.push_constant.graphics_pipeline.overwrite
dEQP-VK.pipeline.extended_dynamic_state.*
dEQP-VK.pipeline.bind_point.graphics_compute.write_write.*

Change-Id: Iefa4f70d626584e71fc4fd341cccc15023a40d2d

3 years agoAdd yuv420 format to EGL AHB tests
Alex Lan [Fri, 20 Aug 2021 10:47:25 +0000 (18:47 +0800)]
Add yuv420 format to EGL AHB tests

Create an external texture with Y8Cb8Cr8_420 buffer format,
Initialize it with glClear, and sample it.

The test's behavior is like this:
1,initialize the external yuv texture with glClear
2,using glReadPixels to store the initial value in reference
3,sample this yuv texture
4,compare the rendering result with reference

New test:
dEQP-EGL.functional.image.create.gles3_android_native_yuv420_yuv_texture

Components: EGL, Framework

Change-Id: Ie4535505ea0d8d384794df77afa6583fe99fb1e2

3 years agoSkip negative vkCreateBuffer(size_max_uint64) test for maint4
Piers Daniell [Thu, 28 Oct 2021 16:46:40 +0000 (10:46 -0600)]
Skip negative vkCreateBuffer(size_max_uint64) test for maint4

With VK_KHR_maintenance4 it become invalid usage to call vkCreateBuffer
with a size larger than VkPhysicalDeviceMaintenance4Properties.maxBufferSize.
The dEQP-VK.api.buffer.basic.size_max_uint64 did just this even on maint4
implementation, which is invalid usage.

This CL marks this test as unsupported for implementations that support
VK_KHR_maintenance4.

Affects:

dEQP-VK.api.buffer.basic.*

Components: Vulkan

VK-GL-CTS issue: 3238

Change-Id: I4754c3af4ef253e50226a31a466bfe5772e65652
(cherry picked from commit f92d3e5a35afcf9c2f9226b81d5be54d10944819)

3 years agoFix fma precision tests for Open GL 4.5
Tapani Pälli [Fri, 8 Oct 2021 12:18:03 +0000 (15:18 +0300)]
Fix fma precision tests for Open GL 4.5

Affects:
dEQP-GL45.functional.shaders.builtin_functions.precision.fma.*

Components: AOSP
VK-GL-CTS issue: 3194

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

3 years agoFix sRGB cases in framebuffer_fetch tests for OpenGL 4.5
Tapani Pälli [Mon, 11 Oct 2021 06:08:02 +0000 (09:08 +0300)]
Fix sRGB cases in framebuffer_fetch tests for OpenGL 4.5

Affects:
dEQP-GL45.functional.shaders.framebuffer_fetch.framebuffer_format.srgb8_alpha8

Components: OpenGL
VK-GL-CTS issue: 3202

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

3 years agoFix tessellation cases using precise qualifier for OpenGL 4.5
Tapani Pälli [Mon, 11 Oct 2021 09:36:19 +0000 (12:36 +0300)]
Fix tessellation cases using precise qualifier for OpenGL 4.5

Affects:
dEQP-GL45.functional.tessellation.common_edge.*precise

Components: OpenGL
VK-GL-CTS issue: 3203

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

3 years agoFix error logs in ssbo/image load store tests
Laurie Hedge [Thu, 21 Oct 2021 15:59:58 +0000 (16:59 +0100)]
Fix error logs in ssbo/image load store tests

SSBO tests that failed were logging first colour instead of the colour
that mismatched.

Image load/store tests that failed were missing a closing parenthesis.

Affects:

KHR-GLES31.core.shader_image_load_store.*
KHR-GLES31.core.shader_storage_buffer_object.*

Components: OpenGL

VK-GL-CTS issue: 3241

Change-Id: I0231dd9eb78c9bba60a89e93a91303374ec1ac83

3 years agoAdd coverage for sampling compressed cubemaps that has been written
Antto Mäkinen [Mon, 16 Aug 2021 06:51:31 +0000 (09:51 +0300)]
Add coverage for sampling compressed cubemaps that has been written
to by a compute shader

This commit adds new test cases to the compressed texture sampling test
to ensure that sampling compressed cubemaps works properly.

VK-GL-CTS issue: 3088

New Tests:
dEQP-VK.image.sample_texture.128_bit_compressed_format_cubemap
dEQP-VK.image.sample_texture.64_bit_compressed_format_cubemap
dEQP-VK.image.sample_texture.64_bit_compressed_format_two_samplers_cubemap
dEQP-VK.image.sample_texture.128_bit_compressed_format_two_samplers_cubemap

Components: Vulkan
Change-Id: I26724a21b03755693e45b99c8a794a9551a66e60

3 years agoImprove coverage of MSAA copies
Vihanakangas [Wed, 13 Oct 2021 12:10:41 +0000 (15:10 +0300)]
Improve coverage of MSAA copies

This commit adds tests for copying with separate layers
along with tests for copying multiple regions.

New tests:

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

Affects:

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

Components: Vulkan

VK-GL-CTS issue: 3071

Change-Id: I4889383314125516a951c6034b95425d806e25fc

3 years agoExtract findLSB() and findMSB() to a separate helper file.
michal_jakubek [Fri, 22 Oct 2021 07:59:25 +0000 (09:59 +0200)]
Extract findLSB() and findMSB() to a separate helper file.

Components: Framework

VK-GL-CTS issue: 2769

Change-Id: I00845d2df592e715648e32404c0963b3a2cddaeb

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Matthew Netsch [Sat, 6 Nov 2021 15:37:34 +0000 (11:37 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master

Change-Id: Ieb6a351e3c18ae8908db0735783c0540748ef235

3 years agoRemove unused tests from mustpass
Matthew Netsch [Fri, 5 Nov 2021 23:47:42 +0000 (19:47 -0400)]
Remove unused tests from mustpass

Tests were renamed and are included
in other mustpass files, this cleans up
the old references

Components: Vulkan

Affects:
dEQP-VK.*-with-dynamic-rendering.*

Change-Id: I2b3775aba51478eafd93cfe93db53b9dd47307d5

3 years agoMerge vk-gl-cts/dev/VK_KHR_dynamic_rendering into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 5 Nov 2021 23:05:51 +0000 (19:05 -0400)]
Merge vk-gl-cts/dev/VK_KHR_dynamic_rendering into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: I2b3463e1006c13221698a6fbdc8a26839ed3cb9e

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/dev/VK_KHR_dynamic_rendering
Matthew Netsch [Fri, 5 Nov 2021 23:03:54 +0000 (19:03 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/dev/VK_KHR_dynamic_rendering

Change-Id: Ica7c90f88986488142bc7c2b3e9b892b8104b7a1

3 years agoRename dynamic_rendering tests
Piotr Byszewski [Wed, 27 Oct 2021 13:06:38 +0000 (15:06 +0200)]
Rename dynamic_rendering tests

Three top level groups containing *_with_dynamic_rendering,
were moved one level down. Additionaly tests from
vktDynamicRenderingTests.hpp were moved to renderpass module.

Components: Vulkan

VK-GL-CTS Issue: 3248

Affects:
dEQP-VK.draw.*
dEQP-VK.dynamic_rendering.*
dEQP-VK.fragment_shading_rate.*

Change-Id: Iba32b7c011ce33c4c8cb52f2ed7e659096db32f8

3 years agoAdd tests for VK_NV_mesh_shader
Ricardo Garcia [Thu, 28 Oct 2021 13:36:36 +0000 (15:36 +0200)]
Add tests for VK_NV_mesh_shader

Tests that verify multiple aspects of mesh shader pipelines work as
expected. This includes:

* Some basic smoke tests.
* API tests to check the new draw calls and different rules about them.
* Synchronization tests.
* Test a wide range of affected built-in variables.
* Miscellaneous tests:
  * Producing small and large amounts of different types of primitives.
  * Barriers.
  * Push constants.
  * Custom per-primitive attributes.
  * Complex structures in the task->mesh interface.

New tests:
dEQP-VK.mesh_shader.nv.*

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

Change-Id: I510296e4da326a2f0a3891d55a1116848d874c3f

3 years agoFix invocation count verification
James Fitzpatrick [Wed, 3 Nov 2021 14:31:50 +0000 (14:31 +0000)]
Fix invocation count verification

The shaders in these tests track the number of invocations executed and
verify that against the expected number of invocations for the test.

The spec only guarentees that each fragment is executed at least once.
So an implementation is free to execute each fragment multiple times
if required (for example, an implementation might required a shader to
be run at sample rate).

Change this verification to only check against the minmum number of
invocations.

Affects: dEQP-VK.fragment_operations.early_fragment.samplemask_*

Components: Vulkan

VK-GL-CTS issue: 3278

Change-Id: I93f1aa42dd6a13486bed044e361671e5a2f2cb07
(cherry picked from commit 72cf9dc888972c4dc8ed95358f0f56c6a40e072e)

3 years agoAllow Vulkan CTS 1.2.8.0
Matthew Netsch [Fri, 5 Nov 2021 14:25:23 +0000 (10:25 -0400)]
Allow Vulkan CTS 1.2.8.0

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: Ie10d15a1a049584f0aac2362aeac6a64fe47b2fa

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 5 Nov 2021 14:57:55 +0000 (10:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Ieb86d43e6e02616c6ed2153b40dcb1256be30dd6

3 years agoFix image transition in dynamic rendering tests
Charles Johnston [Tue, 26 Oct 2021 14:51:09 +0000 (10:51 -0400)]
Fix image transition in dynamic rendering tests

The images need to be translated out of undefined layout,
before using them for dynamic rendering.

VK-GL-CTS issue: 3260

Components: Vulkan

Affects:
dEQP-VK.draw_with_dynamic_rendering.multiple_interpolation.*

Change-Id: I5cd1162683f77923a273bf774456cfb22b67b7c9

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 5 Nov 2021 15:33:20 +0000 (11:33 -0400)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I53b0729610bd0ea14cdfc58779aa3b834df8d6f8

3 years agoPrevent RT tests from going over VkPhysicalDeviceVulkan11Properties::maxMemoryAllocat...
Lionel Landwerlin [Wed, 6 Oct 2021 14:45:53 +0000 (17:45 +0300)]
Prevent RT tests from going over VkPhysicalDeviceVulkan11Properties::maxMemoryAllocationSize

VK-GL-CTS issue: 3064
Component: Vulkan

Affects:
dEQP-VK.ray_tracing_pipeline.misc.max*

Change-Id: Ia42f5530206eeeb94fa634ad84a213c2db558946

3 years agoPause XFB during pipeline switch
Mika Väinölä [Thu, 21 Oct 2021 07:46:33 +0000 (10:46 +0300)]
Pause XFB during pipeline switch

The per pipeline provoking vertex tests call vkCmdBindPipeline while
transform feedback is active which is not allowed.

Affects:
dEQP-VK.rasterization.provoking_vertex.*

Components: Vulkan

VK-GL-CTS issue: 3207

Change-Id: I30edf010179ff9629fc90053f14d228d828551a2

3 years agoMake dynamic rendering tests match non-dynamic
Piotr Byszewski [Thu, 28 Oct 2021 12:15:35 +0000 (14:15 +0200)]
Make dynamic rendering tests match non-dynamic

Cases for attachment tests are randomly generated. When
those tests were ported to dynamic rendering they were
using a slightly different generation algorithm and this
resulted in dynamic rendering not matching renderpass
tests that had the same name.
With this change tests for dynamic rendering use
same configuration but some of those configurations
that won't add coverage are skipped.

Components: Vulkan

VK-GL-CTS issue: 3179

Affects:
dEQP-VK.renderpass.*.attachment.*
dEQP-VK.renderpass_with_dynamic_rendering.*.attachment.*

Change-Id: Id386f7dd56682ff4a54e0f9816c1752ac2fc12cd

3 years agoRemove dynamic rendering multiview tests
Piers Daniell [Thu, 28 Oct 2021 21:14:21 +0000 (15:14 -0600)]
Remove dynamic rendering multiview tests

These WIP tests don't work right now and need to be disabled,
which mirrors what was done in the vulkan-cts-1.3.0 branch.

A follow on CL will reenable them and fix them.

Affects:

dEQP-VK.draw_with_dynamic_rendering.multi_draw.*

Components: Vulkan

VK-GL-CTS Issue: 3251

Change-Id: Ib99c09d326706fadeeec962e241152bf20bf977c

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Matthew Netsch [Fri, 5 Nov 2021 14:04:48 +0000 (10:04 -0400)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: Ifa75c860ad2c39661494aeb086255a97672e72b0

3 years agoGCC 11 build fixes for opengl-es-cts
Tapani Pälli [Tue, 26 Oct 2021 11:12:16 +0000 (14:12 +0300)]
GCC 11 build fixes for opengl-es-cts

Add missing limits header to misc files to fix compilation.

+ changes to fix following compilation warnings:

"warning: expression does not compute the number of elements in this array;
element type is ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’},
not ‘std::string [15]’ {aka ‘std::__cxx11::basic_string<char> [15]’}
[-Wsizeof-array-div]"

"warning: loop variable ‘ext’ creates a copy from type
‘const std::__cxx11::basic_string<char>’ [-Wrange-loop-construct]"

"warning: comparison of unsigned expression in ‘>= 0’ is always true
[-Wtype-limits]"

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

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

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 5 Nov 2021 13:59:25 +0000 (09:59 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I81ba38a964a81a6266d2a6286cf60a42ed027885

3 years agoPortability: handle robustBufferAccess
Piotr Byszewski [Tue, 2 Nov 2021 11:13:32 +0000 (12:13 +0100)]
Portability: handle robustBufferAccess

When the VK_KHR_portability_subset extension is advertised,
robustBufferAccess is no longer a required feature.

Components: Vulkan

VK-GL-CTS issue: 3267

Affets:
dEQP-VK.robustness.*

Change-Id: I957da2a36c40662c99c0b01774a8bf03ef3f3890

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

Change-Id: I53d429b0dfc4a62a33949748ef4ce0a804f71814

3 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

3 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

3 years agoAllow Vulkan CTS 1.2.7.2
Matthew Netsch [Mon, 1 Nov 2021 14:56:44 +0000 (10:56 -0400)]
Allow Vulkan CTS 1.2.7.2

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: I6075a82eab8f347ef5b9523a10d6e6621163bfbc

3 years agoAdd compute test with zero dispatch size
Ricardo Garcia [Wed, 20 Oct 2021 07:55:51 +0000 (09:55 +0200)]
Add compute test with zero dispatch size

Add a few tests that check vkCmdDispatch works properly even if one of
the sizes is zero.

New tests:
dEQP-VK.compute.basic.empty_workgroup_*

Components: Vulkan
VK-GL-CTS issue: 3183

Change-Id: I689469e3d0bd87a3fd92616e5ef482009e3461dd

3 years agoTest contradictory parameters on swapchain creation
Ricardo Garcia [Tue, 26 Oct 2021 11:30:52 +0000 (13:30 +0200)]
Test contradictory parameters on swapchain creation

This commit adds new tests that check the implementation properly
ignores queueFamilyIndexCount and pQueueFamilyIndices on swapchain
creation when imageSharingMode is set to VK_SHARING_MODE_EXCLUSIVE, by
providing a null pointer in pQueueFamilyIndices and a nonzero
queueFamilyIndexCount.

In addition, swapchain creation tests using VK_SHARING_MODE_EXCLUSIVE
will no longer pass 1 in queueFamilyIndexCount and a list of
surface-compatible queues in pQueueFamilyIndices, setting
queueFamilyIndexCount to 0 and passing a null pointer instead.

Finally, the commit adds de::arrayLength as a more modern and constexpr
way of obtaining the size of statically-sized arrays, similar to
DE_LENGTH_OF_ARRAY, which can be used with static_assert.

New tests:
dEQP-VK.*exclusive_nonzero_queues

Affected tests:
dEQP-VK.*.swapchain.create.*

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

Change-Id: I631aba22ac18d1fe6a2fcc8bf41890b2e8a2cc91

3 years agoRevert "Exclude cov-function-with-nested-loops-called-from-nested-loops"
Paul Thomson [Tue, 28 Sep 2021 09:36:00 +0000 (10:36 +0100)]
Revert "Exclude cov-function-with-nested-loops-called-from-nested-loops"

This reverts commit b0c3e7ba7d99a3e9e2052a498569cea0721dfb09.

Components: Vulkan

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

VK-GL-CTS Issue: 3171

Change-Id: I590db29c6d57b68bd76478140fef798ea6127f91

3 years agoAdd buffer feature check for depth/stencil formats
Juha Heiskanen [Tue, 26 Oct 2021 05:09:27 +0000 (08:09 +0300)]
Add buffer feature check for depth/stencil formats

Tests that check the drivers are not exposing undesired format
features for depth/stencil formats.

Components: Vulkan

VK-GL-CTS Issue: 3155

New tests: dEQP-VK.api.buffer.invalid_buffer_features.*

Change-Id: I7cc72f19ff58899e087ee0365780a5a0f50b3a47

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master
Matthew Netsch [Fri, 29 Oct 2021 17:57:43 +0000 (13:57 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/master

Change-Id: I1fcf5038213aacef0a7fe7c1d3e4cc5e04e80e64

3 years agoFix memory requirements tests for sparse images
Piotr Byszewski [Fri, 22 Oct 2021 11:42:25 +0000 (13:42 +0200)]
Fix memory requirements tests for sparse images

When memory requirements tests are executed for sparse images
we need to check sparse image format properties first.

VK-GL-CTS issue: 3201

Components: Vulkan

Affects:
dEQP-VK.memory.requirements.*.image.sparse*

Change-Id: I058d6dd6c4eeabce89c3f6835fbc16e4386712d5

3 years agoFix image requirements according to its usage
michal_jakubek [Mon, 25 Oct 2021 07:39:15 +0000 (09:39 +0200)]
Fix image requirements according to its usage

VK-GL-CTS issue: 3090

Components: Vulkan

Affects:
dEQP-VK.sparse_resources.shader_intrinsics.*

Change-Id: If6c8e55be75fd3a9a170c7d0d413dc658d40adfa

3 years agoInitialise new member of ImageTestParams struct
Graeme Leese [Fri, 22 Oct 2021 10:19:48 +0000 (11:19 +0100)]
Initialise new member of ImageTestParams struct

This doesn't appear to be used in the tests, but without this it
generates compiler warnings on some of our platforms.

Components: Vulkan
VK-GL-CTS issue: 3240
Affects: dEQP-VK.memory.requirements.*

Change-Id: I5c4dfd0443f0f318d45e89ae22d5103a1dae198e

3 years agoEnsure the vertex shader matches the vertex input definition
Piers Daniell [Wed, 15 Sep 2021 13:41:49 +0000 (15:41 +0200)]
Ensure the vertex shader matches the vertex input definition

When doing the "reversed" variants of the extended dynamic
state tests, the vertex input attribute and binding information
was reversed, but the vertex shaders were not. The meant that
in some tests the vertex shader may try to fetch from unbound
or undefined vertex attributes or vertex attribute data.

This commit fixes the issue by swapping vertex shaders for the
affected variants.

Affects:
dEQP-VK.pipeline.extended_dynamic_state.*

Components: Vulkan
VK-GL-CTS issue: 3111

Change-Id: I7d9abbe7dab0b44127f6b194ee5da79755f7658c
Co-authored-by: Ricardo Garcia <rgarcia@igalia.com>
(cherry picked from commit aebbea7b29507dfb24fb204697671ad7b4ac4fc1)

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 29 Oct 2021 15:48:02 +0000 (11:48 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Ib53ac9424d4263b3114e46c532f28b55f522cf2c

3 years agoUpdate SPIRV-Headers
Paul Thomson [Mon, 25 Oct 2021 18:41:00 +0000 (19:41 +0100)]
Update SPIRV-Headers

The SPIRV-Headers version for vulkan-cts-1.2.6 was ahead of 1.2.7. This
change brings SPIRV-Headers in 1.2.7 up to the same version.

Components: Vulkan
Change-Id: Ifff93c5251183d3a6ee3ef3f508e88274332116f

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 29 Oct 2021 14:41:15 +0000 (10:41 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I7535fbad6813c7a6dfec1324a2656329de792ebe