platform/upstream/VK-GL-CTS.git
2 years agoFix stencil layout transitions in samplemask tests
Jari Komppa [Wed, 1 Dec 2021 15:00:14 +0000 (17:00 +0200)]
Fix stencil layout transitions in samplemask tests

This change fixes the validation layer errors for the _samplemask cases.

affects:
dEQP-VK.renderpass2.depth_stencil_resolve.*_samplemask

Components: Vulkan
VK-GL-CTS issue: 3362

Change-Id: I0e1d9a44c3ed127fbde3765725243fae722ad938

2 years agoFix RGBA10x6 feature check
Vidar Lilleboe [Tue, 30 Nov 2021 13:31:36 +0000 (14:31 +0100)]
Fix RGBA10x6 feature check

Verify that the extension is available before quering for support.

Affects:
dEQP-VK.api.info.format_properties.r10x6g10x6b10x6a10x6_unorm_4pack16

Components: Vulkan
VK-GL-CTS issue: 3370

Change-Id: Ib8cbbbe1f8c36b5022de1c04e623d49f5fb2b4c4

2 years agoRename some waived tests for dynamic rendering
Graeme Leese [Tue, 4 Jan 2022 14:20:13 +0000 (14:20 +0000)]
Rename some waived tests for dynamic rendering

These tests were renamed in commit 90835b7 "Rename dynamic_rendering
tests", but the waivers file was not updated. (The Android waiver file
was updated, so is not changed here).

Component: Vulkan
VK-GL-CTS issue: 757

Change-Id: I0beae9cd0e6b4e33e8c8f717b0eae44797104844

2 years agoFix barrier for initializing resolve attachment image to use proper level
Sławomir Cygan [Thu, 9 Dec 2021 15:50:53 +0000 (16:50 +0100)]
Fix barrier for initializing resolve attachment image to use proper level

This changes the level in the barrier to match level used by image view
used as resolve attachment in renderpass.

VK-GL-CTS Issue: 3407

Components: Vulkan

