platform/upstream/VK-GL-CTS.git
2 years agoMerge vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric into vk-gl-cts/main
Matthew Netsch [Thu, 2 Jun 2022 14:13:18 +0000 (07:13 -0700)]
Merge vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric into vk-gl-cts/main

Change-Id: Iee05a3a148b62122de199cad70cda8f9f3f2170c

2 years agoMerge vk-gl-cts/main into vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric
Matthew Netsch [Wed, 1 Jun 2022 19:55:08 +0000 (12:55 -0700)]
Merge vk-gl-cts/main into vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric

Change-Id: Ib4407c269be86851031a8a6ce1abc93d4e553996

2 years agoMerge vk-gl-cts/dev/VK_KHR_ray_tracing_maintenance1 into vk-gl-cts/main
Matthew Netsch [Thu, 2 Jun 2022 14:07:03 +0000 (07:07 -0700)]
Merge vk-gl-cts/dev/VK_KHR_ray_tracing_maintenance1 into vk-gl-cts/main

Change-Id: I1b78dec2819e963937d831f1b8c3e11e2428184a

2 years agoMerge vk-gl-cts/main into vk-gl-cts/VK_KHR_ray_tracing_maintenance1
Matthew Netsch [Wed, 1 Jun 2022 17:59:31 +0000 (10:59 -0700)]
Merge vk-gl-cts/main into vk-gl-cts/VK_KHR_ray_tracing_maintenance1

