platform/upstream/VK-GL-CTS.git
2 years agoFix stencil rendering in draw_with_dynamic_rendering.multi_draw tests
Sławomir Cygan [Thu, 21 Oct 2021 13:18:19 +0000 (15:18 +0200)]
Fix stencil rendering in draw_with_dynamic_rendering.multi_draw tests

This fixes few issues with handling depth/stencil attachment in this test:

Stencil attachment is now passed to rendering info, alongside depth attachment.

A barrier transitioning depth stencil subresource from UNFEFINED layout is added.

A barrier initializing color subresource is fixed to be executed with desition stage
that involves color.

Components: Vulkan

VK-GL-CTS Issue: 3235

Affects: dEQP-VK.draw_with_dynamic_rendering.multi_draw.*

Change-Id: I2b1a0bb04dae24328ab798a9e436e1000db901de
(cherry picked from commit 9f2876528c93cd47a59604ce4f30e8525560f280)

2 years agoFix DS Layout in LoadStoreOpNone when using dynamic_rendering
Aaron Hagan [Thu, 21 Oct 2021 13:38:17 +0000 (09:38 -0400)]
Fix DS Layout in LoadStoreOpNone when using dynamic_rendering

It's in the wrong layout when being read from.

Components: Vulkan
VK-GL-CTS issue: 3236

Affected tests:
   dEQP-VK.renderpass_with_dynamic_rendering.suballocation.load_store_op_none.*

Change-Id: I58ae176c6d179cfb262434b24937c5f278112ea6
(cherry picked from commit 12d53a826d2769990d15f78dc2210d173ad00ee0)

2 years agoFix VkClearRect sizes for vkCmdClearAttachment()
Samuel Iglesias Gonsálvez [Thu, 7 Oct 2021 09:29:38 +0000 (11:29 +0200)]
Fix VkClearRect sizes for vkCmdClearAttachment()

The test was doing out-of-bounds clears of attachments.

Components: Vulkan
VK-GL-CTS issue: 3174

Affected tests:

   dEQP-VK.dynamic_rendering.*

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: I6cbf82efdea824cc07aeaddf814368da5b8b5848
(cherry picked from commit 1c7f179642501615b4fafd249f84265f8577aa0b)

2 years agoPartial revert of CL 8054: Fix invalid layout transitions in some dynamic rendering...
Piers Daniell [Wed, 13 Oct 2021 03:44:04 +0000 (21:44 -0600)]
Partial revert of CL 8054: Fix invalid layout transitions in some dynamic rendering tests

This image barrier change was wrong. I thought this was a duplicate
barrier for the color attachment image, but it was actually
one for the depth/stencil attachment image.

Affects:

dEQP-VK.multiview.dynamic_rendering.depth.*
dEQP-VK.multiview.dynamic_rendering.stencil.*

Components: Vulkan

VK-GL-CTS issue: 3164

Change-Id: Id65e226eaec2c158289d684a0a997d8a929a5f45
(cherry picked from commit 46888763ffc567b84befacc92aeea40171373111)

2 years agoFix invalid layout transitions in some dynamic rendering tests
Piers Daniell [Wed, 29 Sep 2021 14:04:22 +0000 (08:04 -0600)]
Fix invalid layout transitions in some dynamic rendering tests

Some of the dynamic rendering tests do an image layout transition
from uninitialized when the image is already in use. This can lead
to corruption of the image content.

This CL removes an unnecessary barrier from the
dEQP-VK.multiview.dynamic_rendering.readback* tests and fixes
a barrier with the dEQP-VK.multiview.dynamic_rendering.depth.*
and dEQP-VK.multiview.dynamic_rendering.stencil.* tests.

Affects:

dEQP-VK.multiview.dynamic_rendering.depth.*
dEQP-VK.multiview.dynamic_rendering.stencil.*
dEQP-VK.multiview.dynamic_rendering.readback*

Components: Vulkan

VK-GL-CTS issue: 3164

Change-Id: Ib0847839528909337001d32bbde59c7e979ec9e9
(cherry picked from commit 06187ab8c572cc8227224841ffcc4660b90a8d39)

2 years agoUpdate dynamic rendering tests to separate formats
Piotr Byszewski [Thu, 30 Sep 2021 13:12:20 +0000 (15:12 +0200)]
Update dynamic rendering tests to separate formats

Depth and stencil formats were split in VK_KHR_dynamic_rendering.

VK-GL-CTS issue: 3161

Components: Vulkan

Affects:
dEQP-VK.draw_with_dynamic_rendering.*
dEQP-VK.multiview.dynamic_rendering.*
dEQP-VK.fragment_shading_rate_with_dynamic_rendering.*
dEQP-VK.renderpass_with_dynamic_rendering.*
dEQP-VK.dynamic_rendering.*

Change-Id: Id28ccb278ad6cc52b733d31076343874762d8c39
(cherry picked from commit 3f33ffcf27318fe7ca55d4a5866b9803000c7a2c)

2 years agoDo not chain dynamic render pass inheritance info in dEQP-VK.renderpass
Slawomir Cygan [Wed, 29 Sep 2021 16:26:49 +0000 (18:26 +0200)]
Do not chain dynamic render pass inheritance info in dEQP-VK.renderpass

This fixes the tests that do not use, enable or require dynamic rendering
to not chain the VkCommandBufferInheritanceRenderingInfoKHR structure,
which is only for inheritinh the dynamic renderpasses.

Affects: dEQP-VK.renderpass*

VK-GL-CTS Issue: 3165

Components: Vulkan

Change-Id: Idb8fed2bcd6a6bf664cf5516a664b8beaa94484a
(cherry picked from commit f654a58b74d3f278c43e7e25cdc5d2d29e1d7abf)

2 years agoWrong format in load_store_op_none test.
Aaron Hagan [Mon, 27 Sep 2021 19:22:47 +0000 (15:22 -0400)]
Wrong format in load_store_op_none test.

One of the load_store_op_none tests is currently using the incorrect
VK_FORMAT_R8G8B8A8_UNORM format for the color attachments.
It should be using VK_FORMAT_R8G8B8A8_UINT instead.

VK-GL-CTS issue: 3154
Components: Vulkan

Affected tests:
dEQP-VK.renderpass_with_dynamic_rendering.suballocation.load_store_op_none.color_load_op_none_store_op_none_resolve

Change-Id: I7dd8b4da05fef58d91a8913ac49912ba683f033d
(cherry picked from commit 37c52f8beafb8ad45bb84cd54c17e41c2e02825f)

2 years agoAdded extra test case for load/store op none
Ari Suonpaa [Wed, 4 Aug 2021 12:10:21 +0000 (15:10 +0300)]
Added extra test case for load/store op none

Added a case that covers resolving a multisampled unsigned
integer color buffer using load and store op none.

VK-GL-CTS Issue: 2971

New tests:

dEQP-VK.renderpass*.suballocation.load_store_op_none.color_load_op_none_store_op_none_resolve

Components: Vulkan
Change-Id: Iab7f7340009d98283d9afb5683fe3bba273de110
(cherry picked from commit 48c886f0ef7dfbd839d9abcfd59911d0914e1188)