Change-Id: I500dfdbf15c4b7cd9943d3b063122107e1890688
Affects: dEQP-VK.dynamic_rendering.*.multisample_resolve.*_resolve_level_*

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 7 Jan 2022 19:26:26 +0000 (14:26 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Ib63fd21efc3a2a3e4896a212d51e3ab1f12e56d4

2 years agoChecked .inl files back into the repo
Piotr Byszewski [Mon, 13 Dec 2021 14:08:09 +0000 (15:08 +0100)]
Checked .inl files back into the repo

By default .inl files won't be generated at build time but
this functionality is still present and to activate it
value of DEQP_VULKAN_INL_GEN_OUTPUTS_DIR should be changed
to point to PROJECT_BINARY_DIR.

VK-GL-CTS issue: 3197

Components: Framework, Vulkan

Affects:
dEQP-VK.*

Change-Id: I6ba5932aa51740048c8dcc0c0222e8f7553ac4b3

2 years agoPass force to fetch_sources
Piotr Byszewski [Fri, 10 Dec 2021 12:32:27 +0000 (13:32 +0100)]
Pass force to fetch_sources

Switching vulkan-docs folders between gitlab and github branches
results in errors on the server (clobbering the tags). Using
fetch sources with --force param resolves the issue.

Components: Vulkan

VK-GL-CTS issue: 3197

Change-Id: I913d5803836e9f7a59494e5ebf6e6261ede52948

2 years agoFix strided device address regions in RT misc tests
Ricardo Garcia [Thu, 11 Nov 2021 17:18:38 +0000 (18:18 +0100)]
Fix strided device address regions in RT misc tests

Some strided device address regions in ray tracing misc tests were being
created with the wrong size, not taking into account some tests were
storing several shader group handles in the binding tables.

In addition, this commit also fixes several validation errors in these
tests, related to bad sizes when flusing allocations and unaligned
strides in strided device address regions, which needed to be rounded
up.

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

Components: Vulkan
VK-GL-CTS issue: 3280

Change-Id: I7d20c347ff44b455547115d1a6b94c5d69a46c2c

2 years agoFix ray tracing closedFan2 tests
Ricardo Garcia [Tue, 9 Nov 2021 16:26:37 +0000 (17:26 +0100)]
Fix ray tracing closedFan2 tests

The watertightness tests for ray tracing include a closedFan2 variant
that had several issues.

These tests create a circle made of a variable number of triangles, all
of them sharing a central vertex and all of them sharing two edges with
neighboring triangles.

With that composition, closedFan2 variants created one geometry, BLAS
and instance per triangle, and tried to verify certain rules regarding
closed fans and watertightness. This had several problems:

- By having each triangle belong to a different instance, the set up
  does not meet the requirements for watertight geometry as laid out in
  the spec.

- Ray tracing shaders were increasing atomic counters, indexing them per
  ray and primitive id, in the any-hit shader. If a counter was
  increased more than once, this was considered a failure. However, in
  the closedFan2 variants all triangles have primitive id zero due to
  all of them belonging to different geometries. If a ray was found to
  hit two geometries/BLAS, it would result in a failure because the same
  counter would be increased twice, but that result is legal according
  to the spec.

This commit fixes closedFan2 tests by addressing both issues:

- The tests now create one geometry per triangle, but groups all
  geometries in a single BLAS and instance, meeting the spec
  requirements regarding closed fans.

- When increasing atomic counters, they are indexed per ray and per
  geometry index, so it is illegal to hit the same geometry twice with
  the same ray, following the rules of
  VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR, but they allow
  the same ray to hit two triangles (geometries) as the spec allows.

In addition, it also removes some dead code and fixes angle calculation
so they fall in the [-pi, pi] range.

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

Components: Vulkan
VK-GL-CTS issue: 3150

Change-Id: I430be3a1830592d37b75031b8506a194c862a0d7

2 years agoReduce framebuffer size of dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontempor...
Jörg Wagner [Mon, 6 Dec 2021 08:57:51 +0000 (09:57 +0100)]
Reduce framebuffer size of dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontemporal-store

Reduce the size to 32x16 to avoid avoid timeouts on low-end platforms.
This shouldn't affect the ability to find compiler bugs because the
shader itself is the same.

Affects: dEQP-VK.graphicsfuzz.spv-stable-pillars-volatile-nontemporal-store

Components: Vulkan

VK-GL-CTS Issue: 3411

Change-Id: If4fac83d04723ab16e987a2f7d1495bf1a8f055f

2 years agoFix validation errors in renderpass tests
Ilkka Saarelainen [Fri, 17 Dec 2021 05:36:16 +0000 (07:36 +0200)]
Fix validation errors in renderpass tests

This CL fixes the validation errors in some of the renderpass
tests. The tests incorrectly defined subpass dependency access
scopes for depth/stencil attachments in some cases.

Affects:

dEQP-VK.renderpass*.attachment_allocation.*

Components: Vulkan

VK-GL-CTS Issue: 3385

Change-Id: Ia9cc78bd28dde5b9cdbf4e28ba759e3bde44a9d0

2 years agoPick correct memoryTypeIndex for AHB
Shih-Hsin Li [Wed, 24 Nov 2021 00:32:38 +0000 (16:32 -0800)]
Pick correct memoryTypeIndex for AHB

Pick the right memoryTypeIndex for protected allocations so that
protected memory is allocated when createFlag has protected bit
set. This fixed some bindImageMemory failure caused by binding
non-protected memory in testAndroidHardwareBufferImageFormat.

Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

Components: Vulkan
Change-Id: Ib50a97d248930b6cc6538d1c7b84e84cddfde40e

2 years agoAllow rounding error when reading back Z buffer
Iago Toral Quiroga [Mon, 22 Nov 2021 07:29:50 +0000 (08:29 +0100)]
Allow rounding error when reading back Z buffer

The early fragment test produces Z values <= 0.5 and uses a shader
to write 0.75 that it expects to be ignored due to early fragment
tests, which it verifies by reading back the Z buffer and testing
that all values are <= 0.5.

On our platform, we observe that on storing 0.5 we retrieve
0.500008, which makes us fail the test incorrectly. Fix this
by adding a small room for rounding error, like we do for
other verification paths in these tests.

While we are doing this, lower the tolerance admited for
the late fragment test case as well.

Components: Vulkan
VK-GL-CTS Issue: 3340
Affects:
dEQP-VK.fragment_operations.early_fragment.discard_early_fragment_tests_depth
dEQP-VK.fragment_operations.early_fragment.discard_no_early_fragment_tests_depth

Change-Id: I8e1782b81d0e74a4a5af3e3cac40c9679f543ac6

2 years agoFix amber vs cts device feature requirements
Jari Komppa [Mon, 15 Nov 2021 08:25:36 +0000 (10:25 +0200)]
Fix amber vs cts device feature requirements

This change unifies the device requirements between cts and amber for
the affected tests.

Affects:
dEQP-VK.glsl.builtin.precision_fp16_storage16b.*

Components: Vulkan
VK-GL-CTS issue: 3304

Change-Id: I93f840751b40d145f89f847612e36733a18ac971

2 years agoFix extended_dynamic_state tests
Piotr Byszewski [Mon, 22 Nov 2021 14:38:35 +0000 (15:38 +0100)]
Fix extended_dynamic_state tests

On vulkan-cts-1.2.8 branch extended_dynamic_state tests were
extended compared to the same group but in vulkan-cts-1.2.6 branch
(new tests were added). After updates to vulkan-cts-1.2.6 were
merged back to vulkan-cts-1.2.8 some of those new tests started
to fail as they did not have required changes.
This change makes sure that triangle strips are used in
the new tests to.

Components: Vulkan

VK-GL-CTS issue: 3327

Affects:
dEQP-VK.pipeline.extended_dynamic_state.*

Change-Id: I4fc19e40f6938d39be4428e8d9d98db4a74c0a5d

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts-1.2.7
Matthew Netsch [Fri, 7 Jan 2022 17:55:19 +0000 (12:55 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts-1.2.7

Change-Id: I05420f73334f6aee2729ea2e8f76a079de896617

2 years agoUpdate kc-cts version
Piotr Byszewski [Wed, 8 Dec 2021 16:07:35 +0000 (17:07 +0100)]
Update kc-cts version

Version of kc-cts was updated to include fix for inl dependency.

Components: OpenGL

VK-GL-CTS issue: 3400

Change-Id: Ic28275604849506de4139c0bbda20278a2431ca1

2 years agoCreate command pool with command buffer reset in RT tests
Mohankumar Nekkarakalaya [Tue, 9 Nov 2021 17:56:08 +0000 (09:56 -0800)]
Create command pool with command buffer reset in RT tests

-When command pool was created either command buffer reset
 bit should have been set or command buffer should have
 reset pool before using for VU.
-Fix is to create command pool with reset bit set.

Components: Vulkan

VK-GL-CTS Issue: 3288

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

Change-Id: Ie21926cd53c505e46da0d03a6082e689d45d5d2a

2 years agoSuppress GCC 11 conversion warning
Mika Väinölä [Tue, 30 Nov 2021 11:13:52 +0000 (13:13 +0200)]
Suppress GCC 11 conversion warning

On GCC 11 with UBSan enabled deHalfIsIEEENaN produces warnings due to
right shift promoting the result of an expression to an int, which is
then assigned to a deUint16.

Components: Framework

VK-GL-CTS issue: 3371

Change-Id: I48526b61ead69ee14b3253fa29737499253e62bc

2 years agoFix allocation of system memory.
Arkadiusz Sarwa [Wed, 17 Nov 2021 15:43:24 +0000 (16:43 +0100)]
Fix allocation of system memory.

Allocation of system memory which have been used as reference data can fail.

VK-GL-CTS issue: 3319
Components: Vulkan

Affects:
dEQP-VK.reconvergence.*

Change-Id: Icf9e6a2ad15912109aee2b6ea693a17650579087

2 years agoGenerate inl files at build time
Piotr Byszewski [Wed, 13 Oct 2021 12:17:14 +0000 (14:17 +0200)]
Generate inl files at build time

Inl files are no longer checked into the repo instead they are
generation at build time.

VK-GL-CTS issue: 3197

Components: Framework, Vulkan

Affects:
dEQP-VK.*

Change-Id: I526ed3d8dc8cc54860e44937a5048e499248a3c6

2 years agoAdd Vulkan-Docs to fetch sources
Piotr Byszewski [Tue, 19 Oct 2021 09:19:58 +0000 (11:19 +0200)]
Add Vulkan-Docs to fetch sources

Header files that are used to generate inl files are no longer
checked into the repo. Headers are now generated in Vulkan-Docs
which are now fetched from the gitlab. Generation is done
by gen_framework.py.

VK-GL-CTS issue: 3197

Components: Framework, Vulkan

Affects:
dEQP-VK.*

Change-Id: I4291848910b03180d4dc5514f8d8e5943c36e9b2

2 years agoMirror ANGLE Khronos waiver for Android
Paul Thomson [Mon, 20 Dec 2021 12:39:21 +0000 (12:39 +0000)]
Mirror ANGLE Khronos waiver for Android

Components: Android
VK-GL-CTS issue: 3255

Excluded:

dEQP-GLES3.functional.transform_feedback.array_element.*
dEQP-GLES3.functional.transform_feedback.random.*
dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.*_array_element
dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.*.array.*

Change-Id: I670c1e71d60dced06229520bca6244e87fa4ea1a

2 years agoFix requirements tests for multiplane images
James Fitzpatrick [Wed, 8 Dec 2021 12:17:29 +0000 (12:17 +0000)]
Fix requirements tests for multiplane images

The memory requirements tests for multiplane images would previously
assume that bits were not sparsely set in memoryTypeBits.

This could lead to the tests assuming that an implementation was
returning a lazily allocated memory type for an image without
transient attachment set.

Affects: dEQP-VK.memory.requirements.*multiplane_image*

Components: Vulkan

VK-GL-CTS issue: 3405

Change-Id: Ic1e56d7412ac413da907059c79b3f7064b3c664b

2 years agoReduce framebuffer size of spv-stable-pillars-O-op-select-to-op-phi
Jörg Wagner [Mon, 6 Dec 2021 08:57:51 +0000 (09:57 +0100)]
Reduce framebuffer size of spv-stable-pillars-O-op-select-to-op-phi

Reduce the size to 32x16 to avoid avoid timeouts on low-end platforms.
This shouldn't affect the ability to find compiler bugs because the
shader itself is the same.

Affects: dEQP-VK.graphicsfuzz.spv-stable-pillars-O-op-select-to-op-phi

Components: Vulkan

VK-GL-CTS Issue: 3367

Change-Id: I2eacbc75df29b8dc44c8744bc13e140d6ef7c0cb

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 7 Jan 2022 16:02:38 +0000 (11:02 -0500)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I8e4fb16c3f82b6cc42af849e201d50ad2f053d6e

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 agoAdd Samsung Driver ID
s.fricke [Fri, 12 Nov 2021 21:54:10 +0000 (13:54 -0800)]
Add Samsung Driver ID

The enum value was added in the 1.2.199 Vulkan Headers

VK-GL-CTS issue: 3384
Components: Vulkan

Affects:
dEQP-VK.api.driver_properties.driver_id_match

Change-Id: Id04c20b5fe8ad90350a588fd0e7de0c498ebe5b6

2 years agoUpdate Android test lists for Broadcom waiver
Paul Thomson [Fri, 3 Dec 2021 17:53:24 +0000 (17:53 +0000)]
Update Android test lists for Broadcom waiver

VK-GL-CTS issue: 2804

Components: Vulkan, Android
Google bug: b/206833783

Change-Id: I51fcc3ce1617dc5a980e893bfc5915e8fc789c74

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

2 years agoFix use a device with protected memory enabled
Mohd Faisal [Mon, 22 Nov 2021 14:58:37 +0000 (14:58 +0000)]
Fix use a device with protected memory enabled

Test is trying to allocate memory from protected memory heap using
default device which doesn't have protected memory enabled. Change
checks if the protected memory supported, if it is create a custom
device with protected memory enabled.

Affects:

dEQP-VK.memory.mapping.*.full.variable.implicit_unmap

Components: Vulkan

VK-GL-CTS issue: 3292

Change-Id: I74897e3dd7f1cada0044036ba27ad8764754ed23

2 years agoThrottling CTS producing frame speed
YiHsing Shen [Tue, 9 Nov 2021 02:03:40 +0000 (02:03 +0000)]
Throttling CTS producing frame speed

CTS checks the present time of the frame 6 frames ago. However, if
the default buffer count of BufferQueue is more than 7, CTS could
produce frames continuously in a short time. In this case, the frame
6 frames ago might be not presented yet then CTS fails. To prevent
this situation, CTS produces frames at the speed according to
compositeInterval.

Component: EGL

Affected tests:
dEQP-EGL.functional.get_frame_timestamps.*

Change-Id: I1ac15974a6c4147ee2546ad21dea1fb3e6bf38f9

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 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
(cherry picked from commit 34d6d68ab3bd13117d936869fae70d16cc7c1297)

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

2 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

2 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)

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.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

2 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

2 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 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 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 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/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 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

3 years agoRemove 64-bit int usage in dynamic_indexing test shaders
Mohankumar Nekkarakalaya [Tue, 12 Oct 2021 18:58:22 +0000 (11:58 -0700)]
Remove 64-bit int usage in dynamic_indexing test shaders

- "OpCapability Int64" is not a mandatory extension
- Replace with v2i32

Components: Vulkan

VK-GL-CTS Issue: 3205

Affected tests:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.dynamic_indexing.dynamic_indexing
dEQP-VK.ray_query.acceleration_structures.dynamic_indexing.dynamic_indexing

Change-Id: I04b7cf6309b42ef4572e5c79c8e9233aee2edec7

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 29 Oct 2021 13:52:23 +0000 (09:52 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I8a9f12e6adc0daf962a4f6f05d28216db4880ee8

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 years agoFix layout transitions in dynamic_rendering tests
Jason Ekstrand [Mon, 25 Oct 2021 22:25:16 +0000 (17:25 -0500)]
Fix layout transitions in dynamic_rendering tests

With dynamic rendering, we no longer have initial and final layout
transitions provided automatically as part of vkCmdBeginRendering() and
vkCmdEndRendering().  Instead, it's the responsibility of the client to
transition the images into and out of the layout passed to
vkCmdBeginRendering().  When translating from Vulkan 1.0 style
subpasses, this means we need to do a pipeline barrier before and after
rendering.

Affects:
dEQP-VK.renderpass_with_dynamic_rendering.*

Change-Id: I56214198a8b3d81e3030164de045b8ca03a44f88

3 years agoAdd missing barrier to dynamic rendering tests
jaxl [Wed, 15 Sep 2021 03:14:19 +0000 (11:14 +0800)]
Add missing barrier to dynamic rendering tests

Vulkan spec requires driver to do automatic layout transition when
subpass of render pass begins. However, for dynamic rendering,
there is no such requirement in spec, so the application should
transfer image layout.

Affected tests:
VK.renderpass_with_dynamic_rendering.suballocation.multisample_resolve.*

Components: Vulkan
VK-GL-CTS issue: 3162

Change-Id: Id3bb8fa83ac4f891150f1a8f74bf61e7d7d5e854
(cherry picked from commit 430ab25e4964bd195c58e15e7b51a7de620ebd40)