platform/upstream/VK-GL-CTS.git
2 years agoChoose optimal tiling with dmabuf in synchronization tests.
Tapani Pälli [Wed, 5 Oct 2022 16:59:48 +0000 (19:59 +0300)]
Choose optimal tiling with dmabuf in synchronization tests.

This is revert of commit 55027ea63. Problem is that while that change
caused coverage to raise on some drivers it decreased coverage on
others. Ideally this will be written in more dynamic way as a
follow-up work so that everyone could have coverage with these
tests.

Component: Vulkan

Affects: dEQP-VK.synchronization.cross_instance*

VK-GL-CTS issue: 2887

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

2 years agoFix cull distance tests without fragment shader read
ziga-lunarg [Sun, 2 Oct 2022 19:45:08 +0000 (21:45 +0200)]
Fix cull distance tests without fragment shader read

These tests were supposed to test using gl_cullDistance but removing
those writes from shaders did not affect the tests passing

If fragment shader does not read cull distances the tests will now set a
cull plane and check the number of fragments culled

Components: Vulkan

VK-GL-CTS issue: 3502

Affected tests:
dEQP-VK.clipping.user_defined.clip_cull_distance.*

Change-Id: I5ea3d95cc14da934994db2b41aa22fa386570d70

2 years agoFixes zlib dependency
Matthew Netsch [Fri, 14 Oct 2022 16:22:49 +0000 (16:22 +0000)]
Fixes zlib dependency

Components: Framework

Change-Id: I70c130a367afa7d3eb2cbd81dd1662331c6723b8
(cherry picked from commit 188db4918e48556a330814d9e09ec305e4497227)

2 years agoFix winding issue in watertightness tests
Alex Shi [Fri, 30 Sep 2022 04:29:53 +0000 (12:29 +0800)]
Fix winding issue in watertightness tests

The winding order of shared edge vertices wasn't consistent.
Add a check to ensure all triangles have same winding order.

Affects:
dEQP-VK.ray_tracing_pipeline.watertightness*
Components: Vulkan
VK-GL-CTS issue: 4009

Change-Id: I24607720fedcae2e903707dcd8f2d2d8b6ec12c0

2 years agoRemove tests using invalid sType
ziga-lunarg [Sat, 8 Oct 2022 18:32:44 +0000 (20:32 +0200)]
Remove tests using invalid sType

This test creates a structure with sType VK_STRUCTURE_TYPE_MAX_ENUM and
passes it to other create info structs through pNext, but this sType is
not allowed in the pNext of those create info structs

Components: Vulkan

VK-GL-CTS issue: 4023

Removed tests:
dEQP-VK.api.smoke-triangle_ext_structs

Change-Id: Iccfbcebb2bf9b43e93871bfc74aecea921bc31b8

2 years agoFix synchronization.cross_instance TEMPORARY permanence
Russell Chou [Tue, 4 Oct 2022 21:07:52 +0000 (14:07 -0700)]
Fix synchronization.cross_instance TEMPORARY permanence

VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT only supports TEMPORARY permanence, so check for that.

Affects:
dEQP-VK.synchronization.cross_instance.*_binary_semaphore_fence_fd
dEQP-VK.synchronization2.cross_instance.*_binary_semaphore_fence_fd

Components: Vulkan Framework
VK-GL-CTS issue: 4021

Change-Id: I6f663cbc35fcd7f81927878f31f78a6aaadf1a74

2 years agoFix subpass dependency in geometry layered tests
ziga-lunarg [Sun, 25 Sep 2022 15:39:29 +0000 (17:39 +0200)]
Fix subpass dependency in geometry layered tests

If both stages include a framebuffer-space stage in a self dependency,
then flags must include VK_DEPENDENCY_BY_REGION_BIT

Components: Vulkan

VK-GL-CTS issue: 3997

Affected tests:
dEQP-VK.geometry.layered.*

Change-Id: Id9941c16488a4c3bfbf569490d9e146437c4ae40

2 years agoFix color blend state in pipeline stencil tests
ziga-lunarg [Fri, 23 Sep 2022 23:31:28 +0000 (01:31 +0200)]
Fix color blend state in pipeline stencil tests

attachmentCount of pColorBlendState in pipeline create info must match
the colorAttachmentCount of the subpass used in creating the pipeline

Components: Vulkan

VK-GL-CTS issue: 3990

Affected tests:
dEQP-VK.pipeline.*stencil.*

Change-Id: Ic9bbcd9e14fc98e13e02698d7a138662a28782ae

2 years agoCheck if buffer size is multiple of nonCoherentAtomSize
ziga-lunarg [Mon, 19 Sep 2022 23:15:07 +0000 (01:15 +0200)]
Check if buffer size is multiple of nonCoherentAtomSize

When flushing memory range, if VK_WHOLE_SIZE is used, size must be a
multiple of VkPhysicalDeviceLimits::nonCoherentAtomSize

Components: Vulkan

VK-GL-CTS issue: 3972

Affected tests:
dEQP-VK.memory.binding.*

Change-Id: If66e593f88af00450a55dfacc988df93ef6991eb

2 years agoCheck if stage is supported with subgroup size
ziga-lunarg [Sat, 17 Sep 2022 22:29:20 +0000 (00:29 +0200)]
Check if stage is supported with subgroup size

When using required subgroup size, shader stage used must be a bit in
VkPhysicalDeviceSubgroupSizeControlProperties requiredSubgroupSizeStages

Components: Vulkan