2 years agodEQP-VK.renderpass*.load_store_op_none.* tests depth-stencil format support check
Neslisah [Thu, 12 Aug 2021 15:32:21 +0000 (11:32 -0400)]
dEQP-VK.renderpass*.load_store_op_none.* tests depth-stencil format support check

In this test case, depth stencil format is set to VK_FORMAT_D24_UNORM_S8_UINT by default without checking if it is supported or not. If this format is not supported, then the test case crashes without even giving "Not Supported" result.

In this update I defined a set of depth stencil formats, and added a separate test case for each depth_stencil format. If the depth_stencil format is not supported, "Not Supported" is returned.

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

Components: Vulkan
VK-GL-CTS issue: 3049

Change-Id: Ifea5d0955a8325ecbed7f27296da4120e473d463
(cherry picked from commit 79c44fc79b7d17b8c70d2469e113c764011c51c6)

2 years agoTest dynamic rendering with multiview tests
Piotr Byszewski [Fri, 11 Jun 2021 15:31:44 +0000 (17:31 +0200)]
Test dynamic rendering with multiview tests

This CL generalizes aplicable multiview tests to also test
functionality added with VK_KHR_dynamic_rendering extension.

Components: Vulkan

VK-GL-CTS issue: 2858

Affets:
dEQP-VK.multiview.*

Change-Id: Idd7db7d9e385d08fb8536e80043794edf3a69952
(cherry picked from commit f4d5fa5905b4587cc38878000f8ff5b65ef1828e)

2 years agoAdd ClearAttachments test to KHR_dynamic_rendering
Arkadiusz Sarwa [Thu, 17 Jun 2021 15:30:59 +0000 (17:30 +0200)]
Add ClearAttachments test to KHR_dynamic_rendering

VK-GL-CTS Issue: 2858

Components: Vulkan

Affects: dEQP-VK.dynamic_rendering.*

Change-Id: I2ce363d66c806c3369c50fc9710dc5245fd6546d
(cherry picked from commit ed363241ed4bce8caec1705556198f9893c40b7e)

2 years agoTest dynamic rendering with FSR tests
Piotr Byszewski [Tue, 1 Jun 2021 15:17:24 +0000 (17:17 +0200)]
Test dynamic rendering with FSR tests

This CL generalizes fragment_shading_rate tests to also
test functionality added with VK_KHR_dynamic_rendering extension.

Components: Vulkan

VK-GL-CTS issue: 2858

Affets:
dEQP-VK.fragment_shading_rate*

Change-Id: I769cf608344df04f38cc46e3978511e548124a82
(cherry picked from commit f23f1c9e1b079c1e60d6139cb029c6e0fcb0c7e0)

2 years agoAdd additional tests for VK_KHR_dynamic_rendering
Arkadiusz Sarwa [Wed, 2 Jun 2021 11:38:53 +0000 (13:38 +0200)]
Add additional tests for VK_KHR_dynamic_rendering

Change testing:

In one primary command buffer, record two render pass instances,
with the second resuming the first. In the first, draw one triangle
directly in the primary command buffer. For the second,
use CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw the second
triangle in a secondary command buffer, and execute it in that
second render pass instance.

In one primary command buffer, record two render pass instances,
with the second resuming the first. In the first,
use CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw the first triangle
in a secondary command buffer, and execute it in that first render pass
instance. In second, draw one triangle directly in primary command buffer.

In two primary command buffers, record two render pass instances,
with the second resuming the first. In the first, draw one triangle
directly in the primary command buffer. For the second,
use CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw the second triangle
in a secondary command buffer, and execute it in that second render pass.

In two primary command buffers, record two render pass instances,
with the second resuming the first. In the first,
use CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw the first triangle
in a secondary command buffer, and execute it in that first render pass.
In the second, draw one triangle directly in the primary command buffer.

New tests:
dEQP-VK.dynamic_rendering.contents_*secondary*cmdbuffers_resuming

Components: Vulkan
VK-GL-CTS issue: 2858

Change-Id: I0560c4bd1e2b3d8a3d9bcff8c72ab79e3c260cfe
(cherry picked from commit 755159a118049a8ded1540119191f6ed1b218b43)

2 years agoAdd new tests for VK_KHR_dynamic_rendering
Arkadiusz Sarwa [Thu, 15 Apr 2021 15:31:15 +0000 (17:31 +0200)]
Add new tests for VK_KHR_dynamic_rendering

Change testing:

Draw two triangles in a single primary command buffer,
beginning and ending the render pass instance

Draw two triangles in a single primary command buffer,
but across two render pass instances, with the second RESUMING first.

Draw two triangles in two primary command buffers,
across two render pass instances, with the second RESUMING the first.

Draw two triangles in two secondary command buffers,
across two render pass instances, with the second RESUMING the first,
both executed in the same primary command buffer.

Draw two triangles in two secondary command buffers,
across two render pass instances, with the second RESUMING the first,
executed in two primary command buffers.

Using CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw two triangles in
one secondary command buffer, and execute it inside single render pass
instance in one primary command buffer.

Using CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw two triangles in
two secondary command buffers, execute them inside a single render pass
instance in one primary command buffer.

Using CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw two triangles in
two secondary command buffers, and execute them inside two render pass
instances, with the second RESUMING the first, both recorded in
the same primary command buffer.

Using CONTENTS_SECONDARY_COMMAND_BUFFER_BIT_KHR, draw two triangles in
two secondary command buffers, and execute them inside two render pass
instances, with second RESUMINGfirst, recorded into two primary
cmdbuffers.

New tests:
dEQP-VK.dynamic_rendering*

Components: Vulkan
VK-GL-CTS issue: 2858

Change-Id: I511b04022eaae8b0876a3733f3405eddba7309b1
(cherry picked from commit 8c16db773471118ab02ab6a20882f4781eb0a523)

2 years agoTest dynamic rendering with renderpass tests
Piotr Byszewski [Thu, 27 May 2021 11:58:42 +0000 (13:58 +0200)]
Test dynamic rendering with renderpass tests

This CL generalizes aplicable renderpass tests to also test
functionality added with VK_KHR_dynamic_rendering extension.

Components: Vulkan

VK-GL-CTS issue: 2858

Affets:
dEQP-VK.renderpass*

Change-Id: I3a8e25ba3dced9c92f3ca96bd98bd56f677d9bca
(cherry picked from commit bbacafaa4ceee5a4615c4d4ce45d3e1ec152f6e9)

2 years agoTest dynamic rendering with draw tests
Piotr Byszewski [Sat, 15 May 2021 09:06:29 +0000 (11:06 +0200)]
Test dynamic rendering with draw tests

This CL generalizes most of draw tests to also test
functionality added with VK_KHR_dynamic_rendering extension.

Components: Vulkan

VK-GL-CTS issue: 2858

Affets:
dEQP-VK.draw*
dEQP-VK.conditional_rendering.draw.*
dEQP-VK.conditional_rendering.clear_attachments.*

Change-Id: Ie7898714ed16056d4ac94b4165f637c867eadfb0
(cherry picked from commit ebfa2b809100a23829b8c1b15f123795097eb57d)

