platform/upstream/VK-GL-CTS.git
4 years agoVK_EXT_image_robustness tests
Gary Sweet [Thu, 28 May 2020 13:18:17 +0000 (14:18 +0100)]
VK_EXT_image_robustness tests

Re-uses much of the robustness2 test code.
Parameterizes the code to test just the subset
of robustness2 relevant to image_robustness
with the appropriate relaxations.

New tests: dEQP-VK.robustness.image_robustness.*

Affects: dEQP-VK.robustness.robustness2.*

Components: Vulkan

Change-Id: Ifaf4ffe4e4718cc7e80afc305ab73e8c9ea1ff4a
(cherry picked from commit ab2b0eb2921b649bee5f0c81f6cd42c1aad471a5)

4 years agoVK_EXT_robustness2 tests
Jeff Bolz [Wed, 8 Jan 2020 02:52:31 +0000 (20:52 -0600)]
VK_EXT_robustness2 tests

New tests: dEQP-VK.robustness.robustness2.*

Components: Vulkan

Change-Id: I93e6970ab8662b7041f258065116a924ccd7d1e4
(cherry picked from commit a0673086d0f9beea895dd529c59415a0c7389f71)

4 years agoUpdate Vulkan headers
Alexander Galazin [Mon, 20 Jul 2020 08:25:15 +0000 (10:25 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: I8c6dd047b6308cb9e4d67b98d8487e704e3151ac
(cherry picked from commit 06b6d666795b6c7a5132ee368a9ee074f548da79)

4 years agoWhitelist Vulkan CTS 1.2.3.1
Alexander Galazin [Thu, 9 Jul 2020 14:05:07 +0000 (16:05 +0200)]
Whitelist Vulkan CTS 1.2.3.1

Affects: dEQP-VK.api.driver_properties.properties

Components: Vulkan

Change-Id: Ia56f34c1fa98dcd55f28572731a232fdd16bd072

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Thu, 9 Jul 2020 17:17:09 +0000 (19:17 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I39fda12511570ac092cc8c8759797d7c32c08bf6

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 9 Jul 2020 15:25:52 +0000 (17:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I4b1a75f774b599659cec5a866f74d4406ae3fd5b

4 years agoAdd calls to touchWatchdog()
Paul Thomson [Fri, 26 Jun 2020 16:03:59 +0000 (17:03 +0100)]
Add calls to touchWatchdog()

...to prevent a timeout when creating eight pipelines with large compute
shaders.

Components: Vulkan

Affects:

dEQP-VK.subgroups.*

Change-Id: Icab408e382a5c4d582786128bb88188c657dd9da

4 years agoUpdate Vulkan headers
Alexander Galazin [Sat, 4 Jul 2020 10:21:58 +0000 (12:21 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: Ie919aa4569a396524aac48dc39c94ac64382a5ae
(cherry picked from commit 7bfbb9f81d994c093d5cd3f5a9674a808acb6b14)

4 years agoAdd tests for VK_EXT_fragment_density_map2
Piotr Byszewski [Tue, 14 Apr 2020 13:23:43 +0000 (15:23 +0200)]
Add tests for VK_EXT_fragment_density_map2

Components: Vulkan

VK-GL-CTS issue: 2301

Affects:
dEQP-VK.renderpass2.fragment_density_map.*
dEQP-VK.api.info.get_physical_device_properties2.features

Change-Id: I5d60f93a362766763ab83e972627af70bfb65c2a
(cherry picked from commit 3ad26e0475fbd15f5212aa1cba0dbe810c6ff719)

4 years agoAdd tests for VK_EXT_private_data
Jeff Bolz [Sun, 5 Apr 2020 07:02:52 +0000 (02:02 -0500)]
Add tests for VK_EXT_private_data

Component: Vulkan
New Tests: dEQP-VK.api.object_management.private_data.*
New Tests: dEQP-VK.wsi.*.private_data.*

Change-Id: I465e0969cc5f1e82dc2e1face019412ecfb44e27
(cherry picked from commit 44ef9e08c4592207c0f3d81ed385bac078f1925a)

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Fri, 3 Jul 2020 14:02:14 +0000 (16:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: If495b585821336aa0bb44bc8a5b0f96b598208dc

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 3 Jul 2020 13:08:20 +0000 (15:08 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I909eb1b0ad19d236b3cc70ea9bd9e99480977711

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 3 Jul 2020 12:07:27 +0000 (14:07 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: Ie62afeb1af0f212d51ae8ad9999078068587e19c

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Fri, 3 Jul 2020 11:11:32 +0000 (13:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Iab64c9ee8090eadf98c8383996d53ff8c9f488f1

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 3 Jul 2020 11:10:27 +0000 (13:10 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I14c19183e4f63e28bcb091aaef1073009355909d

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Fri, 3 Jul 2020 10:20:06 +0000 (12:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: Iaf4e658989b8e022896e313159dc14fe59e25b3d

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Fri, 3 Jul 2020 08:58:15 +0000 (10:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Ifb9683901fedc005a2b4e0d4173b402747dad99c

4 years agoAvoid need for shaderOutputViewportIndex
Ricardo Garcia [Fri, 26 Jun 2020 06:47:55 +0000 (08:47 +0200)]
Avoid need for shaderOutputViewportIndex

Extended dynamic state tests require shaderOutputViewportIndex to write to
gl_ViewportIndex from the vertex shader. This commit removes that requirement
by writing to gl_ViewportIndex from the geometry shader stage and only when
there are multiple viewports.

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

Components: Vulkan
VK-GL-CTS issue: 2435

Change-Id: Ied28244937e5799191a49d5e79056ad7dd4913db

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Fri, 3 Jul 2020 08:17:15 +0000 (10:17 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Ie4f2ff790ce6428d29182a61c44ef3706291d9df

4 years agoEnable unused AllocationCallbackRecorder
Mika Väinölä [Thu, 25 Jun 2020 13:26:19 +0000 (16:26 +0300)]
Enable unused AllocationCallbackRecorder

computeDeviceMemorySystemMemFootprint used in Vulkan memory mapping and
allocation tests creates an AllocationCallbackRecorder but didn't pass
the callbacks to allocateMemory, passing zero records to
validateAllocationCallbacks.

Affects:
dEQP-VK.memory.mapping.suballocation.random.*
dEQP-VK.memory.allocation.random.*

Components: Vulkan

VK-GL-CTS issue: 2434

Change-Id: I208ea3e5a449c9a69b2981067ad38ea3e54699c2

4 years agoRobustness2 features are enabled by default
Marcin Kańtoch [Wed, 17 Jun 2020 12:55:42 +0000 (14:55 +0200)]
Robustness2 features are enabled by default

Robustness2 features are enabled by default for the Default Device,
but robustBufferAccess is disabled. The correct behaviour is to not
enable robustness2 features for this device and allow robustness2
tests to create a separate device with the features turned on.

Components: Framework

VK-GL-CTS issue: 2408

Change-Id: I5b5afd24d497340bd48d97c86b5cb17c509f1d72
(cherry picked from commit a20baf416c7dd115bdf3307fb9363bdabbb821ce)

4 years agoMove texture parameter checking to checkSupport()
Pawel Ksiezopolski [Tue, 16 Jun 2020 15:18:43 +0000 (17:18 +0200)]
Move texture parameter checking to checkSupport()

Some of the texture tests use iterate() method to check
if proper extensions are supported.
These checks have been moved to checkSupport() method.

Affects tests:
dEQP-VK.texture.filtering.*
dEQP-VK.texture.compressed.*
dEQP-VK.texture.mipmap.*
dEQP-VK.texture.shadow.*

Components: Vulkan

Change-Id: I21d41c52809e26860c8c39a98aa66817f335feca
(cherry picked from commit d73452cb16fb476040eb9b5ea59005f6b52b7980)

4 years agoFix minor VU issue with VK_EXT_extended_dynamic_state
Piers Daniell [Wed, 17 Jun 2020 17:40:15 +0000 (19:40 +0200)]
Fix minor VU issue with VK_EXT_extended_dynamic_state

The VUs for vkCreateGraphicsPipeline when
VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT is enabled state
that the viewportCount must be specified as zero.

Similarily with VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT
enabled scissorCount must be specified as zero in the
pipeline.

Affects:
dEQP-VK.pipeline.extended_dynamic_state.*

Components: Vulkan
VK-GL-CTS issue: 2424

Change-Id: I7f4aca4e02b82389fa8bacbb915ac3ed625c49b0

4 years agoFix multiview dependency access mask for depth stencil attachments
Varvara Poskonina [Fri, 19 Jun 2020 09:02:50 +0000 (11:02 +0200)]
Fix multiview dependency access mask for depth stencil attachments

Vulkan spec states that in case if depth stencil attachment storeOp
and/or stencilStoreOp is set to VK_ATTACHMENT_STORE_OP_STORE in its
description, corresponding access type should be write permissive.

This change sets subpass depencency source access mask to
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT in case if DS
attachment is present.

Components: Vulkan

Affects: dEQP-VK.multiview.*

VK-GL-CTS Issue: 2428

Change-Id: Ie34a6d93a8bdfad163150483b2fb8feb780ce0db

4 years agoAlways dynamically lookup egl functions
Courtney Goeltzenleuchter [Wed, 10 Apr 2019 21:25:16 +0000 (15:25 -0600)]
Always dynamically lookup egl functions

Android's latest NDK includes support for EGL 1.5 functions.
However, only for API level 29. But due to unified headers
folks building for older API levels will also see the new
functions but won't be able to link. Making the egl functions
dynamic avoids build time issues.

Change-Id: I718e28c7422faf3c7b964ca70b86a1711a08ae54
Affects: EGL
Bug: 1873
(cherry picked from commit 9af8b5c1ad98342a634b79a1f9c1213632248c64)

4 years agoAdd missing writes to PointSize in subgroups tests
James Fitzpatrick [Thu, 14 May 2020 15:51:14 +0000 (16:51 +0100)]
Add missing writes to PointSize in subgroups tests

When shaderTessellationAndGeometryPointSize is enabled the PointSize
builtin is undefined unless it is written to in the last vertex
processing phase so propagate the write through all vertex stages.

Affects:
dEQP-VK.subgroups.*

Components: Vulkan

VK-GL-CTS issue: 2404

Change-Id: Id8ffe8401c0a69d1e13847d168bafcec7e3c7a52
(cherry picked from commit 75f9abc189d4bef82d9496f55284c382b3b7a43f)

4 years agoAdd missing barriers from device to host read access
Slawomir Cygan [Mon, 22 Jun 2020 15:48:13 +0000 (17:48 +0200)]
Add missing barriers from device  to host read access

Add barriers from various device write accesses to
host read access just before validating device written-data
on host.

Additionally correct one host memory op before validating data:
invalidate should be used instead of flush.

Components: Vulkan

VK-GL-CTS Issue: 2429

Change-Id: I09c845e7f306eadb012bf33cf49e1a9cfa8e2e0c
Affects: dEQP-VK.conditional_rendering.*

4 years agoLinux WSI checks the WS availability on create
Tony Zlatinski [Tue, 16 Jun 2020 13:04:08 +0000 (08:04 -0500)]
Linux WSI checks the WS availability on create

Before creating a display of a specific WSI type,
check for the server availability, first. If the display server of
the requested WSI type (XLIB/XCB/WAYLAND) is not present/running,
then when throw an exception of type NotSupportedError
rather than one of type ResourceError.

This would allow for the tests to be marked as unsupported,
rather than causing the CTS to crash/exit.

Affects: dEQP-VK.wsi.wayland.*
         dEQP-VK.wsi.xcb.*
         dEQP-VK.wsi.xlib.*
         dEQP-VK.image.swapchain*

Components: Vulkan, WSI, Linux platform

VK-GL-CTS issue: 2422

Change-Id: I7538be79e528ed9cde38cff3404b5f3603bdf5c1

4 years agoRequire VK_EXT_filter_cubic for cubic filtering
James Fitzpatrick [Fri, 12 Jun 2020 10:12:28 +0000 (11:12 +0100)]
Require VK_EXT_filter_cubic for cubic filtering

Make the copy and blit tests for cubic filtering depend on
VK_EXT_filter_cubic to stop them being run on drivers supporting
VK_IMG_filter_cubic.

Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.*
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.color.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.generate_mipmaps.*

Components: Vulkan

VK-GL-CTS issue: 2417

Change-Id: I3b2b689410603d639837bed48fa8f7e924da577c

4 years agoFixes execServer with target API 28
Matthew Netsch [Thu, 11 Jun 2020 22:34:39 +0000 (18:34 -0400)]
Fixes execServer with target API 28

Components: Framework
VK-GL-CTS Issue: 2419

Affects:
com.drawelements.deqp.execserver

Change-Id: I37aa175e4c782c1213b65be58a32c4c41aabe4b9

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Wed, 17 Jun 2020 07:57:27 +0000 (09:57 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I034dee35378c6ab9da08c5904a7c1773ef36585f

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Wed, 17 Jun 2020 06:26:32 +0000 (08:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I2c03ffa5a1aa72be33ffbb223156c1b199ce0175

4 years agoFixes advanced blending tests support check
Matthew Netsch [Mon, 15 Jun 2020 22:04:42 +0000 (18:04 -0400)]
Fixes advanced blending tests support check

Tests were only running with
advancedBlendAllOperations supported

Components: Vulkan
VK-GL-CTS Issue: 2406

Affects:
dEQP-VK.pipeline.blend_operation_advanced.*

Change-Id: I387f1fd724bb14f6a34e784e663680abc178d5bb

4 years agoDon't request DebugReportRecorder with no layers
Tony Zlatinski [Wed, 10 Jun 2020 03:11:50 +0000 (22:11 -0500)]
Don't request DebugReportRecorder with no layers

Don't request the creation of DebugReportRecorder
when there are no layers installed.

When creating a custom instance with createCustomInstance(),
one can not expect the vkCreateDebugReportCallbackEXT to be
available when the layers are not enabled(installed) and the
VK_EXT_debug_report is not requested.

Affects: dEQP-VK.api.tooling_info.*

Components: Vulkan

VK-GL-CTS issue: 2411

Change-Id: Ib19a8b12a0562f7588b23338cb7ff4abea3da9d9

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3
Alexander Galazin [Fri, 12 Jun 2020 12:48:42 +0000 (14:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/vulkan-cts-1.2.3

Change-Id: I853402128f2a9d4340a7d4a852803fbeb5931bc6

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 12 Jun 2020 11:16:47 +0000 (13:16 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: Iea70c56e33f9ff0916b9b7536112ac21a71f7ffc

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 12 Jun 2020 10:26:44 +0000 (12:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I90e38666d58a9b1e0af157dc5dbaa0516c681b56

4 years agoAdd missing writes to PointSize in subgroups tests
James Fitzpatrick [Thu, 14 May 2020 15:51:14 +0000 (16:51 +0100)]
Add missing writes to PointSize in subgroups tests

When shaderTessellationAndGeometryPointSize is enabled the PointSize
builtin is undefined unless it is written to in the last vertex
processing phase so propagate the write through all vertex stages.

Affects:
dEQP-VK.subgroups.*

Components: Vulkan

VK-GL-CTS issue: 2404

Change-Id: Icc1bc30a46d8787f116f9f916c98aa8778226dd3

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 12 Jun 2020 09:17:14 +0000 (11:17 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I04bbf72e6cc5268c82d352aa2ba638d66445457c

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Fri, 12 Jun 2020 08:35:57 +0000 (10:35 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: Ie554eb9583f468a3bd85375fefd8549da51b9389

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Fri, 12 Jun 2020 08:35:14 +0000 (10:35 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Iddeb0a37d7c73f0539c4723040b59d22418f8f05

4 years agoFixes timeline semaphore test queues
Matthew Netsch [Thu, 11 Jun 2020 05:04:56 +0000 (01:04 -0400)]
Fixes timeline semaphore test queues

Components: Vulkan
VK-GL-CTS Issue: 2416

Affects:
dEQP-VK.synchronization.timeline_semaphore

Change-Id: I3c101c869267c7bb747c53193195108df5996e70

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Thu, 11 Jun 2020 20:23:29 +0000 (22:23 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I997b74efec17bfa3b4f70e7c3cd99e34ca726d30

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 11 Jun 2020 16:40:24 +0000 (18:40 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I19c871d2823652543622ebe6d11cf1da6b72fb76

4 years agoFix image layouts in graphics spirv_assembly tests
Slawomir Cygan [Fri, 5 Jun 2020 14:34:07 +0000 (16:34 +0200)]
Fix image layouts in graphics spirv_assembly tests

This fixes regression from 789c733eef56b.

After above change, the command buffer recording and submission
is looped. However, image layouts are not properly handled at
the beginning and end of each loop
- transitioning image from UNDEFINED layout at the beginning
   of each loop, corrupting the data from previous iterations.
- transitioning the image to TRANSFER_SRC layout at the end of
   each loop, making it incompatible with render pass in next
   iteration.

This change moves the barriers only to the first and last
iteration of the loop.

Components: Vulkan

VK-GL-CTS Issue: 2405

Affects: dEQP-VK.spirv_assembly.*

Change-Id: I7f5d8493f11b05eea8569090e6da2ff768579a09
(cherry picked from commit 17e9601b282c94f4cc5a9614a300f536684dc70f)

4 years agoFix maxMipMap calculation for images
Mikel Garai [Wed, 3 Jun 2020 12:28:34 +0000 (14:28 +0200)]
Fix maxMipMap calculation for images

This change uses the floor of the log2 instead of the ceiling as
described in vulkan specification for normal images.

Vulkan spec section: 11.3.3. Image Miplevel Sizing

Components: Vulkan

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

VK-GL-CTS Issue: 2407

Change-Id: Ic5c7afe5890ebf1b5cc00abd1534a4a4d0c9c3c9
(cherry picked from commit 3d81feb1d686a02a92ad0d1e8bd519869c2d700a)

4 years agoFix image layouts in graphics spirv_assembly tests
Slawomir Cygan [Fri, 5 Jun 2020 14:34:07 +0000 (16:34 +0200)]
Fix image layouts in graphics spirv_assembly tests

This fixes regression from 789c733eef56b.

After above change, the command buffer recording and submission
is looped. However, image layouts are not properly handled at
the beginning and end of each loop
- transitioning image from UNDEFINED layout at the beginning
   of each loop, corrupting the data from previous iterations.
- transitioning the image to TRANSFER_SRC layout at the end of
   each loop, making it incompatible with render pass in next
   iteration.

This change moves the barriers only to the first and last
iteration of the loop.

Components: Vulkan

VK-GL-CTS Issue: 2405

Affects: dEQP-VK.spirv_assembly.*

Change-Id: I7f5d8493f11b05eea8569090e6da2ff768579a09

4 years agoFix descriptorCount for dEQP-VK.ycbcr.conversion
Arkadiusz Sarwa [Tue, 2 Jun 2020 11:43:46 +0000 (13:43 +0200)]
Fix descriptorCount for dEQP-VK.ycbcr.conversion

Affects:
dEQP-VK.ycbcr.conversion.*

Components: Vulkan

VK-GL-CTS Issue: 2386

Change-Id: I0302c559fa22f2e6f4b86721cfdc46f7f76d9270

4 years agoUse float16 precision for testing mediump
Graeme Leese [Fri, 14 Jun 2019 17:01:34 +0000 (18:01 +0100)]
Use float16 precision for testing mediump

The precision requirements for mediump are not in the spec, they're just
for the conformance test, so it makes sense to use the simplest thing.
Allow the same error margins for mediump's 16-bit as for true 16-bit
floats. This slightly increases the precision requirements on mediump
exp but loosens them for atan.

Note, however, that the requirements for fp16 are still stricter than
for mediump because of the FloatFormat involved. fp16 requires support
for a wider exponent range than mediump.

Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision.exp*.mediump.*
         dEQP-VK.glsl.builtin.precision.atan*.mediump.*

Change-Id: I600a53984ba6a4f624bbb1525636f392d74ae96f
(cherry picked from commit b7dea11e6a395552a1423009c33d5518d9a0b2ec)

4 years agoClear unused image aspects in buffer to depth/stencil copy tests
Ari Suonpaa [Wed, 3 Jun 2020 10:19:01 +0000 (13:19 +0300)]
Clear unused image aspects in buffer to depth/stencil copy tests

Some of the buffer to depth/stencil tests used a combined
depth/stencil format but copied only one of those aspects.
The result checking still always compared both aspects. Now
the aspects not being copied are cleared for both result
and reference images to ignore these values.

VK-GL-CTS Issue: 2394

Affects:

dEQP-VK.api.copy_and_blit.core.buffer_to_depthstencil.*

Components: Vulkan
Change-Id: Ie5eba010d4f5f6d484d4635e275492da197eef79

4 years agoAdd storageBuffer16BitAccess to mandatory features
Spencer Fricke [Tue, 21 Apr 2020 15:57:59 +0000 (08:57 -0700)]
Add storageBuffer16BitAccess to mandatory features

If VK_KHR_16bit_storage is supported there needs to be support
for storageBuffer16BitAccess

https://gitlab.khronos.org/vulkan/vulkan/merge_requests/3709
This CL updates the test to align with the MR.

Components: Vulkan

Affects: dEQP-VK.info.device_mandatory_features

VK-GL-CTS issue: 2323

Change-Id: Ife41e6d69d1149fe01f4dcb570bf80c82d8f8dd3
(cherry picked from commit 123615f3e0520a65c70d7e8a82ad9b765dc389b2)

4 years agoVK_EXT_extended_dynamic_state tests
Ricardo Garcia [Tue, 12 May 2020 17:31:45 +0000 (19:31 +0200)]
VK_EXT_extended_dynamic_state tests

This commits updates the Vulkan framework to bring in changes related to
VK_EXT_extended_dynamic_state and creates a new set of tests for the
extension.

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

Components: Vulkan
VK-GL-CTS issue: 2311

Change-Id: I6294c675f206e47e5facc4d04295ddc8867bf51d
(cherry picked from commit 0c32b030a9ed67cd41dd2ef4586d465f0c708efa)

4 years agoSplit spirv_assembly tests workload
Mike Byrne [Mon, 18 Nov 2019 12:30:23 +0000 (12:30 +0000)]
Split spirv_assembly tests workload

The dEQP-VK.spirv_assembly.* tests should allow the render workload to
be split into multiple submissions if required to prevent GPU timeouts
encountered in some tests.

An additional flag is added to allow specific test groups to request
that the test workload is split.

Affects: dEQP-VK.spirv_assembly.*

VK-GL-CTS Issue: 2294

Components: Vulkan

Change-Id: I9295f675c06b3b966d89afae98334ebb5c9530c8
(cherry picked from commit 789c733eef56bd443692d751431177eb4fb2519f)

4 years agoUpdate readme
Alexander Galazin [Thu, 4 Jun 2020 19:24:21 +0000 (21:24 +0200)]
Update readme

Components: Vulkan

Change-Id: Ibbd328101912a570e64fca8cf9ac2b45e850eddf

4 years agoWhitelist Vulkan CTS 1.2.3.0
Alexander Galazin [Thu, 4 Jun 2020 19:22:48 +0000 (21:22 +0200)]
Whitelist Vulkan CTS 1.2.3.0

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I10fbe65642c401fd13810a57b5308070ffce0e59

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Thu, 4 Jun 2020 18:37:11 +0000 (20:37 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I771d3fbd41c9cc92fbcf0fadc3bd1846ee50d568

4 years agoTest multiple fragment output locations
Ari Suonpaa [Tue, 12 May 2020 06:53:41 +0000 (09:53 +0300)]
Test multiple fragment output locations

Added tests that write to multiple fragment output
locations. One test group uses an output array and
another shuffles the writes based on fragment
coordinates.

VK-GL-CTS Issue: 2179

New tests:

dEQP-VK.draw.output_location.*

Components: Vulkan
Change-Id: If3a5d49dd171874b6451581616ca67141124a283

4 years agoTry spec constants with more sizes and packing
Ricardo Garcia [Tue, 28 Apr 2020 16:32:16 +0000 (18:32 +0200)]
Try spec constants with more sizes and packing

This commit adds new hand-tuned basic tests for specialization constants
using a wider variety of sizes and packing strategies for data in the
user data array, in order to check the implementation can correctly
extract values from it.

New tests:
dEQP-VK.pipeline.spec_constant.*int8*
dEQP-VK.pipeline.spec_constant.*int16*
dEQP-VK.pipeline.spec_constant.*int64*
dEQP-VK.pipeline.spec_constant.*float16*
dEQP-VK.pipeline.spec_constant.*_2
dEQP-VK.pipeline.spec_constant.*_packed
dEQP-VK.pipeline.spec_constant.*mixed*

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

Components: Vulkan
VK-GL-CTS issue: 2326

Change-Id: I94fc23d4c569edd38aa9e9e6c680a3353020d388

4 years agoAdd tests for VK_EXT_filter_cubic
Pawel Ksiezopolski [Tue, 5 Nov 2019 15:44:53 +0000 (16:44 +0100)]
Add tests for VK_EXT_filter_cubic

New tests include cubic texture filtering validation,
vkCmdBlitImage() verification and checking if some of the image
formats have mandatory cubic filtering feature defined.

New tests:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.*
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.color.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.blit_image.all_formats.generate_mipmaps.*
dEQP-VK.texture.filtering.2d.formats.*
dEQP-VK.texture.filtering.2d.sizes.*
dEQP-VK.texture.filtering.2d.combinations.*

Affects tests:
dEQP-VK.api.info.format_properties.*

Components: Vulkan Framework

VK-GL-CTS issue: 1682

Change-Id: If832eaae30d0f23d764b7c74e68296586b893433

4 years agoAdd missing barrier before host access in draw tests
Slawomir Cygan [Thu, 4 Jun 2020 12:57:05 +0000 (14:57 +0200)]
Add missing barrier before host access in draw tests

There is a missing barrier between in utilities for reading images,
between device write access and host read access.

Components: Vulkan

VK-GL-CTS Issue: 2401

Affects: dEQP-VK.draw.*

Change-Id: I7a8ec444b790c4afbf80f798222912398dfb818e

4 years agoFix VkPhysicalDeviceMemoryBudgetPropertiesEXT
Piers Daniell [Wed, 20 May 2020 18:02:06 +0000 (12:02 -0600)]
Fix VkPhysicalDeviceMemoryBudgetPropertiesEXT

The current gen_framework.py generate code for
VkPhysicalDeviceMemoryBudgetPropertiesEXT is putting it as a
VkPhysicalDeviceProperties2 extension, which is not correct.

VkPhysicalDeviceMemoryBudgetPropertiesEXT is actually a
VkPhysicalDeviceMemoryProperties2 extension.

This CL modifies the gen_framework.py code to exclude
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT from
being clasified as a physical device property.

Affects:

dEQP-VK.* (it only affects CTS initialization)

Components: Vulkan

VK-GL-CTS issue: 2377

Change-Id: Ie646fdf6af7c24348394293e56d79e101149bbc0

4 years agoAllow Bresenham for single sample nonstrict lines
Marcin Kańtoch [Wed, 20 May 2020 13:00:28 +0000 (15:00 +0200)]
Allow Bresenham for single sample nonstrict lines

Components: Vulkan
VK-GL-CTS Issue: 2374

Affects:
dEQP-VK.rasterization.primitives*line*

Change-Id: I6e0ca86ba9a1e289942e5ef4ee3570379b72375d

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Thu, 4 Jun 2020 13:39:07 +0000 (15:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I8d4256c5e9d884aa865dd8ea0ea96434ac30ff4d

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 4 Jun 2020 13:39:04 +0000 (15:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I1a0d3758592a9ddd8506637e379076149669b9d3

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Thu, 4 Jun 2020 13:39:00 +0000 (15:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I4c275dc2b38e9e722afd8a79227535bd59d3cb5e

4 years agoFix compilation on clang 11
Daniele Castagna [Wed, 3 Jun 2020 16:18:11 +0000 (12:18 -0400)]
Fix compilation on clang 11

TrinaryMinMaxCase and TrinaryMinMaxInstance use initialization lists {}
instead of copy constructor syntax to copy TestParams& params.
clang 11 complains about that, this CL simply changes {} to ().

Change-Id: I2e4b75b27c15d5a4bd5dd6b72fddddbd81d83686
Components: Vulkan

4 years agoAllow not flusing denorms in operands
Slawomir Cygan [Fri, 28 Feb 2020 14:36:58 +0000 (15:36 +0100)]
Allow not flusing denorms in operands

This fixes tests for denorm value flush to zero in Ceil(), Log(),
 Log2(), Sqrt(), Sqrt2() operations. The test was assuming, that
operands of denormal value are flushed before the operation, however
the specification does not require that:

"If the entry point is declared with the DenormFlushToZero execution mode then for the
affected instuctions the denormalized result must be flushed to zero and the denormalized
operands **may** be flushed to zero."

VK-GL-CTS Issue: 2242

Affects: dEQP-VK.spirv_assembly.instruction.compute.float_controls.*.input_args.*_denorm_flush_to_zero

Components: Vulkan

Change-Id: Iedeb0d18fde3749a83be3262dba5efabf365aea2
(cherry picked from commit 0f323f593e9989190f0b8a5768aa25b594d7c1be)

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Thu, 4 Jun 2020 07:48:54 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: Ie40d642e33fe250e0834b1ccc6c959c580b84ef8

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Thu, 4 Jun 2020 07:48:51 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I82327658d7f7ffcca53bf82654eef47936b31256

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Thu, 4 Jun 2020 07:48:50 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I8faea9ae44404bb48cd0cacc20f10cf8441f3b59

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Thu, 4 Jun 2020 07:48:50 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I888b86ca0ad11da7329e4aace426274c44439d9e

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Alexander Galazin [Thu, 4 Jun 2020 07:48:46 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0

Change-Id: Iee8c3acc0f091ebb4b8a32c300ebddbcaa4fc73f

4 years agoFix BindImageMemoryInfo in *render.device_group2
Arkadiusz Sarwa [Mon, 25 May 2020 22:31:41 +0000 (00:31 +0200)]
Fix BindImageMemoryInfo in *render.device_group2

If image was created with a valid swapchain handle
in VkImageSwapchainCreateInfoKHR::swapchain, then the pNext chain
must include a VkBindImageMemorySwapchainInfoKHR structure containing
the same swapchain handle.

Affects:
dEQP-VK.wsi.win32.swapchain.render.device_group2

Components: Vulkan

VK-GL-CTS Issue: 2385

Change-Id: I6fa4e36e273861623b8e00143022f19fd79fc0aa

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Wed, 3 Jun 2020 12:35:35 +0000 (14:35 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I1aaa8a159b94d1396c0d53377d1adc98ce684e2b

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Wed, 3 Jun 2020 11:26:06 +0000 (13:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: Ia8efca269d913a5aa28a847596348fd6ed1e1571

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Wed, 3 Jun 2020 10:26:55 +0000 (12:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I5f4f177d073c81c46c3dc2996f5909353e5cd4ff

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Alexander Galazin [Wed, 3 Jun 2020 07:06:31 +0000 (09:06 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6

Change-Id: I824fd73bbca4f8632d0fa7f982a8aa9e8c9294a5

4 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Alexander Galazin [Tue, 2 Jun 2020 19:32:35 +0000 (21:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5

Change-Id: I2d3f55a79614417544130cd255cd32da9e5aa423

4 years agoStop 10bit formats requiring GL_SRGB encoding
James Glanville [Fri, 17 Apr 2020 10:54:40 +0000 (11:54 +0100)]
Stop 10bit formats requiring GL_SRGB encoding

The EGL_KHR_gl_colorspace spec does not require formats that
are not SRGB8 to respect the given EGL_GL_COLORSPACE_KHR.

Components: EGL

VK-GL-CTS issue: 2288

Affects:

dEQP-EGL.functional.wide_color.window_1010102_colorspace_srgb
dEQP-EGL.functional.wide_color.pbuffer_1010102_colorspace_srgb

Change-Id: I41ab6c6a0467a29cf7e5e764bf2b2cfb78c51db3

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Tue, 2 Jun 2020 12:30:06 +0000 (14:30 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: Ib95a2472db1800d9c406449d52125542413a5ab4

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Alexander Galazin [Tue, 2 Jun 2020 07:14:00 +0000 (09:14 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6

Change-Id: I73359af82cbc484aceffcf45628b50ee1d84f762

4 years agoAdd texture specification test for GL_OES_texture_half_float.
Nicolas Capens [Fri, 16 Mar 2018 13:51:47 +0000 (09:51 -0400)]
Add texture specification test for GL_OES_texture_half_float.

Google bug: b/74609191
Components: AOSP
Affects: dEQP-GLES2.functional.texture.specification.*

Change-Id: I85aec3469872f2733f528ef7902427e9e87935e7
(cherry picked from commit 19dd72470bdd1a772c08474535e40874624a93b1)

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Mon, 1 Jun 2020 16:16:59 +0000 (18:16 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: Ia2eea8ae5927bcf40465a4c09126fdcb46c969c4

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Mon, 1 Jun 2020 15:11:42 +0000 (17:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: I01f6039531fa5655110e271f30104569a04805d4

4 years agoUpdate KC CTS
Alexander Galazin [Mon, 1 Jun 2020 11:28:54 +0000 (13:28 +0200)]
Update KC CTS

Components: Framework

Affects: dEQP-GL.*

Change-Id: I129379863364046344ec9299822721d27acdce65

4 years agoAdd SampleMask write tests
Ricardo Garcia [Fri, 15 May 2020 07:50:52 +0000 (09:50 +0200)]
Add SampleMask write tests

This commit adds a new set of tests that verify writing values to
SampleMask from fragment shaders work and effectively prevent or allow
writing to specific samples.

New tests:
dEQP-VK.pipeline.multisample_shader_builtin.write_sample_mask.*

Components: Vulkan
VK-GL-CTS issue: 2363

Change-Id: Ief5db73977c28571eb301fa9a7d756a38ba2b51b

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Mon, 1 Jun 2020 12:38:53 +0000 (14:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I6cf7fcf5c0fab0a28a09b7fd25fcaa89b02e7973

4 years agoFix Windows build
Yuly Novikov [Fri, 29 May 2020 22:50:33 +0000 (18:50 -0400)]
Fix Windows build

Missing #include for std::max in glcPixelStorageModesTests.cpp

Components: OpenGL
Change-Id: I484553e4a04124116ab20090211648001190f902

4 years agoAdd drm format modifiers tests
Lionel Landwerlin [Fri, 8 Mar 2019 18:31:04 +0000 (18:31 +0000)]
Add drm format modifiers tests

This CL adds two VK_EXT_image_drm_format_modifier tests.
The tests will be enabled when an implementation supports
VK_EXT_image_drm_format_modifier.

The two tests in this CL will test listing the supported modifiers
given a format, and creating images with a list of supported
modifiers.

In particular, they test these parts of the extension:
- VkGetImageDrmFormatModifierPropertiesEXT
- VkDrmFormatModifierPropertiesListEXT
- VkPhysicalDeviceImageDrmFormatModifierInfoEXT
- VkImageDrmFormatModifierListCreateInfoEXT

This CL is extracted from https://gerrit.khronos.org/#/c/3709/

Components: Vulkan

Affects: dEQP-VK.drm_format_modifiers.*

Change-Id: I031d72a2b8756577cd8d576caa91cfcd77f808db

4 years agoCorrect few pipeline_barrier tests
Piotr Byszewski [Thu, 21 May 2020 16:45:23 +0000 (18:45 +0200)]
Correct few pipeline_barrier tests

In pipeline barrier tests there is findMaxBufferSize util function.
It consists of two parts. First part checks if we can create buffer
that requires as much space as we want to test, and second, used when
first part fails, searches for maximal buffer that we can create
within that limit. Since test values are multiply of 1024 the second
part of this function was never hit by most of implementations.
It was hit by implementation that overalocates buffers and this
revealed that classes operating on ubo and ssbo were not handling
buffer sizes that are not multiple of 16 in case of ssbo and multiple
of 1024 in case of ubo (rest of RenderPassCommands are handling that
case). Note that this can be tested by just commenting first part of
findMaxBufferSize function.
This change make sure that ubo and ssbo tests work on smaller buffers
but with limitation that last modulo 16 values from those buffers are
not used in tests.

Components: Vulkan

VK-GL-CTS public issue: 206

Affects:
dEQP-VK.memory.pipeline_barrier.*uniform_buffer.*
dEQP-VK.memory.pipeline_barrier.*storage_buffer.*

Change-Id: Ia7d09500116783ac9ea047d18690efa329d625e7

4 years agoDo not use 2D array d/s attachment created from 3D texture
Slawomir Cygan [Fri, 22 May 2020 14:03:20 +0000 (16:03 +0200)]
Do not use 2D array d/s attachment created from 3D texture

Spec says, on VkFramebufferCreateInfo
"""
If flags does not include VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each
element of pAttachments that is a 2D or 2D array image view taken from a 3D
image must not be a depth/stencil format
"""

This change changes image type to be 2D array, instead of 3D

Components: Vulkan

VK-GL-CTS Issue: 2379

Affects: dEQP-VK.geometry.layered.*.readback

Change-Id: Icd957c6badb17a0fcef82015c1ab2fba0896923b

4 years agoUpdate Android API levels and grant permissions
Mika Väinölä [Wed, 3 Apr 2019 13:16:32 +0000 (16:16 +0300)]
Update Android API levels and grant permissions

Remove <uses-sdk ...> from AndroidManifest.xml; instead, add it in
build_apk.py via aapt. Add "--min-api" option that defaults to 22.
Change target API level to 28. Add "-g" to the ADB install command to
automatically grant all runtime permissions. Update the instructions in
external/vulkancts/README.md.

Components: Android, Framework

VK-GL-CTS issue: 650

Change-Id: I76963ccd43f9c1598e5f1c925347dc68dbc644c3

4 years agoFix overflow in VK_EXT_subgroup_size_control tests.
Bas Nieuwenhuizen [Mon, 18 May 2020 01:28:21 +0000 (03:28 +0200)]
Fix overflow in VK_EXT_subgroup_size_control tests.

Hit this with maxComputeWorkgroupSubgroups = UINT32_MAX. The overflow
combined with the signed min result in some very large workgroups.

Affected tests:

  dEQP-VK.subgroups.size_control.*.required_subgroup_size_*

Components: Vulkan
VK-GL-CTS issue: 2369

Change-Id: I0abd69331c8f9b93c7717f253b618293bc223b12

4 years agoFix uninitialized index array
Courtney Goeltzenleuchter [Thu, 21 Nov 2019 17:07:41 +0000 (10:07 -0700)]
Fix uninitialized index array

The test is doing a glDrawRangeElements using uninitialized data for
the element array. ANGLE validates that the indices fall within the
specified range. Data needs to be initialized to ensure that happens.

The spec says:
It is an error for index values (other than the primitive restart index,
when primitive restart is enabled) to lie outside the range [start, end], but
implementations are not required to check for this. Such indices will cause
implementation-dependent behavior.

Either the test needs to allow for an error or initialize the data so
as to be valid for the call.

Affected Test:
    dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_range_elements

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

Change-Id: I51f8abb86f088b67990001454bb00d59313200c2
(cherry picked from commit bf7a86af5a959c3f4ad39deabe8b396d8581470a)

4 years agoAdd conformance tests for new buffer offset rules
J.D. Rouan [Mon, 24 Feb 2020 18:00:07 +0000 (10:00 -0800)]
Add conformance tests for new buffer offset rules

As described in vulkan#1701 and specified in vulkan!3444, the
bufferOffset requirement can be relaxed if the queue family supports
VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT.

Component: Vulkan
VK-GL-CTS issue: 2100

New tests:
dEQP-VK.api.copy_and_blit.*.image_to_buffer.buffer_offset_relaxed
dEQP-VK.api.copy_and_blit.*.buffer_to_image.buffer_offset_relaxed

Change-Id: I278b81de35cbd73779060fcfb51ac8131e173db3

4 years agoImprove Wayland protocol version selection.
Tomek Bury [Tue, 3 Mar 2020 14:41:50 +0000 (14:41 +0000)]
Improve Wayland protocol version selection.

VK-GL-CTS issue: 2252

Requesting specifically version 3 of the protocol makes the
wl_surface_damage_buffer() API unavailable to the client, even if
the compositor supports it. This may effectively disable
the EGL_EXT_swap_buffers_with_damage extension in the EGL implementation.

The wl_compositor protocol version 4 was released in Wayland 1.10
in february 2016. It contains a new define:

#define WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION 4

and a new API:

wl_surface_damage_buffer(struct wl_surface *wl_surface,
    int32_t x, int32_t y, int32_t width, int32_t height);

Requesting "at least version 3" is still backwards compatible with older
compositors, but doesn't block the newer ones from providing version 4
with the wl_surface_damage_buffer() API. This API can be used by EGL
to implement the EGL_EXT_swap_buffers_with_damage extension.

Affects:
    dEQP-EGL.functional.swap_buffers_with_damage.*

Change-Id: I621524328a90b2d629baad8c96d3a18e1eb2cf76

4 years agoFix broken layout binding tests
Timothy Arceri [Thu, 30 Apr 2020 07:31:13 +0000 (17:31 +1000)]
Fix broken layout binding tests

Some of the shaders being generated contain a misplaced ;

An example of the code being gererated is as follows:

  fragColor = vec4(float(atomicCounter(atomic0)), 1.0, 0.0, 1.0);
  +vec4(float(atomicCounter(atomic1)), 1.0, 0.0, 1.0);
  +vec4(float(atomicCounter(atomic2)), 1.0, 0.0, 1.0);
  +vec4(float(atomicCounter(atomic3)), 1.0, 0.0, 1.0);

Affects:

KHR-GL46.layout_binding.atomic_uint_layout_binding_atomic_*

Components: OpenGL

VK-GL-CTS issue: 2348

Change-Id: Ie209de8954c8b8e3920c17be9190030946c93354

4 years agoRemove non-compute variants of common function tests
Graeme Leese [Wed, 6 May 2020 13:36:25 +0000 (14:36 +0100)]
Remove non-compute variants of common function tests

Previous agreement was that we should only test simple non-stage-
specific functions in compute shaders, so simplify the code by removing
all the other tests.

Components: Vulkan
Affects: dEQP-VK.glsl.builtin.function.common.*
         (mostly removed)

Change-Id: I98e9ee5944565847dafef79f08c80ebf07083d7f

4 years agoFixes clipping tests supported check
Matthew Netsch [Wed, 27 May 2020 19:58:36 +0000 (15:58 -0400)]
Fixes clipping tests supported check

Adjacent line modes need to have check
that geometry shaders are supported

Component: Vulkan
VK-GL-CTS Issue: 2383

Affects:
dEQP-VK.clipping.clip_volume.depth_clamp.*

Change-Id: Ifcdc533ab0e9d54e834a7ac8fb609dec7c6ac248

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Wed, 27 May 2020 17:25:47 +0000 (19:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: If6741ff28f453979aa2d7ca74a830aac8f0ef071