VK-GL-CTS issue: 3962

Affected tests:
dEQP-VK.reconvergence.*

Change-Id: Ie2109b6974c4da57f19e8d321e27ccbad1298c71

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 6 Oct 2022 16:26:49 +0000 (09:26 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Iea1e614855e2a12ab124da1dd1f24f2aaa938406

2 years agoFix dedicated allocations in split frame rendering tests
ziga-lunarg [Mon, 19 Sep 2022 21:23:16 +0000 (23:23 +0200)]
Fix dedicated allocations in split frame rendering tests

The image bound to dedicated memory must match the image from
VkMemoryDedicatedAllocateInfo

Components: Vulkan

VK-GL-CTS issue: 3971

Affected tests:
dEQP-VK.device_group.sfr_*

Change-Id: I23684ae6777d575da5eb244dfd856946ba67aa4a

2 years agoFix external memory opaque fd tests for MacOS
ziga-lunarg [Wed, 21 Sep 2022 21:00:04 +0000 (23:00 +0200)]
Fix external memory opaque fd tests for MacOS

Components: Vulkan

VK-GL-CTS issue: 3981

Affected tests:
dEQP-VK.api.external.memory.*

Change-Id: I21a169aab047e58bc716d2aa69426b23af9295f2

2 years agoFix attachment load op in framebuffer compatible render pass tests
ziga-lunarg [Fri, 16 Sep 2022 00:42:41 +0000 (02:42 +0200)]
Fix attachment load op in framebuffer compatible render pass tests

If image layout is VK_LAYOUT_UNDEFINED the loadOp of
VkAttachmentDescription must not be VK_ATTACHMENT_LOAD_OP_LOAD

Components: Vulkan

VK-GL-CTS issue:3948

Affected tests:
dEQP-VK.api.pipeline.renderpass.framebuffer_compatible_renderpass

Change-Id: I4b31df7fa9ca56d9c31af1326b8036f81e9d80fe

2 years agoFix errors in imageless framebuffer tests
ziga-lunarg [Mon, 19 Sep 2022 17:01:59 +0000 (19:01 +0200)]
Fix errors in imageless framebuffer tests

Attachment must not be VK_ATTACHMENT_LOAD_OP_LOAD if initialLayout is
VK_IMAGE_LAYOUT_UNDEFINED
If framebuffer flags contain VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT then
image usage must include VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT

Components: Vulkan

VK-GL-CTS issue: 3969

Affected tests:
dEQP-VK.imageless_framebuffer.*

Change-Id: Ie588c547f8f55710eeffdccea94dd552dd8559a2

2 years agoUse only required buffer usage bit in robustness tests
ziga-lunarg [Sat, 17 Sep 2022 19:25:08 +0000 (21:25 +0200)]
Use only required buffer usage bit in robustness tests

Using all bits requires additional checks for format support

Components: Vulkan

VK-GL-CTS issue: 3959

Affected tests:
dEQP-VK.robustness.*

Change-Id: I7a7c9e338b1e38a2d028f1fcffd6196bb75fa285

2 years agoFix srcStageMask in vkCmdWaitEvents in external fence tests
ziga-lunarg [Wed, 21 Sep 2022 16:45:54 +0000 (18:45 +0200)]
Fix srcStageMask in vkCmdWaitEvents in external fence tests

If event is set with vkSetEvent the srcStageMask must be
VK_PIPELINE_STAGE_HOST_BIT

Components: Vulkan

VK-GL-CTS issue: 3979

Affected tests:
dEQP-VK.api.external.fence.*

Change-Id: I9ca6fb5bdb597639cd5cb88afdbb03dde565acd8

2 years agoFix srcStageMask in vkCmdWaitEvents in secondary cmd buffers tests
ziga-lunarg [Wed, 21 Sep 2022 17:11:03 +0000 (19:11 +0200)]
Fix srcStageMask in vkCmdWaitEvents in secondary cmd buffers tests

If event is set with vkCmdSetEvent the srcStageMask must be
VK_PIPELINE_STAGE_HOST_BIT

Components: Vulkan

VK-GL-CTS issue: 3980

Affected tests:
dEQP-VK.api.command_buffers.secondary_execute_twice

Change-Id: Ib784e454ecf2bead488a267a069111da16ddfa8d

2 years agoFix memory allocation tests with device coherent memory
ziga-lunarg [Tue, 20 Sep 2022 19:49:29 +0000 (21:49 +0200)]
Fix memory allocation tests with device coherent memory

Extension VK_AMD_device_coherent_memory needs to be enabled in order ot
use VkPhysicalDeviceCoherentMemoryFeaturesAMD

Components: Vulkan

VK-GL-CTS issue: 3973

Affected tests:
dEQP-VK.memory.allocation.*

Change-Id: Ia866ab947bbd1af867f409053f830598965dea12

2 years agoFix color blend state in multisample tests
ziga-lunarg [Sat, 24 Sep 2022 00:25:44 +0000 (02:25 +0200)]
Fix color blend state in multisample tests

If the subpass the pipeline is created with has no color attachment the
attachmentCount of pColorBlendState must also be 0

Components: Vulkan

VK-GL-CTS issue: 3991

Affected tests:
dEQP-VK.pipeline.multisample.alpha_to_coverage_no_color_attachment.*

Change-Id: I37ca31e3114ca3e840759b118365f41b1a9565a1

2 years agoFix signal order tests timeline semaphore value
ziga-lunarg [Wed, 21 Sep 2022 00:23:28 +0000 (02:23 +0200)]
Fix signal order tests timeline semaphore value

The new timeline semaphore value must be greater than the current value
of the semaphore

Components: Vulkan

VK-GL-CTS issue: 3978

Affected tests:
dEQP-VK.synchronization.signal_order.*

Change-Id: I7f1276dda7739f7817148550fd1b0782d9045849

2 years agoAdd checking drawIndirectCount in conditional rendering tests.
Hyunjun Ko [Fri, 30 Sep 2022 01:02:25 +0000 (10:02 +0900)]
Add checking drawIndirectCount in conditional rendering tests.

Affects:
dEQP-VK.conditional_rendering.*_indirect_count

Components: Vulkan

VK-GL-CTS issue: 4012

Change-Id: Iad77cebba4a84833f7733a2f8041285623a000bc

2 years agoFix image barriers in image to image copy tests
ziga-lunarg [Sat, 17 Sep 2022 13:08:43 +0000 (15:08 +0200)]
Fix image barriers in image to image copy tests

The same image barriers are used twice if clearDestination is used,
the oldLayout of the second barrier does not match the current layout of
the image

Components: Vulkan

VK-GL-CTS issue: 3956

Affected tests:
dEQP-VK.api.copy_and_blit.*.image_to_image.*

Change-Id: I2623e70f3d4f0b97f9f941e4e6cb2760fd2c9d74

2 years agoFix srcStageMask in buffer_marker tests
ziga-lunarg [Sat, 17 Sep 2022 22:40:54 +0000 (00:40 +0200)]
Fix srcStageMask in buffer_marker tests

If srcAccessMask in pipeline barrier is VK_ACCESS_TRANSFER_WRITE_BIT the
srcStageMask must be VK_PIPELINE_STAGE_TRANSFER_BIT

Components: Vulkan

VK-GL-CTS issue: 3963

Affected tests:
dEQP-VK.api.buffer_marker.compute.default_mem.*

Change-Id: I0a5957d714c4c5cb9f2855421cd78683b7b7b819

2 years agoEnable features in synchrnozation tests custom device
ziga-lunarg [Mon, 19 Sep 2022 00:00:02 +0000 (02:00 +0200)]
Enable features in synchrnozation tests custom device

The custom device used in synchrnonization utils does not enable any
features, but uses for example geometryShader

Components: Vulkan

VK-GL-CTS issue: 3964

Affected tests:
dEQP-VK.synchronization.*

Change-Id: Ia8f46b3e1ca519f0436f7545ef1b1a80652dbc88

2 years agoRemove invalid unmatched flags test
ziga-lunarg [Tue, 27 Sep 2022 18:49:28 +0000 (20:49 +0200)]
Remove invalid unmatched flags test

The test is removed as it tries to perform a test case which is not
allowed by valid usage descriptions

This test was already removed from main, but not older release branches

Components: Vulkan

VK-GL-CTS issue: 3621

Removed tests:
dEQP-VK.api.device_init.create_device_queue2_unmatched_flags

Change-Id: I42c21222f7c3a066ca07b967bdde54dbb3007336

2 years agoFix barriers in synchronization2 tests
ziga-lunarg [Tue, 20 Sep 2022 23:07:56 +0000 (01:07 +0200)]
Fix barriers in synchronization2 tests

Stage VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR
is not supported with access mask VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT
or VK_ACCESS_2_INDEX_READ_BIT

Components: Vulkan

VK-GL-CTS issue: 3977

Affected tests:
dEQP-VK.synchronization2.*

Change-Id: I0c40b798e80fda98cdda49788210331a878f6bd5

2 years agoFix errors in buffer_marker tests
ziga-lunarg [Fri, 23 Sep 2022 00:34:09 +0000 (02:34 +0200)]
Fix errors in buffer_marker tests

If srcAccessMask is VK_ACCESS_TRANSFER_WRITE_BIT the stage mask must be
VK_PIPELINE_STAGE_TRANSFER_BIT
If vkFreeDescriptors is called, the descriptor pool must have been
created with VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT

Components: Vulkan

VK-GL-CTS issue: 3984

Affected tests:
dEQP-VK.api.buffer_marker.*.default_mem.*

Change-Id: Iaec7d2a74f7d4084258206d4c96cc112c23e38f8

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 29 Sep 2022 16:53:47 +0000 (16:53 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Icb63b934b1b399deb129bce52cc5b91cce1def10

2 years agoSimplify feature checking in YCbCr tests
Graeme Leese [Mon, 12 Sep 2022 09:24:51 +0000 (10:24 +0100)]
Simplify feature checking in YCbCr tests

Components: Vulkan
VK-GL-CTS Issue: 3937
Affects: dEQP-VK.ycbcr.*

Change-Id: I55fe0172efe4e64127927a10c08cc08d741ed817

2 years agoFix FSI tests flusing non host visible memory
ziga-lunarg [Wed, 14 Sep 2022 00:48:53 +0000 (02:48 +0200)]
Fix FSI tests flusing non host visible memory

Test try to flush memory that does not have host visible bit

Components: Vulkan

VK-GL-CTS issue: 3944

Affected tests:
dEQP-VK.fragment_shader_interlock.*

Change-Id: If7e1294a3d01e6c1dbd1bf08d9902c476ed5a2bd

2 years agoFix bad depth/stencil sync for depth_range_unrestricted
Graeme Leese [Wed, 14 Sep 2022 13:45:58 +0000 (14:45 +0100)]
Fix bad depth/stencil sync for depth_range_unrestricted

The synchronisation for the depth image was only for the late fragment
tests stage and only for writing. Since the depth test needs to read the
existing value the sync requires the READ bit and should apply at the
earliest stage that might perform the test (EARLY_FRAGMENT_TESTS, rather
than LATE_FRAGMENT_TESTS).

Component: Vulkan
Affects: dEQP-VK.pipeline.depth_range_unrestricted.*

Change-Id: I329e0f201735d0241c35f37a33379f361334f43e

2 years agolower local size for some amber KHR_workgroup_memory_explicit_layout tests
Iago Toral Quiroga [Wed, 31 Aug 2022 10:40:58 +0000 (12:40 +0200)]
lower local size for some amber KHR_workgroup_memory_explicit_layout tests

Some of these tests use a local size that exceeds the minimum requirement
in the spec and don't check whether the implementation supports it.

Rewrite the tests to use the minimum limit required by the spec for
maxComputeWorkGroupInvocations, which is 128, so that the test can
run on any implementation.

VK-GL-CTS issue: 3913
Components: Vulkan
Affects:
dEQP-VK.compute.workgroup_memory_explicit_layout.copy_memory.*
dEQP-VK.compute.workgroup_memory_explicit_layout.zero_ext.*

Change-Id: I4e8135d8d60e044f92ed5c53648fda24f067edc0

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 15 Sep 2022 16:43:57 +0000 (16:43 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I69b15479584e309ff31e12b315aeb42b01410e61

2 years agoFix using device coherent memory without enabling the feature
ziga-lunarg [Fri, 2 Sep 2022 21:45:58 +0000 (23:45 +0200)]
Fix using device coherent memory without enabling the feature

Components: Vulkan

VK-GL-CTS issue: 3921

Affected tests:
dEQP-VK.memory.allocation.*

Change-Id: I4eb9e1ab6f22487573bfe14affa75396962145c8

2 years agoFix modifier tests - Add Invalidate memory before host read.
Matthew Netsch [Thu, 8 Sep 2022 14:00:27 +0000 (07:00 -0700)]
Fix modifier tests - Add Invalidate memory before host read.

After performing copyImagetoBuffer buffers no invalidation was given
before reading from host. Add the invalidate operation for buffer
before reading.

Components: Vulkan
VK-GL-CTS Issue: 3929

Affected tests:
dEQP-VK.transform_feedback.simple.*

Change-Id: I57dd4d65e9894e85f7d0c5adc4682f45e046bc02

2 years agoFix build in C++20 mode.
Peter Kasting [Thu, 8 Sep 2022 19:00:54 +0000 (19:00 +0000)]
Fix build in C++20 mode.

* Compound assignments to volatiles are deprecated.  Use non-compound
  forms.
* Math between disparate enums is deprecated.  Use constexprs.
* The full definition of a type T must be visible for code that
  instantiates std::vector<T>.  Reorder code to guarantee this.

Components: Framework

Bug: chromium:1284275
Change-Id: I75a99b5c09cc911f2312aabe85f49aadff84dc51

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 8 Sep 2022 16:36:32 +0000 (16:36 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Idcb4f9a2cb008e61fcfcd45aaed0e31be4cf8e1b

2 years agoFix wrong calculation to check diff between floats.
Hyunjun Ko [Fri, 2 Sep 2022 05:27:33 +0000 (14:27 +0900)]
Fix wrong calculation to check diff between floats.

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.graphics.*

Components: Vulkan

VK-GL-CTS issue: 3916

Change-Id: I05d2b7375c0bd34b6b7fffabbfe52969009ea218

2 years agoVK_EXT_pipeline_creation_feedback: Invalid feedback is legal
Chad Versace [Thu, 25 Aug 2022 20:27:53 +0000 (13:27 -0700)]
VK_EXT_pipeline_creation_feedback: Invalid feedback is legal

The tests incorrectly required that
VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT be set in
VkPipelineCreationFeedbackCreateInfo::pPipelineCreationFeedback.
However, the tests already and correctly permit the bit to be unset in
VkPipelineCreationFeedbackCreateInfo::pPipelineStageCreationFeedbacks.

The Vulkan 1.3.225 spec says:
    An implementation should write pipeline creation feedback to
    pPipelineCreationFeedback and may write pipeline stage creation
    feedback to pPipelineStageCreationFeedbacks. An implementation must
    set or clear the VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT in
    VkPipelineCreationFeedback::flags for pPipelineCreationFeedback and
    every element of pPipelineStageCreationFeedbacks.

Components: Vulkan
VK-GL-CTS Issue: 3912
Affects:
dEQP-VK.pipeline.creation_feedback.*

Signed-off-by: Chad Versace <chadversary@google.com>
Change-Id: I4eb37b5888a4d780b4b0b12f9c65960aca9f7806

2 years agoStay within the minimum required limit for maxUniformBufferRange
Andreas Flöjt [Tue, 14 Jun 2022 13:07:46 +0000 (15:07 +0200)]
Stay within the minimum required limit for maxUniformBufferRange

The biggest one was i64vec4 which consumed 128kB. Now it fits within the
16384 byte minimum supported buffer range.

Affects:
dEQP-VK.robustness.buffer_access.vertex.*
dEQP-VK.robustness.buffer_access.fragment.*
dEQP-VK.robustness.buffer_access.compute.*

Components: Vulkan

VK-GL-CTS issue: 3776

Change-Id: Ib71dce12a346bce79a9b719e227cd6ddfb0d64b6

2 years agoFix unsupported condition in memory requirements test
Sławomir Cygan [Mon, 22 Aug 2022 12:52:59 +0000 (14:52 +0200)]
Fix unsupported condition in memory requirements test

This fixes parantheses to not require VK_KHR_sampler_ycbcr_conversion
extension for non-YCbCr formats

VK-GL-CTS Issue: 3902

Affects: dEQP-VK.memory.requirements.*

Components: Vulkan
Change-Id: I17c58fb1f085e7d32dea9aceb2b9e421990499a5

2 years agoFix device_memory_report test
Piotr Byszewski [Thu, 21 Jul 2022 10:23:03 +0000 (12:23 +0200)]
Fix device_memory_report test

allocation_failed test for VK_EXT_device_memory_report attempts to
allocate UINT64_MAX bytes of memory in order to deliberately trigger
an allocation failure. However, vkAllocateMemory also has VU in which
allocationSize must be less than or equal to
VkPhysicalDeviceMemoryProperties::memoryHeaps[memindex].size .

VK-GL-CTS issue: 3775

Components: Vulkan

Affects:
dEQP-VK.memory.device_memory_report.vk_device_memory.allocation_failed

Change-Id: I0b9db1beb1e7b01d369d5ee6bbfb93c2eb3e1c97

2 years agoFix undefined behaviour by allowing NaNs
Marcin Kańtoch [Tue, 26 Jul 2022 15:25:41 +0000 (17:25 +0200)]
Fix undefined behaviour by allowing NaNs

One graphicsfuzz test contains computations with the float constant 0x1.8p+128.
This constant represents a NaN value. The computation with undef in the test
allows any optimization/triggers undefined behavior and the driver is free
to crash. Adding OpExecutionMode %4 SignedZeroInfNanPreserve 32 to the CTS fixes
this by allowing NaNs.

Affects:
dEQP-VK.graphicsfuzz.cov-instruction-simplify-atanh-log-undefined

Components: Vulkan

VK-GL-CTS issue: 3787

Change-Id: I2442bc4f50add8b8f779dbfae3c5fe2be8fd85f4

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 1 Sep 2022 23:48:42 +0000 (16:48 -0700)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Id9e93b66b2242c3b789e5742b84432c1ba8b355e

2 years agoRemove non-compliant event wait test
Aitor Camacho [Tue, 30 Aug 2022 15:40:50 +0000 (17:40 +0200)]
Remove non-compliant event wait test

Removed tests:
dEQP-VK.api.command_buffers.record_simul_use_primary
dEQP-VK.api.command_buffers.record_simul_use_secondary

Components: Vulkan

VK-GL-CTS issue: 3432

Change-Id: I297b53dcee56bec69e3abd3693639f64e462a574

2 years agoRework platform memory limits
Ilkka Saarelainen [Thu, 2 Dec 2021 05:45:44 +0000 (07:45 +0200)]
Rework platform memory limits

Some OpenGL tests in openglcts and kc_cts used Vulkan platform class to
get the available system / device memory. The memory limits are not
Vulkan related.

This CL moves the getMemoryLimits function to the base class of all
platforms, so the functions can be accessed from openglcts without
referencing any Vulkan files.

Affects:

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

KHR-GL4*.shader_image_load_store.advanced-*

Components:
Vulkan, OpenGL, Framework

VK-GL-CTS issue: 3360

Change-Id: I0743a83148c946d962fd793c8771f2c3c2e33ecc

2 years agoVK_EXT_pipeline_creation_feedback: Add indentation
Chad Versace [Thu, 25 Aug 2022 22:19:54 +0000 (15:19 -0700)]
VK_EXT_pipeline_creation_feedback: Add indentation

No change in behavior.

Add an indentation level to some code. This prepares for the next
commit, making its diff understandable.

Components: Vulkan

Change-Id: I31e5f706ca6f05b42682a862c740bc4953a91f9b

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 25 Aug 2022 16:37:33 +0000 (16:37 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Ia1e9c64b9149680d40e6c2deff9e64725c227439

2 years agoImprove the error message when storing uncomressed images fails.
Hyunjun Ko [Mon, 22 Aug 2022 06:55:24 +0000 (15:55 +0900)]
Improve the error message when storing uncomressed images fails.

It's been ambiguous since the output doesn't have any information when
storing an uncompressed image fails.

Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.*

Components: Vulkan

VK-GL-CTS issue: 3897

Change-Id: I923efb15a9927c87c581dc3c96115b5d6c0b2580

2 years agoFix loop continue construct for SPIR-V assembly
Graeme Leese [Thu, 18 Aug 2022 14:33:53 +0000 (15:33 +0100)]
Fix loop continue construct for SPIR-V assembly

The multi-block continue construct tests were setting the continue
target to the loop header itself, which is not valid according to the
new structural dominance rules. Set it to the first block inside the
loop instead, which still gives a multi-block continue construct but
also follows the validation rules.

Components: Vulkan
VK-GL-CTS issue: 3896
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.loop.multi_block_continue_construct_*

Change-Id: I7480f6107696ec8587625bfa110aa7478308512f

2 years agoFix SPIRV validation for decoration tests
Graeme Leese [Thu, 18 Aug 2022 11:36:28 +0000 (12:36 +0100)]
Fix SPIRV validation for decoration tests

The decoration matching tests were incorrectly using Flat and
NoPerspective decoration on vertex inputs. The validator has been
updated to catch these errors, so the tests now cause an InternalError.

Compoennts: Vulkan
VK-GL-CTS issue: 3895
Affects: dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.flat
         dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.no_perspective
         dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.flat
         dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.no_perspective

Change-Id: I818868ca87d15d068430e9721204be620b28e225

2 years agoFix barrier VK_AMD_buffer_marker
Arkadiusz Sarwa [Tue, 23 Aug 2022 15:08:55 +0000 (17:08 +0200)]
Fix barrier VK_AMD_buffer_marker

Affected tests:
dEQP-VK.api.buffer_marker.*

Components: Vulkan
VK-GL-CTS issue: 3854

Change-Id: Ia65c7ec44db3019125012b7d7e2d1b65e0f942f6

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

Change-Id: Id059134a7e90b7b6c1c35ad9955ec1bc994db896

2 years agoCorrect the image barrier in ray tracing test
yaozhong.zhang [Thu, 4 Aug 2022 10:59:54 +0000 (18:59 +0800)]
Correct the image barrier in ray tracing test

When running the ray tracing pipeline CPU build tests, the image
barrier is not actually used, as no acceleration structure commands
are recorded. On the other hand, the image is used by trace ray
command, instead of building acceleration structure. So, change the
barrier for trace ray command.

Affects:
dEQP-VK.ray_tracing_pipeline.build.*

Components: Vulkan

VK-GL-CTS issue: 3874

Change-Id: Ie70fd57fe9f81952dff21f670a194244856c3d3b

2 years agoFix undefined behaviour by bit-shifting with negative value.
Hyunjun Ko [Tue, 16 Aug 2022 09:34:12 +0000 (18:34 +0900)]
Fix undefined behaviour by bit-shifting with negative value.

When getTextureFormatMantissaBitDepth returns 0 for the non-existent channels,
it leads to 1u << (0u - 1u), that is undefined behaviour, especially
leads to unexpected results on arm64.

Affects:
dEQP-VK.image.store.*
dEQP-VK.image.load_store.*
dEQP-VK.image.format_reinterpret.*

Components: Vulkan

VK-GL-CTS issue: 3888

Change-Id: I669eebb1f78c78dc89fb456e71f2ca0af3b66836

2 years agoDisable interval watchdog for sets32 in vktBindingDescriptorSetRandomTests
Yiwei Zhang [Thu, 4 Aug 2022 18:38:51 +0000 (18:38 +0000)]
Disable interval watchdog for sets32 in vktBindingDescriptorSetRandomTests

There're certain sets32 tests doing super long shader compilations.To be
noted that the re-enablement is placed after fence waiting to favor
virtualization drivers that making asynchronous pipeline creation calls
to the host. The long blocking shader compilation will show up upon
guest waiting for the fence to signal.

Affects: dEQP-VK.binding_model.descriptorset_random.sets32.*

Components: Vulkan

VK-GL-CTS issue: 3878

Change-Id: Id25378e9546950bed463f1f278c6859306e0e0d8

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 11 Aug 2022 16:19:15 +0000 (16:19 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I77d7ce7559662f59a9a0eee5d2734171421c9e1e

2 years agoFix physical_device_groups custom instance usage
Ricardo Garcia [Thu, 4 Aug 2022 15:43:33 +0000 (17:43 +0200)]
Fix physical_device_groups custom instance usage

The test is using a custom instance but misusing the default instance in
some API calls and expecting some consistency in the results.

In addition, the custom instance was not correctly collecting validation
error messages and some VkPhysicalDeviceGroupProperties structures were
not setting the sType as expected.

Affects:
dEQP-VK.info.physical_device_groups

Components: Vulkan
VK-GL-CTS issue: 3876

Change-Id: I3900723034bddb2dee0aaaab549cc6d362b1339e

2 years agoFix memory barrier for alias sparse memory
Pan Gao [Wed, 3 Aug 2022 12:48:18 +0000 (20:48 +0800)]
Fix memory barrier for alias sparse memory

Memory read/write order through different views that are aliased
need to be handled in application. Otherwise, implementation may
give undefined results.

Affects:
dEQP-VK.sparse_resources.image_sparse_memory_aliasing.*

Components: Vulkan

VK-GL-CTS issue: 3709

Change-Id: I8739aeeaf05103942158451196480734f62ab835

2 years agoRevert "Fix undefined behaviour by allowing NaNs"
Matthew Netsch [Wed, 10 Aug 2022 15:58:15 +0000 (15:58 +0000)]
Revert "Fix undefined behaviour by allowing NaNs"

This reverts commit 8b95b2a1da75ca3dc3a2cfac98ce10d9a699687e.

Reason for revert: Amber verify failures on main

Components: Vulkan
VK-GL-CTS Issue: 3787

Affects:
dEQP-VK.graphicsfuzz.cov-instruction-simplify-atanh-log-undefined

Change-Id: Ifdf1a47a32091182fa51353748ffcf4eeab92d51

2 years agoFix undefined behaviour by allowing NaNs
Marcin Kańtoch [Tue, 26 Jul 2022 15:25:41 +0000 (17:25 +0200)]
Fix undefined behaviour by allowing NaNs

One graphicsfuzz test contains computations with the float constant 0x1.8p+128.
This constant represents a NaN value. The computation with undef in the test
allows any optimization/triggers undefined behavior and the driver is free
to crash. Adding OpExecutionMode %4 SignedZeroInfNanPreserve 32 to the CTS fixes
this by allowing NaNs.

Affects:
dEQP-VK.graphicsfuzz.cov-instruction-simplify-atanh-log-undefined

Components: Vulkan

VK-GL-CTS issue: 3787

Change-Id: Id7140deddec240fdc5d9b1712c974199fa06b250

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 4 Aug 2022 15:54:42 +0000 (15:54 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I2adb1c6a23f05f9b1bc09a86852a39d3aa12ceaf

2 years agoFix Api version check with loaders
Matthew Netsch [Fri, 29 Jul 2022 17:43:14 +0000 (10:43 -0700)]
Fix Api version check with loaders

Loaders return instance version that they support,
which may be greater than version ICDs support.

Change version check to use device version instead
of instance version for the purposes of verifying if
this version of CTS is legal to be used with the ICD.

Components: Vulkan
VK-GL-CTS Issue: 3863

Affects:
* dEQP-VK.api.version_check.version

Change-Id: I57e9a4aeee0ebda3fee1396c780d03941959ba6f

2 years agoFix partial heap usage in protected_memory android swapchain tests
Chris Hambacher [Thu, 21 Jul 2022 18:28:01 +0000 (13:28 -0500)]
Fix partial heap usage in protected_memory android swapchain tests

On devices with small amounts of protected memory, limitting usage to
25% of the total protected memory causes tests to be skipped. Tweak
to allow for full usage of the protected heap.

Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.min_image_count
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.image_format
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.image_extent

Components: Vulkan

VK-GL-CTS Issue: 3296

Change-Id: I43c1cfc8d0e44d401952317158829f1a2da241a1

2 years agoHandle latest Wayland version
Piotr Byszewski [Tue, 19 Jul 2022 10:48:15 +0000 (12:48 +0200)]
Handle latest Wayland version

CTS used a deprecated protocol wl_shell, which has been replaced
in Ubuntu 22.04 by xdg-shell. This change replaces all wl_shell
calls with corresponding xdg-shell calls.
Note that xdg-shell is a protocol and in wayland-protocols repository
we have only xml that defines this protocol. wayland-scanner tool is
used to generate the .h and .c files in build directory.

VK-GL-CTS issue: 3774

Components: Vulkan

Affects:
*
dEQP-VK.image.swapchain_mutable.wayland*
dEQP-VK.wsi.wayland.swapchain.*
dEQP-VK.wsi.wayland.incremental_present.*

Change-Id: I44879d9eb072dbfa5e172eaac81968e65e8a276c

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 28 Jul 2022 18:02:44 +0000 (18:02 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I467ac13c25862ebfd2f1844e9e6574796cdc3f66

2 years agoFix barrier VK_AMD_buffer_marker tests
Arkadiusz Sarwa [Tue, 26 Jul 2022 14:48:51 +0000 (16:48 +0200)]
Fix barrier VK_AMD_buffer_marker tests

Affected tests:
dEQP-VK.api.buffer_marker.*

Components: Vulkan
VK-GL-CTS issue: 3854

Change-Id: I92571c00f1392652684ece1d4bbfb8122367e3ce

2 years agoFix for different values of subTexelPrecisionBits.
michal_jakubek [Wed, 6 Jul 2022 04:17:26 +0000 (06:17 +0200)]
Fix for different values of subTexelPrecisionBits.

Affects: dEQP-VK.texture.conversion.snorm_clamp_linear.*

Components: Vulkan

VK-GL-CTS issue: 3724

Change-Id: I5ec839ea8169aa5749f6ff9e7b80298a475d6207

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 21 Jul 2022 15:45:40 +0000 (15:45 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I25a2d0cdd0a876568dede576e384d9ff8d1b93ea

2 years agoBackport CMake library change from master
Graeme Leese [Mon, 6 Jun 2022 14:00:35 +0000 (15:00 +0100)]
Backport CMake library change from master

Following the VKSC update the syntax used for CMake link libraries
includes a visibility specifier. Because CMake requires that all uses of
this command on a single target are consistent (either all with or all
without the specifier), having this mismatch between main and the
release branches creates an integration problem, so this backports that
part of the change. The qualifier added here is both the value used in
later changes and the default if nothing is specified, so the effect of
this change should be minimal.

Components: All (CMake build only)

Change-Id: I1c7e850d52de3cc0493a47bf36ad35bd55b05184

2 years agoFix imprecise occlusion query inheritance tests
Jeff Bolz [Fri, 15 Jul 2022 15:47:38 +0000 (10:47 -0500)]
Fix imprecise occlusion query inheritance tests

Out of the four combinations of {precise query, imprecise query} X
{precise inheritance info, imprecise inheritance info}, three
combinations are valid under VUID-vkCmdExecuteCommands-commandBuffer-00103.
The two test cases that were supposed to use imprecise queries were
using precise.

Affects: dEQP-VK.api.command_buffers.record_query_imprecise*

Components: Vulkan
Change-Id: Idc8ceb2cf2d978c24c60c36ffa3406d9d16b55e6

2 years agoFix invalid usage in descriptor_indexing.input_attachment tests
Jeff Bolz [Tue, 19 Jul 2022 13:59:55 +0000 (08:59 -0500)]
Fix invalid usage in descriptor_indexing.input_attachment tests

Input attachments are only supported in the fragment stage. Tweak the
descriptorbinding's stageFlags to follow this rule.

Affects: dEQP-VK.descriptor_indexing.*

Components: Vulkan, VulkanSC

VK-GL-CTS Issue: 3840

Change-Id: Id6a2fac8563bfb8a83b71cc9dd0428fe9e3c46a6

2 years agoFix missing support check in rtp test
Yifan Dai [Mon, 20 Jun 2022 11:29:19 +0000 (19:29 +0800)]
Fix missing support check in rtp test

The binding descriptor AS tests for rtp stage missed support check
when maxRayRecursionDepth equals 1

Affects:
dEQP-VK.binding_model.descriptor_update.acceleration_structure.
ray_tracing*

Components: vulkan

VK-GL-CTS issue: 3700

Change-Id: I8f2886aa60de2855799b43c27a853e903955f422

2 years agoFix image feature checking in YCbCr view tests
Graeme Leese [Fri, 24 Jun 2022 14:02:19 +0000 (15:02 +0100)]
Fix image feature checking in YCbCr view tests

The tests were using midpoint chroma sampling without checking for
support.

Components: Vulkan
VK-GL-CTS issue: 3601
Affects: dEQP-VK.ycbcr.plane_view.*

Change-Id: Iffd248b40c8d3c71cb2be28ad4fe7457bad25fa9

2 years agoFix control flow in SPIR-V test cases
Alan Baker [Mon, 13 Jun 2022 13:06:25 +0000 (09:06 -0400)]
Fix control flow in SPIR-V test cases

Adapts three graphicsfuzz test cases to reflect changes in the SPIR-V
specification that tighten the rules for structured control flow.

Component: Vulkan

VK-GL-CTS Issue: 3612, 3613, 3615

Affected tests:
dEQP-VK.graphicsfuzz.control-flow-switch
dEQP-VK.graphicsfuzz.cov-dead-branch-func-return-arg
dEQP-VK.graphicsfuzz.nested-for-loops-with-return

Change-Id: I3b581dcdc685717421c7c7a7299bf378b3cc3b01

2 years agoFix checkSupport for pipeline bind point tests
Thomas Aven [Mon, 13 Jun 2022 07:30:40 +0000 (09:30 +0200)]
Fix checkSupport for pipeline bind point tests

Ray tracing tests are unconditionally skipped if VK_KHR_push_descriptor
or VK_KHR_descriptor_update_template is not supported by the
implementation, as the support check logic is mistakenly checking only
the graphics and compute pipeline usages. Fix the support checks by
first checking which pipelines are used in the test.

Affects:
dEQP-VK.pipeline.monolithic.bind_point.*

Components: Vulkan

VK-GL-CTS issue: 3820

Change-Id: Ic6f0b78ca2d4d5415db03ca1186100494201548f

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 7 Jul 2022 18:01:59 +0000 (18:01 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Id3635ffcac963dbd16ed489269205e90f92aa6a0

2 years agoChange direction of IgnoreIntersection/TerminateRay tests
Max Andersson [Thu, 9 Jun 2022 12:40:46 +0000 (14:40 +0200)]
Change direction of IgnoreIntersection/TerminateRay tests

Changes the ray direction of the IgnoreIntersection and
TerminateRay tests such that it shoots the ray into the
center of the triangle, rather than exactly at one of
its edges.

Impacts tests:
dEQP-VK.ray_tracing_pipeline.misc.Op*

Components: Vulkan
VK-GL-CTS issue: 3771

Change-Id: Ic36cc125238323eb367412f220afe8907f700c8d

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Thu, 7 Jul 2022 17:36:30 +0000 (17:36 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I7ab0e9094c250af82f5aa28183fe5759e96f3e5f

2 years agoFix image feature checking in YCbCr filtering tests
Joe Withers [Fri, 1 Jul 2022 15:28:05 +0000 (16:28 +0100)]
Fix image feature checking in YCbCr filtering tests

The tests were using linear chroma filtering without checking for
support.

Components: Vulkan

Affects:
dEQP-VK.ycbcr.filtering.*

Change-Id: I2619667b8ebf78f3c2c1880501925a1348305b64

2 years agoAdd missing barrier in ray tracing tests
Thomas Aven [Mon, 30 May 2022 09:38:02 +0000 (11:38 +0200)]
Add missing barrier in ray tracing tests

When running the CPU build acceleration structure tests, no acceleration
structure commands are recorded, resulting in a missing execution
barrier. Add the missing barrier between vkCmdClearColorImage and
vkCmdTraceRaysKHR. This barrier is the same barrier used in the
equivalent ray query tests.

Affects:
dEQP-VK.ray_tracing_pipeline.acceleration_structures.*

Components: Vulkan

VK-GL-CTS issue: 3750

Change-Id: Ib9fc047e6e3a45165e5028846f8f10e96aca53c1

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Thu, 16 Jun 2022 16:20:42 +0000 (16:20 +0000)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: If7368ce72c121d0642e902c08c0f79d6c99ad73c

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

Change-Id: I238c6805dbba58a1dddb7639663cd9c9b83b7f64

2 years agoFix modifier tests - Add Invalidate memory before host read.
Matthew Netsch [Mon, 6 Jun 2022 15:54:27 +0000 (08:54 -0700)]
Fix modifier tests - Add Invalidate memory before host read.

Test cases for extension VK_EXT_image_drm_format_modifier were failing randomly due to image mismatch.
This was due to after performing copyImagetoBuffer buffers are not invalidated before reading from host.
Added the invalidate operation for buffer before reading.

Components: Vulkan
VK-GL-CTS Issue: 3744

Affects:
dEQP-VK.drm_format_modifiers.*

Change-Id: I57b27bf9c0beea0ed822b36ea379b024f9d1690a

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