platform/upstream/VK-GL-CTS.git
3 years agoTest texelfetch on uniform texel buffer with packed format
Ari Suonpaa [Fri, 19 Jun 2020 12:03:28 +0000 (15:03 +0300)]
Test texelfetch on uniform texel buffer with packed format

VK-GL-CTS Issue: 2245

New tests:

dEQP-VK.texture.texel_buffer.*

Components: Vulkan
Change-Id: Ieca891e2f6fc4293b414a44b756b61deb4d81f4d

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Wed, 8 Jul 2020 08:40:16 +0000 (10:40 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: I8448a4f245f866b38b2048f65847a0f55bb6d933

3 years agoMerge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Alexander Galazin [Wed, 8 Jul 2020 07:34:26 +0000 (09:34 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6

Change-Id: Ib82d397035bcfd1903575e28aefd21addb29d69b

3 years agoFix the sorting order in eglChooseConfig test
Jianle Wang [Sat, 9 May 2020 08:00:43 +0000 (16:00 +0800)]
Fix the sorting order in eglChooseConfig test

EGL_COLOR_COMPONENT_TYPE_EXT should be before EGL_COLOR_BUFFER_TYPE
in sorting.

Components: AOSP

VK-GL-CTS issue: 2370

Affects:
dEQP-EGL.functional.choose_config.color_component_type_ext.dont_care

Change-Id: Ic502f17c800dac9f889931eb71971366a5cdb392
(cherry picked from commit 137766c7c9b4f7dac80b90ebf6f9a032188afe0f)

3 years agoTest transitions between command buffer states
Piotr Byszewski [Tue, 28 Apr 2020 16:46:25 +0000 (18:46 +0200)]
Test transitions between command buffer states

This change adds tests that drive command buffer state
transitions that weren't covered by existing tests.
This change also corrects record_many_secondary test that
previously was not operating on secondary command buffer
(it had the same source as record_many_primary).

Components: Vulkan

VK-GL-CTS issue: 802

Affects:
dEQP-VK.api.command_buffers.*_to_ininitial
dEQP-VK.api.command_buffers.record_single_secondary

Change-Id: Id3ee86b6e019e13fca9c129c642ca2452ea1b719

3 years agoUpdate SPIR-V Tools/Headers and glslang
Alexander Galazin [Sat, 4 Jul 2020 13:41:22 +0000 (15:41 +0200)]
Update SPIR-V Tools/Headers and glslang

Components: Framework

Change-Id: I3c85a41c09bcf2d87e99488eb230345118feb664

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/master
Alexander Galazin [Sat, 4 Jul 2020 13:47:31 +0000 (15:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/master

Change-Id: I9adddd74bc3bf9851fcb11ab44f107ea8ece7da6

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

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

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

3 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

3 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

3 years agoUncomment gen_framework.py
Alexander Galazin [Fri, 3 Jul 2020 15:21:26 +0000 (17:21 +0200)]
Uncomment gen_framework.py

Components: Vulkan

VK-GL-CTS issue: 2440

Change-Id: I1bac0a281db39468cb32a8c6d5d4082d17cba088

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

Change-Id: If01a3b78bd5d43583e2c8a993586b3ad57ef6e0a

3 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

3 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

3 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

3 years agoTest atomic operations with VK_KHR_buffer_device_address
Ricardo Garcia [Tue, 16 Jun 2020 16:39:08 +0000 (18:39 +0200)]
Test atomic operations with VK_KHR_buffer_device_address

Add new variants to the atomic operations test group in order to check
atomic operations work properly with storage buffers passed as buffer
references.

New tests:
dEQP-VK.glsl.atomic_operations.*_reference

Affected tests:
dEQP-VK.glsl.atomic_operations.*

Components: Vulkan
VK-GL-CTS issue: 2400

Change-Id: Ib63fe16c0fddc3b0975da974ff83d2ec7c5148a2

3 years agoTests for global atomic operations
Ricardo Garcia [Wed, 10 Jun 2020 14:35:59 +0000 (16:35 +0200)]
Tests for global atomic operations

This commits adds new tests to check atomic operations work as expected
when used with global shared memory variables in compute shaders
(Workgroup storage in SPIR-V).

In addition, this commit fixes a missing barrier to make writes
available to the host domain before invalidating memory.

New tests:
dEQP-VK.glsl.atomic_operations.*_shared

Affected tests:
dEQP-VK.glsl.atomic_operations.*

Components: Vulkan
VK-GL-CTS issue: 2400

Change-Id: Id5e59c9acb1acbee284f98813091d4a6f31ee169

3 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

3 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

3 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

3 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

3 years agoUpdate VK_EXT_fragment_density_map2 names
Piotr Byszewski [Mon, 29 Jun 2020 15:54:00 +0000 (17:54 +0200)]
Update VK_EXT_fragment_density_map2 names

Extension was updated and some names were changed.

Components: Vulkan

VK-GL-CTS issue: 2436

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

Change-Id: I266a78bd15196aa7800f40f276077e74ff94f6d6

3 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

3 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

3 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

3 years agoAdd atomic operation tests for multisample storage images
Ari Suonpaa [Mon, 22 Jun 2020 04:20:45 +0000 (07:20 +0300)]
Add atomic operation tests for multisample storage images

VK-GL-CTS Issue: 2310

New tests:

dEQP-VK.texture.multisample.atomic.*

Components: Vulkan
Change-Id: Ie2bcd1fd2e5cd458abfd846deda19f22f82af778

3 years agoAdd core feature bit checks for Vulkan 1.1
Ricardo Garcia [Mon, 22 Jun 2020 15:45:53 +0000 (17:45 +0200)]
Add core feature bit checks for Vulkan 1.1

requireDeviceFuncionality and isDeviceFunctionalitySupported do not
check for the requested extension to be really present in the device
when passing an extension name that's core for the used API version.

If the API version is at least Vulkan 1.2, general feature bits, if
available, are checked for the requested extension using the new
Vulkan11Features and Vulkan12Features structures introduced in Vulkan
1.2.

However, for Vulkan 1.1 no feature check is taking place either, which
does not guarantee the feature will actually be supported despite the
check returning true.

This commit fixes those checks for Vulkan 1.1 by using the equivalent
extension-specific structures and feature bits.

Affected tests (only under Vulkan 1.1 implementations):
dEQP-VK.multiview.*
dEQP-VK.draw.instanced.*_multiview
dEQP-VK.pipeline.extended_dynamic_state.*2_viewports*
dEQP-VK.pipeline.extended_dynamic_state.*2_scissors*
dEQP-VK.spirv_assembly.instruction.*.variable_pointers.*
dEQP-VK.draw.shader_draw_parameters.*
dEQP-VK.protected_memory.*.ycbcr.*
dEQP-VK.ycbcr.conversion.*
dEQP-VK.ycbcr.query.*
dEQP-VK.ycbcr.plane_view.*
dEQP-VK.ycbcr.format.*
dEQP-VK.ycbcr.filtering.*

Components: Vulkan
VK-GL-CTS issue: 2158

Change-Id: Ia9b8c33a4d0d8c3737eae662a854134866e1dfe0

3 years agoPrevent leaking extra fences
Austin Shafer [Mon, 15 Jun 2020 22:58:03 +0000 (15:58 -0700)]
Prevent leaking extra fences

These tests create fences, which are then overwritten and leaked
by calls to extension functions. i.e. registering a device event
creates a new fence, so the test should not create a fence and
pass it to registerDeviceEventEXT.

Affects:
- dEQP-VK.wsi.display_control.register_display_event
- dEQP-VK.wsi.display_control.register_device_event

VK-GL-CTS issue: 2427
Components: Vulkan

Change-Id: I2e20c13ff600429e495e98f8ff84722f298822ad

3 years agoEnsure swizzle identities work with their equivalent mappings
Ricardo Garcia [Wed, 24 Jun 2020 16:36:37 +0000 (18:36 +0200)]
Ensure swizzle identities work with their equivalent mappings

In vulkan/vulkan!3399 the spec modified several points to clarify
anything requiring VK_COMPONENT_SWIZZLE_IDENTITY in a VkComponentMapping
member should also work with their equivalent mappings (SWIZZLE_R,
SWIZZLE_G, SWIZZLE_B and SWIZZLE_A for the .r, .g, .b and .a members
respectively).

This commit adds new test variants with equivalent values or modifies
existing tests so mappings are switched between the two possibilities
when generating or running tests, in a deterministic way.

Affected tests:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*
dEQP-VK.ycbcr.conversion.*

New tests:
dEQP-VK.texture.swizzle.component_mapping.*_rgba
dEQP-VK.texture.swizzle.component_mapping.*_iiii
dEQP-VK.texture.swizzle.component_mapping.*_abgr
dEQP-VK.pipeline.sampler.*.min_reduce.comp_r_zero_zero_zero.*
dEQP-VK.pipeline.sampler.*.mag_reduce.comp_r_zero_zero_zero.*

Components: Vulkan
VK-GL-CTS issue: 2384

Change-Id: I09fcadef9abcd56c3f5bca51425ba9b9e82a5507

3 years agoFix VK_AMD_shader_trinary_minmax feature checks
Ricardo Garcia [Mon, 22 Jun 2020 16:26:01 +0000 (18:26 +0200)]
Fix VK_AMD_shader_trinary_minmax feature checks

Avoid using Vulkan 1.2-specific structures when checking features
required for VK_AMD_shader_trinary_minmax tests.

Affected tests:
dEQP-VK.spirv_assembly.instruction.amd_trinary_minmax.*

Components: Vulkan
VK-GL-CTS issue: 2158

Change-Id: I991eb6d0f3982cf40dc5487c7742ce7b03152698

3 years agoAdd test for writing to an SSBO array
Ari Suonpaa [Sat, 20 Jun 2020 07:27:41 +0000 (10:27 +0300)]
Add test for writing to an SSBO array

VK-GL-CTS Issue: 2285

New tests:

dEQP-VK.compute.basic.write_ssbo_array

Components: Vulkan
Change-Id: I6650aa1e087a5fb3c2bdad5eb3788b944faf996e

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

3 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Fri, 26 Jun 2020 11:22:18 +0000 (13:22 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I880743e1c17e8cc4d3cbe4f7aa5b791af7cfee70

3 years agoMerge pull request #213 from sigexp/fix/signed_formats
Alexander Galazin [Fri, 26 Jun 2020 11:19:58 +0000 (13:19 +0200)]
Merge pull request #213 from sigexp/fix/signed_formats

Fix PixelStorageModesTests

3 years agoAdd missing mandatory features
Ricardo Garcia [Thu, 18 Jun 2020 16:34:32 +0000 (18:34 +0200)]
Add missing mandatory features

The following features are mandatory when some requirements are met and
they were not part of mandatory_features.txt:

* samplerYcbcrConversion
* drawIndirectCount
* samplerMirrorClampToEdge
* samplerFilterMinmax
* shaderOutputViewportIndex
* shaderOutputLayer

Affected tests:
dEQP-VK.info.device_mandatory_features

Components: Vulkan
VK-GL-CTS issue: 2158

Change-Id: I2401956bd7e0ee80792e146b80e130f7ac8ab8dd

3 years agoRemove handwritten array from the driver properties test
Vihanakangas [Wed, 17 Jun 2020 10:26:21 +0000 (13:26 +0300)]
Remove handwritten array from the driver properties test

Replace knownDriverIds in vktApiDriverProperties.cpp with
an array generated from the header.

Affects:
dEQP-VK.api.driver_properties.*

Components: Vulkan, Framework

VK-GL-CTS Issue: 2368

Change-Id: Ib67a417e8dfaa4a03ef426dc8dd2655df45b85d5

3 years agoFix framework device properties generated code
Piers Daniell [Wed, 17 Jun 2020 21:21:00 +0000 (15:21 -0600)]
Fix framework device properties generated code

The gen_framework.py scripts had a few issues:

1) Generated code for non-physical device proprties functions.

2) Failed to generate correct code when it couldn't determine
the actual name of the extension.

3) Generated code that caused core physical device properties,
not part of an extension, to not be filled in.

Affects:

dEQP-VK.* (only initialization)

Components: Framework, Vulkan

VK-GL-CTS issue: 2425

Change-Id: I267eddc86317440007423f73a4744e14eee11ff6

3 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

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

3 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

3 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

3 years agoSeparate types and cases in random descriptor set tests
Ricardo Garcia [Fri, 19 Jun 2020 13:33:28 +0000 (15:33 +0200)]
Separate types and cases in random descriptor set tests

Several descriptor types are now allowed to have test combinations with
no descriptors of that type when using dynamic indexing. This enables us
to check dynamic indexing features only when the amount of descriptors
for the given type is nonzero. For example, if dynamic indexing is
available for uniform buffers but not texel buffers in a given
implementation, dynamic indexing tests can now run for combinations in
which the amount of texel buffers is zero.

Storage images, previously only used for storing test results, are now
part of the combinations too and independent from storage texel buffers.

This commit also introduces some checks to make sure the number of test
combinations and the resulting shader size remain reasonable.

In addition, this commit prepares the random descriptor set tests to
include write checks in the future for the following descriptor types:

* VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
* VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
* VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
* VK_DESCRIPTOR_TYPE_STORAGE_IMAGE

The plan is to pseudorandomly choose around half the checks to be read
checks and the other half to be write checks.

Affected tests:
dEQP-VK.binding_model.descriptorset_random.*

Components: Vulkan
VK-GL-CTS issue: 1973

Change-Id: I43708bf7a4e630c2299ccf6215ed7a78294e9ba0

3 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

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

3 years agoFix PixelStorageModesTests
Yevhenii Kolesnikov [Tue, 9 Jun 2020 17:00:50 +0000 (20:00 +0300)]
Fix PixelStorageModesTests

Components: OpenGL

VK-GL-CTS issue: 212

Affects tests:
KHR-GL33.pixelstoragemodes.*
KHR-GLES31.core.pixelstoragemodes.*

Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
3 years agoAdd ModfStruct and FrexpStruct to GLSL precision tests
Ricardo Garcia [Thu, 19 Mar 2020 08:01:13 +0000 (09:01 +0100)]
Add ModfStruct and FrexpStruct to GLSL precision tests

This commit adds scalar and vectorized versions of precision tests to
check the ModfStruct and FrexpStruct extended instructions from
GLSL.std.450.

In addition, Modf tests also gain vectorized versions, compared to
scalar-only versions available previously.

New tests:
dEQP-VK.glsl.builtin.precision*.modfstruct.*
dEQP-VK.glsl.builtin.precision*.modf.*
dEQP-VK.glsl.builtin.precision*.frexpstruct.*

Affected tests:
dEQP-VK.glsl.builtin.precision*.frem.*
dEQP-VK.glsl.builtin.precision*.comparison.*
dEQP-VK.glsl.builtin.precision*.modfstruct.*

Components: Vulkan
VK-GL-CTS issue: 2296

Change-Id: I29b902ffec0a93a8cb13c30a440da008cce850f2

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

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

3 years agoAdd tests for SNORM clamping
Ari Suonpaa [Thu, 4 Jun 2020 12:17:07 +0000 (15:17 +0300)]
Add tests for SNORM clamping

Added tests that verify the smallest integer value in
SNORM format gets properly clamped to -1.

Also reorganized texture conversion test group and
added image support checking for Amber test case
framework.

VK-GL-CTS Issue: 2303

New tests:

dEQP-VK.texture.conversion.*

Components: Vulkan
Change-Id: I10d10ec4c5a3520d81bfe584c3fa19149d763806

3 years agoAdd tests for VK_AMD_texture_gather_bias_lod
Ricardo Garcia [Tue, 26 May 2020 12:59:20 +0000 (14:59 +0200)]
Add tests for VK_AMD_texture_gather_bias_lod

This commit adds new texture gather test variants to exercise functions
from VK_AMD_texture_gather_bias_lod. Both the optional bias argument and
the explicit lod parameters are tested.

New tests:
dEQP-VK.glsl.texture_gather.*amd*

Affected tests:
dEQP-VK.glsl.texture_gather.*

Components: Vulkan
VK-GL-CTS issue: 2353

Change-Id: If99e4f123676040fecf0cb95c0af8c8df27441d8

3 years agoTest vkQueueBindSparse with timeline semaphores
Ricardo Garcia [Thu, 28 May 2020 15:15:01 +0000 (17:15 +0200)]
Test vkQueueBindSparse with timeline semaphores

Add tests to check vkQueueBindSparse properly uses timeline semaphores,
waiting or signaling them as requested.

New tests:
dEQP-VK.synchronization.timeline_semaphore.sparse_bind.*

Components: Vulkan
VK-GL-CTS issue: 2357

Change-Id: I31baf0bbed5c080347196101888b5dbfd7539330

3 years agoTest vertex buffer accesses with stride zero
Ricardo Garcia [Thu, 28 May 2020 13:58:22 +0000 (15:58 +0200)]
Test vertex buffer accesses with stride zero

This commits adds a new set of rasterization tests in which the stride
is set to zero bytes in the vertex input binding description. In those
cases, only the first element in the buffer should be read.

New tests:
dEQP-VK.rasterization.primitives.stride_zero.*

Components: Vulkan
VK-GL-CTS issue: 2387

Change-Id: I04ee0cf3edb820eaac043144a6fb7534faeb8199

3 years agoTest maximum compute work group sizes
Ricardo Garcia [Fri, 5 Jun 2020 15:00:48 +0000 (17:00 +0200)]
Test maximum compute work group sizes

This commit adds 3 new tests to check running shaders with the maximum
advertised compute work group sizes is possible and works.

New tests:
dEQP-VK.compute.basic.max_local_size_*

Components: Vulkan
VK-GL-CTS issue: 2402

Change-Id: Ifb9319f5a5c19582fe575c59a1b6cd0405538c76

3 years agoAdd modfStruct comparison tests
Mika Väinölä [Thu, 14 May 2020 19:50:16 +0000 (22:50 +0300)]
Add modfStruct comparison tests

Add tests for comparing the output of modf and modfStruct with 32-bit floats
and vectors as input. Update Amber and implement delegate for loading buffers
from files in AmberScript.

New tests:
dEQP-VK.spirv_assembly.instruction.*.float32.comparison_*.modfstruct*

Components: Vulkan

VK-GL-CTS issue: 1728

Change-Id: If2ee37779472be543038bae313792e2367051bdf

3 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

3 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

3 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/master
Alexander Galazin [Thu, 18 Jun 2020 09:30:05 +0000 (11:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/master

Change-Id: I6956caef9691620ce9a92281f425904258acb8ad

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 years agoTest isinf() and isnan() with 64-bit floats
Ricardo Garcia [Thu, 28 May 2020 15:10:07 +0000 (17:10 +0200)]
Test isinf() and isnan() with 64-bit floats

This commits adds new tests to the shader common function test group to
check isinf() and isnan() works with 64-bit floats when available.

Minor code refactoring changes affect all common function tests.

New tests:
dEQP-VK.glsl.builtin.function.common.isnan.double*
dEQP-VK.glsl.builtin.function.common.isnan.dvec*
dEQP-VK.glsl.builtin.function.common.isinf.double*
dEQP-VK.glsl.builtin.function.common.isinf.dvec*

Affected tests:
dEQP-VK.glsl.builtin.function.common.*

Components: Vulkan
VK-GL-CTS issue: 2354

Change-Id: Ic63661b6646ccbcda4264660c1633d2f84e9e735

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

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

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

3 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

3 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

3 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

3 years agoTest secondary command buffer with no framebuffer
Ricardo Garcia [Wed, 3 Jun 2020 14:57:51 +0000 (16:57 +0200)]
Test secondary command buffer with no framebuffer

This commit adds a new test to check omitting the framebuffer handle
when beginning a secondary command buffer for a render pass is safe and
does not change the expected result.

New and affected tests:
dEQP-VK.api.command_buffers.render_pass_continue*

Components: Vulkan
VK-GL-CTS issue: 2399

Change-Id: I3a5dc3f3f9be2b620500162166485b8efda016a9

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 agoFix --deqp-runmode=txt-caselist option for ES2.0 devices
James Hauxwell [Wed, 20 May 2020 14:45:31 +0000 (15:45 +0100)]
Fix --deqp-runmode=txt-caselist option for ES2.0 devices

Change allows the iteration of the caselist to terminate without error
when ES3.0 is not present on the device under test.

Components: framework

VK-GL-CTS issue: 2375

Change-Id: I47bee9daaab6a6b48eddf6155a4a1ed5fddfde65

4 years agoFix the sorting order in eglChooseConfig test
Jianle Wang [Sat, 9 May 2020 08:00:43 +0000 (16:00 +0800)]
Fix the sorting order in eglChooseConfig test

EGL_COLOR_COMPONENT_TYPE_EXT should be before EGL_COLOR_BUFFER_TYPE
in sorting.

Components: AOSP

VK-GL-CTS issue: 2370

Affects:
dEQP-EGL.functional.choose_config.color_component_type_ext.dont_care

Change-Id: Ic502f17c800dac9f889931eb71971366a5cdb392

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

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

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