Change-Id: I2502165363120c2aa71e0356f607fe895bdc8eb2

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main
Matthew Netsch [Mon, 6 Jun 2022 19:58:19 +0000 (12:58 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.2 into vk-gl-cts/main

Change-Id: I0038924e2f520376d3dbe078d5ad0a2e60585f2b

2 years agoDeclare atomic_payload array coherent
Jesse Archer [Fri, 20 May 2022 21:15:10 +0000 (14:15 -0700)]
Declare atomic_payload array coherent

Data in the release_acquire_atomic_payload uses atomic functions
on an array, so this array needs to be declared coherent.

Affected tests:
dEQP-VK.memory_model.message_passing.permuted_index.release_acquire_atomic_payload

Components: Vulkan

VK-GL-CTS issue: 3706

Change-Id: I6f285e3000368d083369bda5b3782a3b44c9b64d

2 years agoFix spec info in pipeline max varyings tests
Tomasz Owczarek [Tue, 10 May 2022 14:46:28 +0000 (15:46 +0100)]
Fix spec info in pipeline max varyings tests

Add missing VkSpecializationInfo to fragment shader stage.

Components: Vulkan

VK-GL-CTS issue: 3677

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

Change-Id: Icf702ca953ad996e9081aa9197fbdcedd21dd191

2 years agoAdd threshold to rasterization order depth checks
Ricardo Garcia [Mon, 23 May 2022 14:43:16 +0000 (16:43 +0200)]
Add threshold to rasterization order depth checks

These tests compared floating point depth values expecting exact
matches, which was causing trouble for some implementations. This commit
adds an error threshold to the check.

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

Components: Vulkan
VK-GL-CTS issue: 3711

Change-Id: If6798dfd473f57341775e83d68188e39bdf27caa

2 years agoFix test using LAYOUT_CREATE_INDEPENDENT_SETS_BIT
Piotr Byszewski [Sat, 21 May 2022 21:49:08 +0000 (23:49 +0200)]
Fix test using LAYOUT_CREATE_INDEPENDENT_SETS_BIT

Original test plan for testing VK_EXT_graphics_pipeline_library had
one test that actually doesn't require pipeline library extension.
This test wrongfully created pipeline layout using
VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT flag
violating VUID-VkPipelineLayoutCreateInfo-flags-parameter.

Components: Vulkan

VK-GL-CTS issue: 3704

Affects:
dEQP-VK.pipeline.pipeline_library.graphics_library.*

Change-Id: I6842fcfd7dd686af32f989cd1b0fcd2730305d9e

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2
Matthew Netsch [Fri, 3 Jun 2022 21:43:02 +0000 (14:43 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.1 into vk-gl-cts/vulkan-cts-1.3.2

Change-Id: I4ff955997673df5a3ad35e6de3f5be8f0679dd2f

2 years agoFix regression from CL-9387 to handle empty cache properly
Piers Daniell [Fri, 3 Jun 2022 18:21:00 +0000 (12:21 -0600)]
Fix regression from CL-9387 to handle empty cache properly

The new program cache code from CL-9387 didn't handle the case where
cacheSearch() is called with an empty cache. It would look at the
first node key regardless, which is uninitialized data, and
attempt to follow the left/right node pointers, which were
also uninitialized. This could result in crash or worse.

This CL simply checks if the cache is empty, and if so doesn't
attempt to read the invalid first node.

Affects:
* (all tests with shaders)

VK-GL-CTS issue: 3565

Components: Vulkan, Framework
Change-Id: Ia813d8caf3170b0c1995bdc43a5f345b578ab615

2 years agoFix deqp-vksc build break from CL-9046
Piers Daniell [Fri, 3 Jun 2022 20:38:57 +0000 (14:38 -0600)]
Fix deqp-vksc build break from CL-9046

This module was being compiled for deqp-vksc but referenced
tokens not in the Vulkan SC API.

This fix just ifdefs those references out for VULKANSC.

Components: Vulkan

VK-GL-CTS Issue: 3552

Affects:
dEQP-VK.ycbcr.subresource_offset.*
dEQP-VK.image.subresource_layout.*_offset

Change-Id: Ia8d4f16f134bc7d3357bb59f336e12dd92ab73e0

2 years agoFix aliasing issue for globalPriorityQuery feature
John Anthony [Thu, 12 May 2022 14:39:22 +0000 (16:39 +0200)]
Fix aliasing issue for globalPriorityQuery feature

Affects:
dEQP-VK.info.device_mandatory_features

Components: Vulkan

VK-GL-CTS issue: 3675

Change-Id: Id7e18078bcd9650667834915ed4bbe3453ede91c

2 years agoSeparate create with unsupported feature tests
Jari Komppa [Fri, 8 Apr 2022 11:51:17 +0000 (14:51 +0300)]
Separate create with unsupported feature tests

This change separates the create device with unsupported features tests
into separate tests so they can be ignored on case by case basis.

The change also changes the hierarchy of device_init.*, moving the
existing tests to new .basic leaves.

Affects:
dEQP-VK.api.device_init.*

New tests:
dEQP-VK.api.device_init.create_device_unsupported_features.*

Subsystem: Vulkan
VK-GL-CTS issue: 3585

Change-Id: I05b79cbc7b74eeaeeea256c7bf5fa0bd53e3d43d

2 years agoMerge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1
Matthew Netsch [Fri, 3 Jun 2022 20:23:08 +0000 (13:23 -0700)]
Merge vk-gl-cts/vulkan-cts-1.3.0 into vk-gl-cts/vulkan-cts-1.3.1

Change-Id: If2b3f337e48dea10ccfb3fd457f17badde5c4f43

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0
Matthew Netsch [Fri, 3 Jun 2022 19:47:51 +0000 (19:47 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.8 into vk-gl-cts/vulkan-cts-1.3.0

Change-Id: I2b98a1c69c321ed574eae1878442a1b1cb5012d3

2 years agoFix redundant writes to compressed texture
Connor Abbott [Thu, 24 Mar 2022 18:40:19 +0000 (19:40 +0100)]
Fix redundant writes to compressed texture

We already dispatch one workgroup per block, so there's no need to then
loop over all the blocks in the compute shader. Just write one block per
invocation.

Components: Vulkan

Affects:
dEQP-VK.image.sample_texture.128_bit_compressed_format*
dEQP-VK.image.sample_texture.64_bit_compressed_format*

VK-GL-CTS Issue: 3582

Change-Id: If1cf7d4a79e00dcfe735aa9c4d97220242283a12

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
Matthew Netsch [Fri, 3 Jun 2022 15:45:00 +0000 (08:45 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8

Change-Id: Id52b20aa498ddcc1b9dc05b7415b8d67259e2043

2 years agoMerge "Merge vk-gl-cts/vulkansc-cts-1.0.0 into vk-gl-cts/main" into main
Matthew Netsch [Fri, 3 Jun 2022 14:49:27 +0000 (14:49 +0000)]
Merge "Merge vk-gl-cts/vulkansc-cts-1.0.0 into vk-gl-cts/main" into main

2 years agoThread safe releaseQueue
Marcin Zając [Tue, 17 May 2022 16:46:08 +0000 (18:46 +0200)]
Thread safe releaseQueue

Failure discovered on ARM platform coused by commandBuffer
deleter being called after queues.releaseQueue()
is now protected by mutex lock

Components: Vulkan

Affects:
dEQP-VK.synchronization.internally_synchronized_objects.*

VK-GL-CTS issue: 3688

Change-Id: Ib743dd52a3ed5cc066268aa0618c2b770e2524dc

2 years agoFix extension check in transform feedback tests
Toni Merilehti [Tue, 17 May 2022 13:00:15 +0000 (16:00 +0300)]
Fix extension check in transform feedback tests

Check support for VK_EXT_transform_feedback extension before checking
if transformFeedback feature is supported.

Affects:
dEQP-VK.transform_feedback.simple.*

Components: Vulkan

VK-GL-CTS issue: 3697

Change-Id: I478669a0c4f4e0a88ab2161f926d39186f719585

2 years agoFix amber-verify mismatch in builtin precision tests
Juha Heiskanen [Wed, 25 May 2022 05:45:31 +0000 (08:45 +0300)]
Fix amber-verify mismatch in builtin precision tests

VK_KHR_16bit_storage and VK_KHR_storage_buffer_storage_class
requirements have been now removed from highp and fp64 matrix precision
tests.

Components: Vulkan

VK-GL-CTS Issue: 3719

Affects:
dEQP-VK.glsl.builtin.precision*.determinant.*mat3
dEQP-VK.glsl.builtin.precision*.determinant.*mat4
dEQP-VK.glsl.builtin.precision*.inverse.*mat3
dEQP-VK.glsl.builtin.precision*.inverse.*mat4

Change-Id: I204bac46129ec9843e5077032e329caed3758446

2 years agoShrink the framebuffer in 2 graphicsfuzz tests
Graeme Leese [Thu, 26 May 2022 16:42:51 +0000 (17:42 +0100)]
Shrink the framebuffer in 2 graphicsfuzz tests

This is the same change that was previously applied to a different
maze-O test.

Components: Vulkan
Affects: dEQP-VK.graphicsfuzz.spv-stable-maze-O-dead-code
         dEQP-VK.graphicsfuzz.spv-stable-maze-O-memory-accesses

Change-Id: I669a659d16019760e35c1c23c0974a72e7fc851c

2 years agoTest VkSubresourceLayout::offset is relative to the start of an image
Antto Mäkinen [Thu, 24 Mar 2022 15:35:25 +0000 (17:35 +0200)]
Test VkSubresourceLayout::offset is relative to the start of an image

This commit adds new tests that verify VkSubresourceLayout includes
the right value for an offset if an image is bound with the offset.

VK-GL-CTS Issue: 3552

New tests:
dEQP-VK.ycbcr.subresource_offset.*
dEQP-VK.image.subresource_layout.*_offset

Components: Vulkan

Change-Id: Iefaa1a6e0266f8dd599abace0b5f6bb6617fe4af

2 years agoAdd inter-process communcation to shader cache
Jari Komppa [Mon, 16 May 2022 09:28:54 +0000 (12:28 +0300)]
Add inter-process communcation to shader cache

This change allows running several instances of CTS which share a single
shader cache.

std::map which was used to hold the cache index was replaced by a simple
binary search tree implementation in order to play nice in a
pre-allocated buffer. Benchmarking gives approximately same performance
or better in random cases. Worst case behavior is terrible, but did not
occur while testing after integrating with CTS.

By default the size of the index is 1M entries, taking 16M of memory.
This memory pool is not resized dynamically, and will assert if over 1M
unique shaders are inserted to the cache.

Additional small improvement to the shader cache behavior avoids
re-hashing the cache key at cache miss.

For platforms that do not support IPC, the IPC code can be compiled out
using a predefined macro DISABLE_SHADERCACHE_IPC.

The IPC behavior is disabled by default, leading to old behavior, except
for the std::map to bst change and no re-hashing.

Affects:
*

VK-GL-CTS issue: 3565

Change-Id: I4f2433256968b76de26c9bd50981454bb4accae0

2 years agoAdd command line parameter to override Vulkan library path
Jeff Bolz [Fri, 20 May 2022 03:33:03 +0000 (22:33 -0500)]
Add command line parameter to override Vulkan library path

Components: Vulkan, VulkanSC
Change-Id: I368d4673dac8ba235e3cc30e827dccf1f37c5153

2 years agoDynamic rendering with NULL shading rate image
Juha Heiskanen [Tue, 10 May 2022 13:45:57 +0000 (16:45 +0300)]
Dynamic rendering with NULL shading rate image

VK_KHR_dynamic_rendering attachments tests are now including cases,
where VK_NULL_HANDLE is passed to
VkRenderingFragmentShadingRateAttachmentInfoKHR.imageView.

Components: Vulkan

VK-GL-CTS Issue: 3577

New tests:
dEQP-VK.fragment_shading_rate.dynamic_rendering.primary_cmd_buff.monolithic.attachment_rate.*null_shading

Change-Id: I98f4b798e8e691ff64e9a2b2248732089016373f

2 years agoTest imageSize() on 2D image views from 3D images
Ricardo Garcia [Tue, 17 May 2022 13:30:21 +0000 (15:30 +0200)]
Test imageSize() on 2D image views from 3D images

This needs VK_EXT_image_2d_view_of_3d.

New tests:
dEQP-VK.image.image_size.*2d_view_*

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

Components: Vulkan
VK-GL-CTS issue: 3651

Change-Id: I369805ed26094cbc8812826eb9c79f352fca2e61

2 years agoBug fix for current variableSampleLocations tests + new tests
Juha Heiskanen [Fri, 27 May 2022 08:24:56 +0000 (11:24 +0300)]
Bug fix for current variableSampleLocations tests + new tests

Support check for variableSampleLocations has been added to previously
created sample_locations_ext.verify_location tests. This CL adds also
new tests, which are now using pPostSubpassSampleLocations
correctly if variableSampleLocations == FALSE.

Components: Vulkan

VK-GL-CTS Issue: 3623

Affects:
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples_2
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples_4
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples_8
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples_16
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples*dynamic
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples*packed

New tests:
dEQP-VK.pipeline.*.sample_locations_ext.verify_location.samples*_invariable

Change-Id: I0e87c290c370ce3c534243280c40eda7b4fc6021

2 years agoTest single-path switch statements
Toni Merilehti [Fri, 6 May 2022 06:23:56 +0000 (09:23 +0300)]
Test single-path switch statements

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

New tests:
dEQP-GLES3.functional.shaders.switch.default_only*
dEQP-GLES3.functional.shaders.switch.empty_case_default*

VK-GL-CTS Issue: 3659

Components: OpenGL

Change-Id: I9a59582ec2829d73f590f1fe62d841b36e02e915

2 years agoRemove usages of std::iterator
Jamie Madill [Thu, 19 May 2022 20:10:45 +0000 (16:10 -0400)]
Remove usages of std::iterator

std::iterator is deprecated in C++17.

VK-GL-CTS issue: 3703

Change-Id: Ic914f1443457bbdfb62d47e5e6245c1ee4fad31d

2 years agoFix ShaderBallotFunctionRead test
Pierre-Eric Pelloux-Prayer [Thu, 5 May 2022 15:36:35 +0000 (17:36 +0200)]
Fix ShaderBallotFunctionRead test

The current version of the test draws at 2x2 quad, expecting the value of the
4 pixels to be the same because readFirstInvocationARB is used.

The problem is that depending on the resolution used: if the 4 fragments are
processed in more than one sub-group, then the test will fail.
For instance, on AMD hw the test would pass using the default resolution, but
fail for 256x256.

Fix this by drawing in the top-left corner instead of the middle of the screen.

VK-GL-CTS public issue: 251
Components: OpenGL

Affects:
KHR-GL*shader_ballot_tests.ShaderBallotFunctionRead

Change-Id: Ib182976aeeaab1380d3a5e1cad97fe898cbcdb8e

2 years agoAdd autogenerate with GL_EXT_fragment_shading_rate
Younggwan Kim [Thu, 21 Apr 2022 14:42:58 +0000 (15:42 +0100)]
Add autogenerate with GL_EXT_fragment_shading_rate

Change-Id: I6595c65e411b0f6c192e35dc63407e319bc9d676

2 years agoRemove usages of std::iterator
Alan Zhao [Thu, 19 May 2022 18:54:48 +0000 (14:54 -0400)]
Remove usages of std::iterator

std::iterator is deprecated in C++17, and its presence is blocking
Chromium from updating libc++ (https://crbug.com/1273285).

Components: Framework
VK-GL-CTS Issue: 3703

Change-Id: I4f8a50a3d0fc09b20c7f94807902770beb09d295

2 years agoUpdate gl.xml and fix script to build properly
Younggwan Kim [Mon, 11 Apr 2022 09:07:40 +0000 (10:07 +0100)]
Update gl.xml and fix script to build properly

gles spec sha: b0643365776c260efc6317d2ff67dd8bf5078be9
fix scripts/opengl/gen_call_log_wrapper.py script file to build

Components: Framerwork, OpenGL

Change-Id: I9dbeec42a1127469f0e98cdd68a2f88d12007642

2 years agoMerge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main
Matthew Netsch [Thu, 2 Jun 2022 22:03:39 +0000 (22:03 +0000)]
Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main

Change-Id: I87fcdfdea92e5a3ba36454128ee4e2092c33c4f9

2 years agoRework sparse texture shader typing
Mike Blumenkrantz [Fri, 22 Apr 2022 13:12:26 +0000 (09:12 -0400)]
Rework sparse texture shader typing

This previously would try to jam 2D textures into 2DArray-using
shaders and vice versa, so instead just use layered image
binding when appropriate and pass both texture targets to ensure
that everything always matches up nicely.

Affects:
KHR-GL46.sparse_texture2_tests.SparseTexture2Commitment
KHR-GL46.sparse_texture2_tests.SparseTexture2Lookup
KHR-GL46.sparse_texture2_tests.UncommittedRegionsAccess
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupColor
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupResidency
KHR-GL46.sparse_texture_tests.SparseTextureAllocation
KHR-GL46.sparse_texture_tests.SparseTextureCommitment

Components: OpenGL
VK-GL-CTS issue: 3653

Change-Id: Iea7d1027784aaad4969b01372895939ac96968bc

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main
Matthew Netsch [Thu, 2 Jun 2022 21:22:12 +0000 (21:22 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.8 into vk-gl-cts/main

Change-Id: I011f48b25cfd0f2b951425ea770220a6dcaa3e1a

2 years agoFix extension checks for EGL external image tests
Andy Candet [Sat, 16 Apr 2022 20:16:53 +0000 (21:16 +0100)]
Fix extension checks for EGL external image tests

Commit 2090c97 extended dEQP-EGL.functional.image.modify.* with new
actions to test sampling from an external image. The actions implement
getRequiredExtension, so they were likely intended to be skipped if
GL_OES_EGL_image_external is not available.

However, extension checks are only performed for actions invoked through
ImageFormatCase. These actions are invoked one level down the call
stack, through RenderTryAll.

The result is that 22 tests in dEQP-EGL.functional.image.modify.* fail
during shader compilation if the extension is not available.

This commit adds an extension check to RenderTryAll::invokeGLES. Actions
will be skipped if the check fails. This is probably what was intended
in the first place, since RenderTryAll ignores NotSupported results.

Affects: dEQP-EGL.functional.image.modify.*

Components: EGL

Change-Id: Id1106d69fbe71d39695fc32513d80d23f1e94b40

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8
Matthew Netsch [Thu, 2 Jun 2022 20:51:45 +0000 (20:51 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/opengl-es-cts-3.2.8

Change-Id: Ib621fd1a176f1921e3b12c8e9df7f51f552df695

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 Jun 2022 20:14:29 +0000 (20:14 +0000)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: I6edc6c1598e5a0e4d92c1e3d5aeb7baa1688c888

2 years agoFix sample mask calculation
Ari Suonpaa [Wed, 18 May 2022 10:14:47 +0000 (13:14 +0300)]
Fix sample mask calculation

Sample mask calculation path was executed even when sample
was -1, causing a large number to be used for a shift. Now
a sample mask of zero is chosen instead.

VK-GL-CTS Issue: 3329

Affects:

dEQP-GLES31.functional.texture.multisample.*.sample_mask_and_alpha_to_coverage

Components: OpenGL ES
Change-Id: Ie5600ead5a5b0228a3ed255d7e4cc49a314a7ba6

2 years agoMerge vk-gl-cts/vulkansc-cts-1.0.0 into vk-gl-cts/main
Matthew Netsch [Thu, 2 Jun 2022 20:13:01 +0000 (13:13 -0700)]
Merge vk-gl-cts/vulkansc-cts-1.0.0 into vk-gl-cts/main

Change-Id: I25fc44097a2c5271bdc9fa082fab612558e35b2b

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 2 Jun 2022 19:51:27 +0000 (12:51 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I8931b5406a04f317c172c1357c1ab3b2c7b12be3

2 years agoFix for the bounding box tests with GL 4.5
Tapani Pälli [Fri, 10 Sep 2021 12:06:10 +0000 (15:06 +0300)]
Fix for the bounding box tests with GL 4.5

Affects:
dEQP-GL*functional.primitive_bounding_box.*

Components: AOSP
VK-GL-CTS issue: 3104

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Change-Id: I38db9fc893a685893dbd6c2de8ab15ab3e0db11e
(cherry picked from commit 9e6d211ebf47f228f6648c7a30be8eb98cec41a9)

2 years agoFix missing self-subpass dependency
Mohd Faisal [Wed, 13 Oct 2021 14:09:01 +0000 (15:09 +0100)]
Fix missing self-subpass dependency

Self-subpass dependency required for read-after-write operation, in test
cases where the attachment is written using load-op-load at the start
of subpass and then the values are read inside the fragment shader.

Affects:

dEQP-
VK.renderpass.suballocation.subpass_dependencies.separate_channels.*
dEQP-
VK.renderpass2.suballocation.subpass_dependencies.separate_channels.*

Components: Vulkan

VK-GL-CTS issue: 3216

Change-Id: I6c72b81dccfb7526ec4607b255ff4872b13c4d22
(cherry picked from commit 305ee4bd7e5b372b2c910b615a146f2aa4416527)

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 2 Jun 2022 19:06:02 +0000 (19:06 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Ic4e0dff0f0b61669584c3eff4602af9971552ab4

2 years agoFix int64 robustness bugs
Andreas Flöjt [Thu, 5 May 2022 12:18:06 +0000 (14:18 +0200)]
Fix int64 robustness bugs

First bug: VkImage and VkImageView that use different formats without
specifying the VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT flag on the image.

Second bug: Using a shader with a multisampled storage image without
checking the shaderStorageImageMultisample feature.

Affects:
dEQP-VK.robustness.image_robustness.*.r64i.*

Components: Vulkan

VK-GL-CTS issue: 3680

Change-Id: I7b984c3c7b6b2ee551618b7a32d4a841e942cd95

2 years agoskip non-compresed 3D views of compressed images
Ilan Aelion [Mon, 4 Apr 2022 18:51:22 +0000 (11:51 -0700)]
skip non-compresed 3D views of compressed images

dEQP-VK.image.texel_view_compatible.graphic.*.3d_image.texture_read
tests violate VUID-VkImageViewCreateInfo-image-04739 - "If image was
created with the VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag
and format is a non-compressed format, viewType must not be
VK_IMAGE_VIEW_TYPE_3D"

Components: Vulkan
Affected Tests:
dEQP-VKSC.image.texel_view_compatible.graphic.*.3d_image.texture_read.*

Change-Id: I48512da1cdedbaecc73ac1ae1289cbbb4bc2f70c

2 years agoFix leak on SimpleAllocator
Juan A. Suarez Romero [Fri, 13 May 2022 09:50:30 +0000 (11:50 +0200)]
Fix leak on SimpleAllocator

SimpleAllocator object is leaked in some tests.

Affected tests:
dEQP-VK.compute.basic.concurrent_compute
dEQP-VK.draw.concurrent.compute_and_triangle_list

Components: Vulkan
VK-GL-CTS issue: 3634

Change-Id: Ief51211f94f2754b9133285ff7374971b7ea20e3

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 agowriteSupportedExtensions for VKSC
Marcin Zając [Tue, 17 May 2022 15:40:26 +0000 (17:40 +0200)]
writeSupportedExtensions for VKSC

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

Components: Vulkan

VK-GL-CTS issue: 3690

Change-Id: Id216ea169c4245fc81177ca02677bbbf7320b803

2 years 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 valid usage violation in vkFreeDescriptorSets
Gangzheng Tong [Mon, 16 May 2022 18:23:01 +0000 (18:23 +0000)]
Fix valid usage violation in vkFreeDescriptorSets

The descriptor pool used in vkFreeDescriptorSets was not created with
the VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT flag, resulting a
valid usage check failed in the driver. Adding the flags fixes the
issue.

Affects:
dEQP-VKSC.sc.device_object_reservation.limits.request_count.*

Componnets:
VulkanSC

Change-Id: Id5ecff4c58478c13aaf035eaff07554c3260abf0

2 years agoFixed YCbCr conversion tests in Vulkan SC
Aidan Fabius [Tue, 10 May 2022 23:01:51 +0000 (19:01 -0400)]
Fixed YCbCr conversion tests in Vulkan SC

Main process was skipping calls to uploadImage/fillImageMemory that
create an additional VkCommandPool that wasn't accounted for in the
subprocess memory reservation.

Affects:

dEQP-VKSC.ycbcr.conversion.*

Change-Id: If438ff06af67895209a08f8b0eaeb3fc46514a29

2 years agoCheck format features for both formats in LoadStoreTests
Jeff Bolz [Tue, 22 Mar 2022 18:24:57 +0000 (13:24 -0500)]
Check format features for both formats in LoadStoreTests

These tests unconditionally create both images with STORAGE usage,
so they need to check for support for both formats.

Components: Vulkan, VulkanSC
Affects Tests: dEQP-VK.image.*

Change-Id: If37e375a9e5942d684d5a74325c0dffaedb3b824

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

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

Components: Vulkan

VK-GL-CTS issue: 3699

Change-Id: I07ebd24f5172a3008072ef6a64543f1df949dbf9

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

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

Components: Vulkan

VK-GL-CTS Issue: 3654

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

Change-Id: I3da8d72cf4172288830b61d71cc69baf84500277

2 years agoCheck pipeline construction type for fsr tests
Lionel Landwerlin [Thu, 21 Apr 2022 14:24:56 +0000 (17:24 +0300)]
Check pipeline construction type for fsr tests

Fixes commit 3b002e7706 ("Run FSR tests for pipeline library").

Components: Vulkan

Affects: dEQP-VK.fragment_shading_rate.*

VK-GL-CTS Issue: 3649

Change-Id: Iaa1f1ccee08cdf454ffe01e95763795eea5d2ac8

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

This commit adds a batch of GraphicsFuzz coverage tests.

Components: Vulkan

New Tests:

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

Change-Id: I17f77f04cac88d59c882527aa173c210332763f7

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

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

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

New test:

dEQP-VK.api.descriptor_pool.zero_pool_size_count

Components: Vulkan

VK-GL-CTS Issue: 3637

Change-Id: Ia8d1d95a610016f52afd65d4a16c5af77ba457c2

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

Adds tests for vkGetPhysicalDeviceSurfacePresentModes2EXT with and
without the VK_GOOGLE_surfaceless_query extension.

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

Components: Vulkan
VK-GL-CTS issue: 3559

Change-Id: I55ad0dce1a16365262ba346410687952bf6cc72e

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

Change-Id: I6e7ad193b9481e3414a70b6c32d0e11ae319771f

2 years agoFix division by zero
Ari Suonpaa [Mon, 16 May 2022 12:17:47 +0000 (15:17 +0300)]
Fix division by zero

Fixed format threshold calculation caused division by zero
whenever less than four channels were used by the format.
This change uses threshold zero for the empty channels.

VK-GL-CTS Issue: 3332

Affects:

dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers.*

Components: OpenGL ES
Change-Id: Ib6c8ee6ee0fa82d1f0514b639938c61ed7762381

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

Change-Id: I626d8743ae220c8aeb12bd3e6d10ed3e32f19084

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

Change-Id: I02f8752c040a1ece951a3990c22b89eee72d98b2

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

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

Affects:

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

Components: Vulkan

VK-GL-CTS issue: 3662

Change-Id: Idf91dcfa2e83760e3e9bc877ce11278217d8cbdc

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

Component: Android

Google bug: b/229087109

Change-Id: I1e7fd040742ef0c2dda48c9962f985ea4f517caa

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

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

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

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

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

Components: Vulkan
VK-GL-CTS issue: 3576

Change-Id: I48b2997be2775249cf67fb6a5be73962f94edf13

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

Change-Id: I8d971d37d58627b18a19dd52321908eb869af752

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

Change-Id: I662983106478f288aad30e3df36c7af8276e721f

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

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

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

VK-GL-CTS Issue: 3646

Components: Vulkan

Change-Id: I31646db161da2f3d19d3f556b7bd39be6d261442

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

Change-Id: I4b2a0404cbcf9d49920e96ffb41fdb6e558ff2a5

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

Change-Id: Id5e0c94c1ad19064f9bcf354b07ecb9a34f9bbb7

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

Change-Id: I85db18b290ab8790b6b6ddd9417ed43c65d8e33f

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

This was TRANSFER_WRITE instead of TRANSFER_READ due to a typo.

Components: Vulkan

Affects:
dEQP-VK.synchronization2.none_stage.*

VK-GL-CTS Issue: 3672

Change-Id: Id62e91886bc6b2137a8f8a862185956a17fb3fab

2 years agoSet NEAREST filtering for sparse clamp lookup texture
Mike Blumenkrantz [Fri, 22 Apr 2022 13:09:31 +0000 (09:09 -0400)]
Set NEAREST filtering for sparse clamp lookup texture

Integer formats can't use LINEAR filtering here, so this was
a spec violation.

Given that LINEAR isn't being tested, just use NEAREST in all cases
to avoid complexity.

For the min filter use NEAREST_MIPMAP_NEAREST since mipmaps are used
by the test.

Affects:
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupResidency
KHR-GL46.sparse_texture_clamp_tests.SparseTextureClampLookupColor

Components: OpenGL
VK-GL-CTS issue: 3653

Change-Id: I5bb7fcde24c4d3dcf0584bf91e96c4c5559b2b39

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

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

Components: Vulkan
VK-GL-CTS Issue: 3678

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

Change-Id: Ie8788567ae5189e6303fb7d3eb7e64b1bdd9dbcf

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

Change-Id: Ic670f6c41b7ebe08ac046562f099283d3e098c36

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

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

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

Change-Id: Iac3a50452af02bf6a807da1bcbf599f14732f505

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

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

Components: Vulkan

VK-GL-CTS issue: 3310

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

Change-Id: I8cf12b7646e2e32c3dfb675ee70b2fe751dce545

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

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

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

Change-Id: Ieeda43bbfb8e8d04d3e4a3f486a3391e399feee7

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

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

Components: Vulkan

VK-GL-CTS issue: 3516

Affects:
dEQP-VK.fragment_shading_rate.*

Change-Id: I17f5f07c7cd1346d2a908ace5d62e5f970712ee8

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

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

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

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

Change-Id: I4f2f728b730177d4aa4cda4cdca4feb0d5ee7ad7

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

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

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

VK-GL-CTS Issue: 3660

Components: Vulkan

Change-Id: I69441956b7edc0d492bfbe47a288bcf1116e8d17

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

This CL adds new tests for extension VK_EXT_image_2d_view_of_3d.

VK-GL-CTS Issue: 3113

New tests:

dEQP-VK.pipeline.*.image_2d_view_3d_image.*

Components: Vulkan, Framework

Change-Id: I8f2852e45980950949cc51478040f8df8043554e

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

VK-GL-CTS Issue: 3474

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

Components: Vulkan
Change-Id: Iedb6a4d83fe7a9962afb3724b1c73766a8cda1aa

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

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

VK-GL-CTS Issue: 3604

New tests:

dEQP-VK.texture.shadow.texel_replacement.d32_sfloat

Components: Vulkan
Change-Id: I09d0b6af85195377e1b0903c3a8538f62034c1a1

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

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

Components: Vulkan

Affected Tests:
All vulkan tests

Change-Id: I80bf42509ea01712e6a6e5123a6e097fce00aacc

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

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

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

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

Components: Vulkan

Affected Tests:
All vulkan tests

Change-Id: Ib828ee9f385f2eb2e68e03a6b3b3632443da10df

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

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

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

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

Affects:

dEQP-VK.pipeline.*

Components: Vulkan

VK-GL-CTS Issue: 3661

Change-Id: I5471a9381c3be6e110106004bc3a22110b144864

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

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

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

Components: Vulkan
VK-GL-CTS issue: 3610

Change-Id: I81a3f50743e720b9c7094927a17fae9fa72d7d40

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

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

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

Components: Vulkan
VK-GL-CTS issue: 3656

Change-Id: I5edbbc3b67ab46eaea568842f06dc53664e78e42

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

Change-Id: Iaec16bec07e014cdcb25f22e8fadd26777fefb03

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

Change-Id: Iab357d9f9a46d2bbe710bd116003c8da423c9709