2 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Thu, 30 Sep 2021 15:05:57 +0000 (18:05 +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-copy-output-color-swizzle-array-indexing
dEQP-VK.graphicsfuzz.cov-do-while-loop-until-uniform-lt-itself
dEQP-VK.graphicsfuzz.cov-fract-trunc-always-zero
dEQP-VK.graphicsfuzz.cov-function-find-lsb-ivec2-one
dEQP-VK.graphicsfuzz.cov-function-unpack-unorm-2x16-one
dEQP-VK.graphicsfuzz.cov-global-loop-counter-texture-sample-loop-condition-set-array-element
dEQP-VK.graphicsfuzz.cov-ivec-shift-right-by-large-number
dEQP-VK.graphicsfuzz.cov-large-int-array-nested-loops-set-ivec-index-component-sum
dEQP-VK.graphicsfuzz.cov-min-negative-constant-always-below-one
dEQP-VK.graphicsfuzz.cov-nested-functions-loop-assign-global-array-element
dEQP-VK.graphicsfuzz.cov-nested-loops-global-loop-counter-fragcoord-negative-always-false

Change-Id: I78c78c2b681e4ea5a7b05fb787a6a6fe8f589f22

2 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Thu, 30 Sep 2021 14:41:23 +0000 (17:41 +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-for-loop-condition-one-shift-right-integer-comparison-break
dEQP-VK.graphicsfuzz.cov-for-loop-start-negative-increment-variable
dEQP-VK.graphicsfuzz.cov-global-loop-counter-exhaust-calling-function-twice
dEQP-VK.graphicsfuzz.cov-global-loop-counter-read-past-matrix-size-never-executed
dEQP-VK.graphicsfuzz.cov-if-true-float-bits-to-int-one
dEQP-VK.graphicsfuzz.cov-index-array-using-uniform-bitwise-or-one
dEQP-VK.graphicsfuzz.cov-loop-increment-integer-findmsb-minus-uniform
dEQP-VK.graphicsfuzz.cov-loop-struct-array-field-set-value-self-dependency
dEQP-VK.graphicsfuzz.cov-nested-loop-initializer-value-increased-inside
dEQP-VK.graphicsfuzz.cov-nested-loops-clamp-ivec-push-constant-increment-global-counter

Change-Id: Id2bb89247693464600142ef6988d070f03f7d70e

2 years agoVK_EXT_rgba10x6_formats
Vidar Lilleboe [Tue, 7 Sep 2021 14:58:38 +0000 (16:58 +0200)]
VK_EXT_rgba10x6_formats

New tests:
dEQP-VK.pipeline.blend.format.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass.suballocation.multisample.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass.suballocation.multisample_resolve.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass.suballocation.multisample_resolve.layers_3.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass2.suballocation.multisample.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass2.suballocation.multisample_resolve.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass2.suballocation.multisample_resolve.layers_3.r10x6g10x6b10x6a10x6_unorm_4pack16.*
dEQP-VK.renderpass2.suballocation.sparserendertarget.r10x6g10x6b10x6a10x6_unorm_4pack16
dEQP-VK.texture.filtering.*r10x6g10x6b10x6a10x6_unorm*

Affected tests:
dEQP-VK.api.info.format_properties.r10x6g10x6b10x6a10x6_unorm_4pack16,
dEQP-VK.api.info.image_format_properties.2d.optimal.r10x6g10x6b10x6a10x6_unorm_4pack16

Components: Vulkan

VK-GL-CTS issue: 3115

Change-Id: I2dfd4004cfbbd923c71b2f7bcff426b4773c53a4

2 years agoImprove coverage of MSAA copies with different layouts
Vihanakangas [Wed, 29 Sep 2021 12:22:07 +0000 (15:22 +0300)]
Improve coverage of MSAA copies with different layouts

This commit adds a test that tests MSAA copies
with different image layout combinations.

New tests:

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

Affects:

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

Components: Vulkan

VK-GL-CTS issue: 3071

Change-Id: Iedf827aac72058f6bf7b7fe6e49e54816173d011

2 years agoAdd a batch of GraphicsFuzz coverage tests
Antto Mäkinen [Mon, 4 Oct 2021 10:23:13 +0000 (13:23 +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-for-loop-struct-as-iterator
dEQP-VK.graphicsfuzz.cov-function-argument-uniform-float-loop-never-return
dEQP-VK.graphicsfuzz.cov-function-large-array-max-clamp
dEQP-VK.graphicsfuzz.cov-function-trivial-switch-case
dEQP-VK.graphicsfuzz.cov-increment-vector-function-call-conditional
dEQP-VK.graphicsfuzz.cov-loop-condition-clamp-vec-of-ones
dEQP-VK.graphicsfuzz.cov-loop-increment-array-elements-clamp-index
dEQP-VK.graphicsfuzz.cov-loop-switch-discard-never-hit
dEQP-VK.graphicsfuzz.cov-matrix-mult-round-even-asinh
dEQP-VK.graphicsfuzz.cov-nested-functions-struct-arrays-vector-lengths
dEQP-VK.graphicsfuzz.cov-nested-loop-large-array-index-using-vector-components
dEQP-VK.graphicsfuzz.cov-nested-loops-global-loop-counter-iterator-dependency
dEQP-VK.graphicsfuzz.cov-ucarryadd-one-and-one
dEQP-VK.graphicsfuzz.cov-uniform-vector-function-argument-mod-increment-integers

Change-Id: I82412672dfe0d5534e1ecd151e46976657a41baa

2 years agoChange cache type to NO_CACHE in duplicate_batch_pipelines_no_cache test
Lesniewska [Thu, 10 Dec 2020 11:47:26 +0000 (12:47 +0100)]
Change cache type to NO_CACHE in duplicate_batch_pipelines_no_cache test

The test case is called "duplicate_batch_pipelines_no_cache",
but it's TestParams were set to EXPLICIT_CACHE - making it use the
pipeline cache, despite it's name.

Components: Vulkan

VK-GL-CTS Issue: 2710

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

Change-Id: Iaa27b10f4895808c4821c6e3ac13fe8ad217e087
(cherry picked from commit a5f16fb2d72ed1c377d03cfb938c4c718f5c814f)

2 years agomaintenance4: Add LocalSizeId tests
Piotr Byszewski [Wed, 14 Jul 2021 19:29:00 +0000 (21:29 +0200)]
maintenance4: Add LocalSizeId tests

For each compute shader entry point, either a LocalSize or
LocalSizeId execution mode, or an object decorated with the
WorkgroupSize decoration must be specified.

Components: Vulkan

VK-GL-CTS issue: 2996

Affets:
dEQP-VK.spirv_assembly.instruction.compute.localsize*

Change-Id: I5d4c5fff1d536fe6fe46b9f60009af8c9fb4a7f6
(cherry picked from commit 81ceb64d651e1e6f949df40613a794ed1452ee03)

2 years agoWire up support for maintenance4 validation
Graeme Leese [Mon, 9 Aug 2021 16:31:31 +0000 (17:31 +0100)]
Wire up support for maintenance4 validation

Pass the appropriate option to spirv-val if VK_KHR_maintenance4 is
supported.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.compute.*

Change-Id: I554bac9160dc55a017e1358a579b59249ed81079
(cherry picked from commit aada936b73b7779fcab9c061a48768db1bc5470e)

2 years agomaintenance4: Add push-constant test
Piotr Byszewski [Thu, 15 Jul 2021 17:46:24 +0000 (19:46 +0200)]
maintenance4: Add push-constant test

Test creates a pipeline with a push-constant, but not initialize
that push constant. The test runs without crashing when reading
that undefined value.

Components: Vulkan

VK-GL-CTS issue: 2996

Affets:
dEQP-VK.pipeline.push_constant.compute_pipeline.*

Change-Id: I0ca1d4082daccd628e26936b4b0b17550c698a1e
(cherry picked from commit 3cf045bd24cb47b660dc272a3a037c1afb8b3ce2)

2 years agomaintenance4: Add pipeline layout tests
Piotr Byszewski [Mon, 12 Jul 2021 19:00:36 +0000 (21:00 +0200)]
maintenance4: Add pipeline layout tests

Test destroying pipeline layout after creating
compute and graphics pipeline.

Components: Vulkan

VK-GL-CTS issue: 2996

Affets:
dEQP-VK.api.pipeline.*

Change-Id: I1a70c67f870ef6cb2341cf9a1236c6d9f127dc54
(cherry picked from commit ee24e9dd50d0bcdd79a718a3205fc3a5cddf35e6)

2 years agoAdd image query tests for VK_KHR_maintenance4
Lionel Duc [Wed, 16 Jun 2021 13:19:56 +0000 (15:19 +0200)]
Add image query tests for VK_KHR_maintenance4

These new tests perform the same queries as the original
vkGet*MemoryRequirements, using the objects createInfo instead. We then
compare the results against the original results.

We also query the memory requirements of a smaller buffer or image and
make sure the returned size requirements are not larger for the smaller
resource.

Components: Vulkan, Framework

New Tests: dEQP-VK.memory.requirements.create_info*

Change-Id: I2b751883911d18c3265b25f9d42920bb7e44bdf7
(cherry picked from commit b45609422d184acc425ad39da7f17816e865fbf1)

2 years agomaintenance4: Add requirements matching tests
Piotr Byszewski [Mon, 19 Jul 2021 13:35:37 +0000 (15:35 +0200)]
maintenance4: Add requirements matching tests

New test does few things:
* creates a bunch of VkBuffer and VkImage objects with the same
  create infos and makes sure their alignments all match
* makes sure that memory requirements returned by
  vkGetBufferCreateInfoMemoryRequirementsKHR are identical to those
  that would be returned by vkGetBufferMemoryRequirements2 if it were
  called with a VkBuffer created with the same VkBufferCreateInfo
  values
* similarly, vkGetImageCreateInfoMemoryRequirementsKHR will report
  the same memory requirements as vkGetImageMemoryRequirements2
  would if called with a VkImage created with the supplied
  VkImageCreateInfo
* makes sure that size memory requiremen for VkImage is not greater
  than that of another VkImage created with a greater or equal extent
  dimension specified in VkImageCreateInfo when all other creation
  parameters are identical
* makes sure that size memory requiremen for VkBuffer is not greater
  than that of another VkBuffer created with a greater or size
  specified in VkImageCreateInfo when all other creation parameters
  are identical

Components: Vulkan

VK-GL-CTS issue: 2996

Affets:
dEQP-VK.api.invariance.memory_requirements_matching

Change-Id: Ide74041ee82440af68458f684e2eae622f31cedf
(cherry picked from commit 5401944127d55b2be660c6f3bb2009f895c7b41a)

2 years agomaintenance4: Add maxBufferSize limit tests
Piotr Byszewski [Wed, 14 Jul 2021 07:52:10 +0000 (09:52 +0200)]
maintenance4: Add maxBufferSize limit tests

Verify that VkBuffer with maxBufferSize can be created
for both normal and sparse buffers.

Components: Vulkan

VK-GL-CTS issue: 2996

Affets:
dEQP-VK.api.buffer.basic.*

Change-Id: I439a4f9ab0d809367054e711dc128a3c2aabecf9
(cherry picked from commit 9333baedccdb4315178a888166fcfd3a1029351c)

2 years agoExtend decoration mismatch tests
Piotr Byszewski [Mon, 7 Jun 2021 11:49:31 +0000 (13:49 +0200)]
Extend decoration mismatch tests

Recent changes to specification changed interface matching
rules and this CL adds tests that check decoration
mismatch in structures.

Components: Vulkan

VK-GL-CTS issue: 2554

Affects:
dEQP-VK.pipeline.interface_matching.decoration_mismatch.*

Change-Id: I25930e6a4b02456acbcb6584f3308435898f475e
(cherry picked from commit 154f8217d9e078888e61c03ce7bb7adc739a77e4)

2 years agoAdd tests for relaxed vector matching
Piotr Byszewski [Fri, 28 May 2021 11:25:24 +0000 (13:25 +0200)]
Add tests for relaxed vector matching

VK_KHR_maintenance4 relaxed vector matching rules
in interface matching section.

Components: Vulkan

VK-GL-CTS issue: 2553

Affects:
dEQP-VK.pipeline.interface_matching.*

Change-Id: I79c96b88e41dba13570d518b07b8d5ef9a599d41
(cherry picked from commit 5e30ef7e7d2bcbf739797f69fe41f24bf8ac9e72)

2 years agoAdd tests for vector matching
Piotr Byszewski [Thu, 21 Jan 2021 15:53:23 +0000 (16:53 +0100)]
Add tests for vector matching

Components: Vulkan

VK-GL-CTS issue: 2553

New tests:
dEQP-VK.pipeline.interface_matching.*

Change-Id: I1354266e11ed7293c6b44526b2aa24427b0e86d5
(cherry picked from commit 13148e616b7811e1763eeea760f08b33deebddb3)

2 years agoAdd decoration mismatch tests
Piotr Byszewski [Thu, 21 Jan 2021 15:53:23 +0000 (16:53 +0100)]
Add decoration mismatch tests

Components: Vulkan

VK-GL-CTS issue: 2554

New tests:
dEQP-VK.pipeline.interface_matching.decoration_mismatch.*

Change-Id: I4f98d36b0568234d303e3234d78c2023f866b775
(cherry picked from commit 42fab9c7a4ff23fc086d4e5b6a8f4a009c36762c)

2 years agoUpdated framework for VK_KHR_maintenance4
Piers Daniell [Thu, 29 Jul 2021 23:57:51 +0000 (17:57 -0600)]
Updated framework for VK_KHR_maintenance4

This is just the vulkan_core.h and generated framework
for VK_KHR_maintenance4. Other CLs can be chained off
this one.

Affects: nothing

Components: Framework, Vulkan

VK-GL-CTS issue: 2996

Change-Id: Iaddaaa02c1523181b86f4beeeef40a17128c65bb
(cherry picked from commit 3cc3a085593bb7e8e5fa323e2ab2101b1bfc9cc5)

2 years agoFramework for VK_KHR_maintenance4
Piers Daniell [Thu, 8 Jul 2021 19:58:03 +0000 (13:58 -0600)]
Framework for VK_KHR_maintenance4

This is just the vulkan_core.h and generated framework
for VK_KHR_maintenance4. Other CLs can be chained off
this one.

Affects: nothing

Components: Framework, Vulkan

VK-GL-CTS issue: 2996

Change-Id: I9390991586dcd24c3e07fd39e0a9e2053c291324
(cherry picked from commit 332c5c3f6c941f42b623d7c3d26520e8c9c48297)

2 years agoChange RobustnessExt tests to use format_features2
Graeme Leese [Wed, 14 Jul 2021 13:45:17 +0000 (14:45 +0100)]
Change RobustnessExt tests to use format_features2

The no_fmt_qual variants of these tests can run on any format that
exposes the feature flag. This means that we get somewhat more coverage
on implementations that don't support both reading and writing without
format qualifiers.

Components: Vulkan
Affects: dEQP-VK.robustness.robustness2.*
         dEQP-VK.robustness.image_robustness.*

Change-Id: I8564fcd9d1c4eefc28239657b61536a0b8ecdfb5
(cherry picked from commit 82fe8a8a29f729045a149c82cd72ea3a0d615f3b)

2 years agoTests for VK_KHR_format_feature_flags2 extension
michal_jakubek [Wed, 5 May 2021 13:28:16 +0000 (15:28 +0200)]
Tests for VK_KHR_format_feature_flags2 extension

This CL also add tests for shadow sampling of R textures.

New tests:
dEQP-VK.api.format_feature_flags2.*

Affects:
dEQP-VK.image.store.*
dEQP-VK.image.load_store.*
dEQP-VK.texture.shadow.*

Components: Vulkan
VK-GL-CTS issue: 2826

Change-Id: I8f4ad7504b4f198f508b307346c4daa9ace72664
(cherry picked from commit da85b8e37cba61ff05638bf28f99a3fd808ce68d)

2 years agoAdd tests for VK_EXT_primitive_topology_list_restart
Ari Suonpaa [Wed, 26 May 2021 11:49:01 +0000 (14:49 +0300)]
Add tests for VK_EXT_primitive_topology_list_restart

VK-GL-CTS Issue: 2923

New tests:

dEQP-VK.pipeline.input_assembly.primitive_restart.*list*

Components: Vulkan
Change-Id: I929144d10af95d9576908ee1c0adaf412ae1a148
(cherry picked from commit 267d7262f4caf6cfb639cc0f202ace7d2a9c435f)

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

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

Affects:

dEQP-VK.texture.filtering_anisotropy.*

Components: Vulkan

VK-GL-CTS issue: 3068

Change-Id: I3a1c0a1acff96b6f6b291bb53d3d9dc0bd122c17

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 8 Oct 2021 18:40:16 +0000 (14:40 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master

Change-Id: Iae5295f99337a5d1a055079852dc5b9dd5816c31

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 8 Oct 2021 18:02:50 +0000 (14:02 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I2eaed7035330ecb962466f205b3d3dd80a311d4b

2 years agoFix missing barrier in FSR pixel consistency tests
Lars-Ivar Hesselberg Simonsen [Tue, 28 Sep 2021 08:20:00 +0000 (10:20 +0200)]
Fix missing barrier in FSR pixel consistency tests

The PixelConsistency tests of Fragment Shading Rate did not have a
pipeline barrier between the calls to vkCmdClearColorImage for the
render targets and the subsequent renderpass. This caused a race between
the two.

This commit adds the missing pipeline barriers.
In addition, it converts the preImageBarrier from two calls to
vkCmdPipelineBarrier with a single barrier to a single call with two
barriers.

Components: Vulkan

Affects: dEQP-VK.fragment_shading_rate.pixel_consistency.*

VK-GL-CTS Issue: 3158

Change-Id: I14b5de4fb02593b0a384b0f36892543ee2c57222

2 years agoDo not enable anisotropic filter in exact sampling tests
Ricardo Garcia [Mon, 27 Sep 2021 09:05:12 +0000 (11:05 +0200)]
Do not enable anisotropic filter in exact sampling tests

The anisotropic filter may introduce some extra imprecision in some
implementations. This change also makes these tests have the same
behavior in all implementations.

Affected tests:
dEQP-VK.pipeline.sampler.exact_sampling.*

Components: Vulkan
VK-GL-CTS issue: 3152

Change-Id: I0b4e1ad2c46210568176c5bd5504678edb3dbc73

2 years agoReduce resolution of some graphicsfuzz tests
Paul Thomson [Mon, 20 Sep 2021 15:53:45 +0000 (16:53 +0100)]
Reduce resolution of some graphicsfuzz tests

These tests have a lot of shader computation, which may exceed a 30
second watchdog time limit. Reducing the resolution should allow them to
complete quickly on low-end devices.

Affects:

dEQP-VK.graphicsfuzz.nested-for-loops-switch-fallthrough
dEQP-VK.graphicsfuzz.spv-access-chains
dEQP-VK.graphicsfuzz.spv-copy-object
dEQP-VK.graphicsfuzz.spv-dead-break-and-unroll
dEQP-VK.graphicsfuzz.spv-stable-maze-flatten-copy-composite

Components: Vulkan

Change-Id: I4ca78ae1beafb3d892d437568f10cc816ae79df2

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 8 Oct 2021 15:42:39 +0000 (11:42 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I1d4bf5c3a9cbd2f7d8e5bdce8645065661be1e9c

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

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

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

VK-GL-CTS issue: 3084
Components: Vulkan

Affects:
dEQP-VK.ray*instances_aop*

Change-Id: I8c412a5a5d2ce3f1f687795768d6d83ad4913892

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

Change-Id: I911747cbf1726e161c457fa6ae666148ff0b36c7

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

Change-Id: I6994a2ac890d752906a8f6464a9cb7819e22a55f

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

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

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

Affected tests:

   dEQP-VK.renderpass2.depth_stencil_resolve.*separate_layouts*

Components: Vulkan
VK-GL-CTS issue: 3157

Change-Id: I72f8fdba88717ab0442501911fb26a7469da65d8
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoAdd coverage for sampling a compressed texture that has been written
Antto Mäkinen [Mon, 16 Aug 2021 06:51:31 +0000 (09:51 +0300)]
Add coverage for sampling a compressed texture that has been written
to by a compute shader

This test checks that a compressed texture will be sampled
correctly if its contents have been modified by a compute shader.

VK-GL-CTS issue: 2871

New Tests:
dEQP-VK.image.sample_texture.64_bit_compressed_format
dEQP-VK.image.sample_texture.64_bit_compressed_format_two_samplers
dEQP-VK.image.sample_texture.128_bit_compressed_format
dEQP-VK.image.sample_texture.128_bit_compressed_format_two_samplers

Components: Vulkan

Change-Id: I048d39c9e26da072396a42ae8f266a7f14ba021e

2 years agoExtend multisample tests to support FSR
Piotr Byszewski [Thu, 1 Jul 2021 17:48:31 +0000 (19:48 +0200)]
Extend multisample tests to support FSR

Existing pipeline multisample, pipeline multisample mixed
attachment samples and pipeline multisample sample locations
tests are ran a second time with a 2x2 shading rate.

VK-GL-CTS issue: 2397

Components: Vulkan

Affects:
dEQP-VK.pipeline.multisample*

Change-Id: I87fbab065c3d6e32dd06643586b2e48d7cf25705

2 years agoStencil resolve tests without samplerate shading
Jari Komppa [Wed, 27 Jan 2021 12:37:59 +0000 (14:37 +0200)]
Stencil resolve tests without samplerate shading

This change adds a set of stencil resolve tests that do not
require samplerate shading. Instead of using sample id to
perform sample discard, the tests use multiple separate render
passes with sample masks.

New tests:
dEQP-VK.renderpass2.depth_stencil_resolve.*_samplemask

Affects:
dEQP-VK.renderpass2.depth_stencil_resolve.*

Components: Vulkan

VK-GL-CTS issue: 2619

Change-Id: I2399f64856d044375aed3e52e6b742fd46ce92a3

2 years agoAdd a new GLES2TextureSharingTest
Alex Lan [Sun, 18 Jul 2021 16:48:36 +0000 (00:48 +0800)]
Add a new GLES2TextureSharingTest

This is a test for texture used in default fbo and user fbo
in same context. If this texture sampled in default fbo and
might be rendered in user fbo, the texture buffer might be
wrongly allocated which cause two rendering results different.

The test's behavior is like this:
1, draw left half rectangle, sample the GL texture
2, attach the GL texture as color attachment, read 1 pixel
3, draw right half rectangle, sample the GL texture
4, the first time drawing result as reference and compare with
the second time rendering result.

Affects:
dEQP-EGL.functional.sharing.gles2.texture.render_sample_mixed

Components: OpenGL

Change-Id: I11e0fb5745588d5e5440a22a540b7651976c934d

2 years agoInitialise dot product required feature struct
Graeme Leese [Wed, 22 Sep 2021 08:51:11 +0000 (09:51 +0100)]
Initialise dot product required feature struct

This was left uninitialised which meant that tests could incorrectly be
treated as requiring these features and skipped as unsupported.

Components: Vulkan
VK-GL-CTS issue: 3140
Affects: dEQP-VK.spirv_assembly.*

Change-Id: Ib1ec17b1d05a07996a996cda806c5cc8b27627b7

2 years agoFix early fragment tests validation errors
Samuel Iglesias Gonsálvez [Mon, 30 Aug 2021 15:45:20 +0000 (17:45 +0200)]
Fix early fragment tests validation errors

There are several issues in the tests which were found by running them
with turnip driver with sysmem mode and the validation layers enabled:

- There was a sync issue. The culprit was
srcAccessMask=VK_ACCESS_SHADER_WRITE_BIT in one image memory barrier
since per spec for the store op "For attachments with a depth/stencil
format, this uses the access type
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT.". So the correct
synchronization should have src access mask
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT.

- In the same image memory buffer, the image layout was wrong when
testing stencil images.

- There were validation errors related to wrong image layout settings.

VK-GL-CTS issue: 3083
Components: Vulkan

Affects:

   dEQP-VK.fragment_operations.early_fragment.*

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

2 years agoFix image view type for multiview multi draw tests
Ricardo Garcia [Tue, 21 Sep 2021 11:29:57 +0000 (13:29 +0200)]
Fix image view type for multiview multi draw tests

When using more than 1 layer, the image view type was incorrectly set to
VK_IMAGE_VIEW_TYPE_2D instead of VK_IMAGE_VIEW_TYPE_2D_ARRAY.

Affected tests:
dEQP-VK.draw.multi_draw.*multiview*

Components: Vulkan
VK-GL-CTS issue: 3130

Change-Id: Ia2aa5af46d8bd09abc9ba7d40cd1e8c26add21bf

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

2 years agoFix stencil data unpacking in dEQP-VK.fragment_operations test
Slawomir Cygan [Tue, 28 Sep 2021 15:37:46 +0000 (17:37 +0200)]
Fix stencil data unpacking in dEQP-VK.fragment_operations test

The test copies only one aspect (depth or stencil, not both) of the image
to the buffer, so host unpacking code should not use combinded DS format
 - instead S8_UIN format should be used in stencil tests.

The problem occurs in stencil tests, on implementations not supporing
S8_UINT format, where D+S format is used.

Components: Vulkan

VK-GL-CTS Issue: 3160

Affects: dEQP-VK.fragment_operations.*stencil

Change-Id: I27b69c02ebf08fa19f512cdd786ebe596d91cfeb

2 years agoMerge "Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master"
Matthew Netsch [Fri, 1 Oct 2021 23:09:23 +0000 (23:09 +0000)]
Merge "Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master"

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 1 Oct 2021 22:05:36 +0000 (18:05 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master

Change-Id: I53860788b7f8844254a39df3ed14f621f34e90f2

2 years agoFix rectangular line tests
Erik Faye-Lund [Wed, 7 Jul 2021 16:39:28 +0000 (18:39 +0200)]
Fix rectangular line tests

When we're testing against rectangular lines, we need to generate the
rectangular line geometry as well, otherwise we'll test against
parallelogram lines instead.

Components: Vulkan, Framework

Public issue: 274

Affected Tests: dEQP-VK.rasterization.primitives.*.rectangular_line_*

Change-Id: I514646e94d2faf1e996950fd6b3a738797f84ff0

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 1 Oct 2021 21:50:09 +0000 (17:50 -0400)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I719241f2424bd8e9f3c0d4b6898706289181b552

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 1 Oct 2021 21:06:12 +0000 (17:06 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: I015e15ff85941f0a8756bd4b13e93fcd9161d62e

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7
Matthew Netsch [Fri, 1 Oct 2021 20:52:57 +0000 (16:52 -0400)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/opengl-es-cts-3.2.7

Change-Id: Ic894ed63f8c389f9f5485e3f573a66fd9901f5aa

2 years agoFix vector access in EGL partial update tests
Graeme Leese [Wed, 15 Sep 2021 09:23:00 +0000 (10:23 +0100)]
Fix vector access in EGL partial update tests

The vector of damage regions was being accessed even when the vector
was empty, which is invalid.

This changes the behaviour of the test, which used to invalidate the
whole framebuffer when it found no damage regions, but not invalidates
none of it. This seems like the correct behaviour.

Components: EGL
Affects: dEQP-EGL.functional.partial_update.*

Change-Id: I8c5500a85d000d16b240359de7eadc67144fb7d3

2 years agoFix dEQP-VK.glsl.opaque_type_indexing.ssbo*_compute validation error
Samuel Iglesias Gonsálvez [Fri, 24 Sep 2021 10:55:04 +0000 (12:55 +0200)]
Fix dEQP-VK.glsl.opaque_type_indexing.ssbo*_compute validation error

Tests were not checking maxPerStageDescriptorStorageBuffers limits
in the compute shaders, which use more (6) than the minimum limit
set by the spec for that (4).

Components: Vulkan
VK-GL-CTS issue: 3137

Affected tests:

 dEQP-VK.glsl.opaque_type_indexing.ssbo*_compute

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

2 years agoFix dEQP-VK.image.extended_usage_bit.texture_* validation errors
Juha Heiskanen [Fri, 24 Sep 2021 10:12:28 +0000 (13:12 +0300)]
Fix dEQP-VK.image.extended_usage_bit.texture_* validation errors

Shader requires fragmentStoresAndAtomics but there wasn't any support
check for this physical device feature.

Components: Vulkan

VK-GL-CTS Issue: 3144

Affects:
dEQP-VK.image.extended_usage_bit.texture_read.*
dEQP-VK.image.extended_usage_bit.texture_write.*

Change-Id: I87f69256501519fe524159f02eb14ee6ac0e0092

2 years agoCheck depth bias clamp feature when needed
Ricardo Garcia [Tue, 21 Sep 2021 10:27:52 +0000 (12:27 +0200)]
Check depth bias clamp feature when needed

The inverted depth range tests were using the depth bias clamp feature
with a nonzero depth bias clamp value without checking if the feature
was available in the device.

Affected tests:
dEQP-VK.draw.inverted_depth_ranges.*

Components: Vulkan
VK-GL-CTS issue: 3128

Change-Id: I471235a0da38eb4c244e87e0d5851b8cb810f990

2 years agoAdd barrier between the atomic-compare-exchanges
David Neto [Tue, 21 Sep 2021 21:25:22 +0000 (17:25 -0400)]
Add barrier between the atomic-compare-exchanges

Each of the second atomic-compare-exchange instructions relies on fact
that all the invocations have executed the first atomic-compare-exchange
instruction.  So insert a workgroup barrier between the two.

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

Components: Vulkan

VK-GL-CTS issue: 3120

Change-Id: I95f897ceebcea8fdd5d6bda885a701be20d07ab1

2 years agoCheck for integer texture support in negative teximage tests
Tapani Pälli [Thu, 23 Sep 2021 04:40:57 +0000 (07:40 +0300)]
Check for integer texture support in negative teximage tests

Affects:
KHR-GLES2.texture_3d.filtering.combinations.negative

Components: OpenGL
VK-GL-CTS issue: 3134

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

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 1 Oct 2021 19:33:00 +0000 (15:33 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: I16fde981fb8a0d98d4ed0522cb69a429a68545d0

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 1 Oct 2021 19:32:56 +0000 (15:32 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: I133af15a49b220d94c26f9db70e7830fbe167b72

2 years agoAllow the use of the standard types
Alexander Galazin [Fri, 18 Jun 2021 08:17:32 +0000 (10:17 +0200)]
Allow the use of the standard types

Removes the script that enforces the use of
the de-wrappers instead of the standard types.

VK-GL-CTS issue: 2963

Components: Framework

Change-Id: I5e2ff38a2b2cbc63a3c756a1e0260833ecd9381e
(cherry picked from commit ce1ae17c4785a8a57214a16fac46e28832956fa9)

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

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

Components: Vulkan
VK-GL-CTS issue: 3143

Affected tests:

   dEQP-VK.image.mutable.*

Change-Id: Ia42ccc815456ac09c4ffd44c63a0c65db8a9f1ec
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoUpdate vkDeviceFeatureTest.inl
Ilkka Saarelainen [Thu, 30 Sep 2021 04:25:40 +0000 (07:25 +0300)]
Update vkDeviceFeatureTest.inl

Due to merge order issue, vkDeviceFeatureTest.inl was not updated
properly.
This CL updates the file.

Affects:

dEQP-VK.api.device_init.create_device_unsupported_features

Components: Framework, Vulkan

VK-GL-CTS issue: 3166

Change-Id: I242e387b707094b124b1f368b0e11d8a17f92dfc

2 years agoNotice of withdrawal of Vulkan CTS 1.2.4.x
Matthew Netsch [Mon, 27 Sep 2021 18:52:19 +0000 (14:52 -0400)]
Notice of withdrawal of Vulkan CTS 1.2.4.x

Components: Vulkan
Change-Id: I82e747ce2898064804c88bfa98eab3c8c0f48953

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

2 years agoTest non-Sample Shading FragCoord.xy
Juha Heiskanen [Mon, 6 Sep 2021 12:31:55 +0000 (15:31 +0300)]
Test non-Sample Shading FragCoord.xy

In these test we are testing that FragCoord reflect the location of the
center of the fragment when Sample Shading is disabled. There is also a
set of tests which are using Centroid interpolation decoration on
FragCoord.

Components: Vulkan

VK-GL-CTS Issue: 3040

New tests: dEQP-VK.glsl.builtin_var.fragcoord_msaa_input.*no_sample*

Change-Id: Ic84bd57d8118e001bcd9e52ecb2e4193ff332ba6

2 years agoTest vkCreateDevice with unsupported features
Ilkka Saarelainen [Wed, 1 Sep 2021 05:27:58 +0000 (08:27 +0300)]
Test vkCreateDevice with unsupported features

vkCreateDevice should return VK_ERROR_FEATURE_NOT_PRESENT if any
requested feature is not supported.

The old test covered only Vulkan 1.0 core features.
This CL extends the test to cover also Vulkan 1.1 and 1.2 core features
and features provided by extensions.

Affects:

dEQP-VK.api.device_init.create_device_unsupported_features

Components: Framework, Vulkan

VK-GL-CTS issue: 3031

Change-Id: I319ac28bad3d4524ef4a1477c4680e4e8f91f4da

2 years agoTest anisotropic filtering of single-level images
Vihanakangas [Thu, 26 Aug 2021 12:11:33 +0000 (15:11 +0300)]
Test anisotropic filtering of single-level images

Anisotropic filtering tests did not take into account
test cases that use images with only a single level.
This change adds a couple of new tests that test this functionality.

Affects:

dEQP-VK.texture.filtering_anisotropy.*

New tests:

dEQP-VK.texture.filtering_anisotropy.single_level.*

Components: Vulkan

VK-GL-CTS issue: 3039

Change-Id: I9656cfba1e94a112ac84ca57f00c697d47637ff1

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 24 Sep 2021 18:42:06 +0000 (14:42 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master

Change-Id: Icc4ff9e543c2dbb7582df992e59ce3ae644b67fe

2 years agoLimit storage buffer sizes in reconvergence tests
Mohankumar Nekkarakalaya [Mon, 13 Sep 2021 19:04:03 +0000 (12:04 -0700)]
Limit storage buffer sizes in reconvergence tests

Return a not supported error if the storage buffer size is greater
than maxStorageBufferRange gpu limits.

Components: Vulkan

VK-GL-CTS Issue: 3114

Affected tests: dEQP-VK.reconvergence.*

Change-Id: Iecfbe0138b7d70420a353c2176110b843a49b091

2 years agoFix wrong VkAccessFlag when copying color image to buffer
Samuel Iglesias Gonsálvez [Thu, 23 Sep 2021 07:07:10 +0000 (09:07 +0200)]
Fix wrong VkAccessFlag when copying color image to buffer

Components: Vulkan
VK-GL-CTS issue: 3083

Affected tests:

   dEQP-VK.fragment_operations.early_fragment.*

Change-Id: Idb809fdd9efad586166b3d94c2a305e8c234274f
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoMerge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7
Matthew Netsch [Fri, 24 Sep 2021 16:26:36 +0000 (12:26 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/vulkan-cts-1.2.7

Change-Id: Ibbd5912f0843ba22ee8402ee4a96aaf6ed53b303

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6
Matthew Netsch [Fri, 24 Sep 2021 16:26:29 +0000 (12:26 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.5 into vk-gl-cts/vulkan-cts-1.2.6

Change-Id: Iac3e8ce0a318caed752aeb933994227278d9582f

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5
Matthew Netsch [Fri, 24 Sep 2021 15:04:24 +0000 (11:04 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.4 into vk-gl-cts/vulkan-cts-1.2.5

Change-Id: Ifc19ab1fcdcfa681d0fef9b3c5e3448d12813fdf

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4
Matthew Netsch [Fri, 24 Sep 2021 15:04:20 +0000 (11:04 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/vulkan-cts-1.2.4

Change-Id: Iab8e5c27a9f07ca0459c97bc8d72cd93b8ce675a

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Matthew Netsch [Fri, 24 Sep 2021 15:04:16 +0000 (11:04 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: Icdbb121ec7a828457ff9df34efe018fbf845e3f9

2 years agoAccept NaN as valid pass value in shader precision atan2 tests
Mohankumar Nekkarakalaya [Wed, 25 Aug 2021 22:45:12 +0000 (15:45 -0700)]
Accept NaN as valid pass value in shader precision atan2 tests

Spec mentions that implementation may assume arguments are not
Inf if the entrypoint is not declared with SignedZeroInfNanPreserve
and can perform optimizations.

Components: Vulkan

VK-GL-CTS Issue: 3073

Affected tests:
dEQP-VK.spirv_assembly.instruction.compute.float16.*.atan2
dEQP-VK.spirv_assembly.instruction.graphics.float16.*.atan2*
dEQP-VK.glsl.builtin.precision.atan2.*

Change-Id: I6e1fbc14a5654422cf88e1453fae0774bfce0bb6

2 years agoAdd missing checking of integer dot product features
Graeme Leese [Thu, 9 Sep 2021 12:57:55 +0000 (13:57 +0100)]
Add missing checking of integer dot product features

The requested features for dot products were being set up by the tests
but they were never actually validated. (In practice this probably won't
be a problem because they are compulsory with the extension and also in
the new core version, but it makes the code quite confusing).

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*

Change-Id: I62558d27f9bb360e3912b90964739bb1356df4b8

2 years agoDon't silently drop features that were requested
Graeme Leese [Mon, 9 Aug 2021 17:04:19 +0000 (18:04 +0100)]
Don't silently drop features that were requested

The helper functions would just silently not request features that the
actual test code requested if it didn't think they were useful. This has
the potential for weird bugs, so stop doing it. Instead assert that
tests are not asking for features that don't seem useful. This will
still prevent tests being quietly skipped for features they won't use,
but will show up immediately if a test really does need these features
for something unexpected.

Some of the existing tests were requesting features that they weren't
going to use (mostly StoresAndAtomics for different stages), and so
these are fixed not to request them.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*

Change-Id: I7acfc86c13067ee231cf71389d002886272081dd

2 years agoUpdate checking of VulkanFeatures structs
Graeme Leese [Fri, 16 Jul 2021 17:07:03 +0000 (18:07 +0100)]
Update checking of VulkanFeatures structs

The spirv_assembly tests defined various helpers for checking whether
certain features are supported but they worked inconsistently and were
repeated in various places. This change pulls the checking into a single
function which can be used to check instead of having to call a while
set of functions to achieve the same end.

The higher-level checking functions have always masked out a subset of
the features that are requested, and this is not changed, so requests
for certain things that look correct will silently not check all the
features.

The extension feature enums that were defined just for the checking
system are replaced with the standard structs. They're easier to use
because they don't need to be defined afresh when extensions are added
here, and because the names are automatically consistent with the names
that are known from the API. In at least 1 case the existing names were
pretty hard to decode correctly.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*

Change-Id: Icd2fc3f7d37e0ec3cfed9a80f3152617c8f599a3

2 years agoMerge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 17 Sep 2021 22:31:36 +0000 (18:31 -0400)]
Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master

Change-Id: I4affbd86cc7b03860722848f5234401ed68bb9d0

2 years agoTests for OpenGL ES 3.1 and 3.2 compressed formats
Mikko Tiusanen [Tue, 9 Mar 2021 08:13:36 +0000 (10:13 +0200)]
Tests for OpenGL ES 3.1 and 3.2 compressed formats

Adds texture specification and simple draw tests for all
OpenGL ES 3.1 and 3.2 compressed texture formats.

Adds tests for error values from compressed texture
related api calls.

New tests:

KHR-GLES31.core.compressed_format.*
KHR-GLES32.core.compressed_format.*

Components: OpenGL

VK-GL-CTS issue: 2174

Change-Id: I5a05962e79fca31ae526ec4e06f22c43d0a0f5b4

2 years agodEQP-VK.subgroups.*ray_tracing* missing extension check
Samuel Iglesias Gonsálvez [Thu, 15 Jul 2021 09:15:32 +0000 (11:15 +0200)]
dEQP-VK.subgroups.*ray_tracing* missing extension check

Components: Vulkan
VK-GL-CTS issue: 3003

Affected:

dEQP-VK.subgroups.*ray_tracing*

Change-Id: I25719d00c6d0180c03726d73497727754f9539d2
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2 years agoRe-enable protected memory tests
Ari Suonpaa [Wed, 4 Aug 2021 10:12:38 +0000 (13:12 +0300)]
Re-enable protected memory tests

AHB protected memory tests were previously removed due to
validation errors. This change adds them back while also
fixing the errors.

VK-GL-CTS Issue: 3030

Affects:

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

Components: Vulkan
Change-Id: I0ba4809eec82b069d9f36b624c65c7fe7f8df7a3

2 years agoDepth/Stencil descriptor tests
Ricardo Garcia [Mon, 2 Aug 2021 08:17:26 +0000 (10:17 +0200)]
Depth/Stencil descriptor tests

New set of tests that try to use depth/stencil images as descriptors
and/or as read-only attachments with using layouts that were previously
not covered by other CTS tests.

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

Components: Vulkan
VK-GL-CTS issue: 2925

Change-Id: I00e022afb0b7bc9561e938e3c35a026d8ade2ca9

2 years agoTest multiview with different depth ranges
Piotr Byszewski [Thu, 14 Jan 2021 11:35:59 +0000 (12:35 +0100)]
Test multiview with different depth ranges

This change extends existing tests to also cover creation of
viewports with different depth ranges, and maked sure that
depth clipping/clamping works correctly across the different
viewports.

Issue raported by layers in existing tests were also fixed.

Components: Vulkan

VK-GL-CTS issue: 2500

Affects:
dEQP-VK.multiview.*

New tests:
dEQP-VK.multiview.depth_different_ranges.3_6_12_9_6_12_9_3_6_12_9_3
dEQP-VK.multiview.renderpass2.depth_different_ranges.3_6_12_9_6_12_9_3_6_12_9_3

Change-Id: I0085eeda3aac2e36ab7013bf5a83009ce9ea94b9

2 years agoMerge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master
Matthew Netsch [Fri, 17 Sep 2021 19:40:57 +0000 (15:40 -0400)]
Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/master

Change-Id: Ib651fa8492c869d02b1185442b1a7ed431a2b7c6