platform/upstream/VK-GL-CTS.git
3 years agoAdd missing tests for NO_DUPLICATE_ANY_HIT flag used against AABBs and triangles.
Dominik Witczak [Tue, 28 Jul 2020 15:44:10 +0000 (17:44 +0200)]
Add missing tests for NO_DUPLICATE_ANY_HIT flag used against AABBs and triangles.

New tests:
dEQP-VK.ray_tracing_pipeline.misc.NO_DUPLICATE_ANY_HIT_*

Components: Vulkan

VK-GL-CTS issue: 2472

Change-Id: I2e1d0860e0c0132c23012dd6853f39da2f6e95d2

3 years agoUpdate glslang and deps for latest rebase
Daniel Koch [Thu, 30 Jul 2020 04:21:45 +0000 (00:21 -0400)]
Update glslang and deps for latest rebase

Component: Framework

Change-Id: I07e7b75b4f6e8b61f27fdabec7314126b079167e

3 years agoFix null shader module in raytracing tests
Jaakko Konttinen [Thu, 30 Jul 2020 22:02:32 +0000 (18:02 -0400)]
Fix null shader module in raytracing tests

The dEQP-VK.ray_tracing_pipeline.build.gpu_cpu.* tests use a shader module
multiple times in two different hit groups. The variable is in Move
container, so the first call to addShader() moves the module handle to
the pipeline object and replaces the variable's value with a null
handle.  A subsequent call to addShader() then adds the null handle
as a shader stage module for another hit group.

I fixed it by just moving some code around to allow a second version of
addShader() that accepts a shared pointer instead.

Affects:

dEQP-VK.ray_tracing_pipeline.build.gpu_cpu.*
dEQP-VK.ray_tracing_pipeline.build.gpu_cpuht.*

Components: Vulkan
Change-Id: Ic2a4998e79b23cd43aaa1f6f267f60469de8f83a

3 years agoCheck acceleration structure vertex format support
Ricardo Garcia [Tue, 28 Jul 2020 14:58:29 +0000 (16:58 +0200)]
Check acceleration structure vertex format support

At least one implementation is not including the format feature bit for
mandatory vertex formats as required by the spec. Check the format
feature bit is supported for those:

VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR

Affected tests:
dEQP-VK.ray_*.acceleration_structures.*

Components: Vulkan
VK-GL-CTS issue: 2467

Change-Id: Id90cf31ffb1e86a93c43330b9447f0d54c9e33d3

3 years agore-enable ObjectToWorld3x4EXT and WorldToObject3x4EXT built-in tests
Daniel Koch [Tue, 21 Jul 2020 15:42:35 +0000 (11:42 -0400)]
re-enable ObjectToWorld3x4EXT and WorldToObject3x4EXT built-in tests

VK-GL-CTS Issue #2451

Update to glslang version which is fixed and re-enable tests

Component: Vulkan
Affects:
dEQP-VK.ray_tracing_pipeline.builtin.*3x4ext.*

Change-Id: I59c57dd06513a30c0ad782b462c1f0c59fa95d50

3 years agoAdd tests for all ray flags in VK_KHR_ray_query
Pawel Ksiezopolski [Thu, 14 May 2020 17:59:53 +0000 (19:59 +0200)]
Add tests for all ray flags in VK_KHR_ray_query

Tests verify behaviour of rayQuery* shader functions
taking different sets of ray flags as input parameters.

New tests:
dEQP-VK.ray_query.ray_flags.*

Components: Vulkan

VK-GL-CTS issue: 2318

Change-Id: Iec34cd87ab773346f0cbbcc80c0442ca8d1038b2

3 years agoAdd tests for capturing/replaying data in ray tracing
Pawel Ksiezopolski [Tue, 28 Jan 2020 14:36:44 +0000 (15:36 +0100)]
Add tests for capturing/replaying data in ray tracing

Tests verify whether the implementation supports saving
and reusing shader group handles and acceleration structures,
e.g. for trace capture and replay.

New tests:
dEQP-VK.ray_tracing_pipeline.capture_replay.*

Components: Vulkan

VK-GL-CTS issue: 2139

Change-Id: Id44c454560bb56210dda2572d948dff499d457a2

4 years agoImprove watertightness tests.
Dominik Witczak [Tue, 28 Jul 2020 07:09:30 +0000 (09:09 +0200)]
Improve watertightness tests.

New tests:
dEQP-VK.ray_tracing_pipeline.watertightness.closedFan.*
dEQP-VK.ray_tracing_pipeline.watertightness.closedFan2.*

Components: Vulkan

VK-GL-CTS issue: 2472

Change-Id: I507adaf4b8b01b9c2dbba5b143ea453502b32035

4 years agoMerge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing
Alexander Galazin [Sat, 25 Jul 2020 13:38:27 +0000 (15:38 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing

Change-Id: I0e739b586558c95423717ad78829283e6b29d161

4 years agoSeparate types and cases in random descriptor set tests
Ricardo Garcia [Mon, 20 Jul 2020 16:48:17 +0000 (18:48 +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

4 years agoSupport for VkPhysicalDeviceVulkan1{1,2}Properties in framework
Michal Pawlowski [Fri, 10 Jul 2020 11:03:30 +0000 (13:03 +0200)]
Support for VkPhysicalDeviceVulkan1{1,2}Properties in framework

Use VkPhysicalDeviceVulkan11Properties and
VkPhysicalDeviceVulkan12Properties in DefaultDevice chain.

Components: Framework

VK-GL-CTS issue: 2425

Change-Id: I0858509ccd33e394249d1355ae9c87d0e6735898
Affects: dEQP-VK.*

4 years agoLet requireDeviceFunctionality support Android AHB extension
Yiwei Zhang [Mon, 13 Jul 2020 21:21:53 +0000 (14:21 -0700)]
Let requireDeviceFunctionality support Android AHB extension

Components: Vulkan

VK-GL-CTS Issue: 2455

Change-Id: I9d7c741cbbb1fbf30ece9aa03f8a9496c70273cc

4 years agoAdd timeline semaphore polling tests
Lionel Landwerlin [Mon, 6 Jul 2020 15:26:41 +0000 (18:26 +0300)]
Add timeline semaphore polling tests

New Tests:
dEQP-VK.synchronization.timeline_semaphore.wait.poll_*

Components: Vulkan

Change-Id: I29c54ae536ec75a4147036497886f1403d7f0de6

4 years agoTest 3D image blit with differing depth
Ari Suonpaa [Mon, 25 May 2020 10:56:55 +0000 (13:56 +0300)]
Test 3D image blit with differing depth

The existing 3D image blit tests were always
using the same depth for the source and the
destination. These new tests cover nearest
and linear filtering for the z axis.

VK-GL-CTS Issue: 2263

New tests:

dEQP-VK.api.copy_and_blit.*.blit_image.*_3d*

Components: Vulkan
Change-Id: I5141466e5f3d15c7a55777344db7725cd81dd1eb

4 years agoUpdate the date in the notice of withdrawal
Alexander Galazin [Thu, 23 Jul 2020 07:34:28 +0000 (09:34 +0200)]
Update the date in the notice of withdrawal

Components: Vulkan

Change-Id: If107f544462e363594b19433ba682b6d543fbba1

4 years agoNotice of withdrawal of Vulkan CTS 1.1.5.x
Alexander Galazin [Thu, 23 Jul 2020 06:44:55 +0000 (08:44 +0200)]
Notice of withdrawal of Vulkan CTS 1.1.5.x

Components: Vulkan

Change-Id: Ia01f9b9877fc699e4cadbb7dde6099560b082c1d

4 years agoAllow Bresenham for single-sample non-strict lines
Ricardo Garcia [Wed, 15 Jul 2020 13:22:33 +0000 (15:22 +0200)]
Allow Bresenham for single-sample non-strict lines

Bresenham rasterization is allowed by Vulkan when using single-sample
non-strict lines but the current test verification function only checks
that possibility when the line width is 1.0.

Affected tests:
dEQP-VK.rasterization.interpolation.*line*
dEQP-VK.rasterization.flatshading.*line*

Components: Framework, Vulkan
VK-GL-CTS issue: 2437

Change-Id: I98a8a393fa387989faa40325629bfbf0b1f0567b

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/master
Alexander Galazin [Tue, 21 Jul 2020 08:07:41 +0000 (10:07 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/master

Change-Id: I21a941c199d59bfcbe14c953e0df643d0b861b6e

4 years agoRemove Amber example test
Alexander Galazin [Mon, 20 Jul 2020 14:44:01 +0000 (16:44 +0200)]
Remove Amber example test

Components: Vulkan

Change-Id: Idd01986ee9436366a8152ed73a1e18d07609def9

4 years agoReintroduce excluded dEQP-VK.binding_model.descriptorset_random tests
Slawomir Cygan [Thu, 9 Jul 2020 15:54:10 +0000 (17:54 +0200)]
Reintroduce excluded dEQP-VK.binding_model.descriptorset_random tests

Components: Vulkan

VK-GL-CTS Issue: 2453

New Tests:
dEQP-VK.binding_model.descriptorset_random.sets4.unifindexed.noubo.nosbo.nosampledimg.outimgonly.noiub.uab.comp.noia.0
dEQP-VK.binding_model.descriptorset_random.sets4.dynindexed.noubo.nosbo.nosampledimg.outimgonly.noiub.uab.comp.noia.0
dEQP-VK.binding_model.descriptorset_random.sets4.runtimesize.noubo.nosbo.nosampledimg.outimgonly.noiub.uab.comp.noia.0
dEQP-VK.binding_model.descriptorset_random.sets8.noarray.ubolimitlow.sbolimitlow.sampledimglow.outimgtexlow.iublimitlow.uab.comp.noia.0
dEQP-VK.binding_model.descriptorset_random.sets8.unifindexed.noubo.nosbo.nosampledimg.outimgonly.noiub.uab.comp.noia.0
dEQP-VK.binding_model.descriptorset_random.sets8.dynindexed.noubo.nosbo.nosampledimg.outimgonly.noiub.uab.comp.noia.0

Change-Id: I10cf0bfd8662afb6810c3262e6431701a79c1821

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 agoUpdate Vulkan headers
Alexander Galazin [Mon, 20 Jul 2020 08:25:15 +0000 (10:25 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: I8c6dd047b6308cb9e4d67b98d8487e704e3151ac

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

4 years agoUpdate glslang, SPIR-V Headers and tools
Alexander Galazin [Mon, 20 Jul 2020 07:33:18 +0000 (09:33 +0200)]
Update glslang, SPIR-V Headers and tools

Components: Framework

Change-Id: Iefc9c69ea9dd3136e1c360aaa971cb185fcc94eb

4 years agoFix synchronization issues in ray tracing tests
Pawel Ksiezopolski [Sat, 18 Jul 2020 15:00:54 +0000 (17:00 +0200)]
Fix synchronization issues in ray tracing tests

Affects tests:
dEQP-VK.ray_tracing_pipeline.*
dEQP-VK.ray_query.*

Components: Vulkan

Change-Id: Id3e92d87b6346ffd78c3d6e40112b579f6b14840

4 years agoMerge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing
Alexander Galazin [Fri, 17 Jul 2020 17:39:03 +0000 (19:39 +0200)]
Merge vk-gl-cts/master into vk-gl-cts/vk_khr_ray_tracing

Change-Id: Ibd8787ecac0466bc8446e193bdda66a73ca0896d

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Fri, 17 Jul 2020 09:08:25 +0000 (11:08 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: I2d11f3d4f51b568adaff1fc94e40d3dde00bcd50

4 years agoCheck presence of WGL_EXT_colorspace before use
Piers Daniell [Tue, 30 Jun 2020 18:09:19 +0000 (12:09 -0600)]
Check presence of WGL_EXT_colorspace before use

This CL fixes an issue where the WGL_COLORSPACE_EXT_attribute
pixel format query was used without checking the implementation
supports the WGL_EXT_colorspace extension.

Affects:

cts-runner initialization on WGL
glcts.exe initialization on WGL

Components: OpenGL

VK-GL-CTS issue: 2257

Change-Id: Ib4177b851c856570c4b125d537ffa476a02c04f3

4 years agoTest pipeline layout lifetime after ending cmd buffer
Ricardo Garcia [Thu, 2 Jul 2020 15:29:10 +0000 (17:29 +0200)]
Test pipeline layout lifetime after ending cmd buffer

This commit adds a new test to check the lifetime of a pipeline layout
object does not go beyond ending a command buffer that uses it. For
that, a pipeline layout object is destroyed just after ending a command
buffer that uses the layout both when binding a descriptor set and when
recording push constant values.

In addition, the code for other previously-existing pipeline layout
API tests (compute and graphics) has been unified and fixed by removing
an unneeded barrier and avoid requesting unneeded transfer image usage
flags that were unused and not checked to be available.

New test:
dEQP-VK.api.pipeline.pipeline_layout.lifetime.destroy_after_end

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

Components: Vulkan
VK-GL-CTS issue: 2398

Change-Id: Ie8709ce0f1407aac0380227b1f3548220ceb356d

4 years agoAdd export/import drm modifier test
Daniele Castagna [Mon, 15 Jun 2020 17:00:43 +0000 (13:00 -0400)]
Add export/import drm modifier test

This CL adds a test to export/import images using modifiers.

To simulate exporting from a client and importing in another one the test is organaized as following:
- an image is upload to srcImage (no modifiers)
- srcImage is blitted to dstImage (with modifiers)
- the memory underlaying dstImage is exported
- the memory is reimported and an image importedSrcImage (with modifiers) is bound to it
- importedSrcImage is blit to outImage

At the end the test verifies that the conetnts of srcImage and outImage are the same.

These tests were run against mesa/intel with
https://gitlab.freedesktop.org/chadversary/mesa/-/tree/anv-drm-format-mod applied on top.

Components: Vulkan

Change-Id: I01c20397c1b49eb355efda3a6e199572cb56652b
Affects: dEQP-VK.drm_format_modifiers.export_import.*

4 years agoTest frag shader side effects are not removed by optimizations
Ricardo Garcia [Thu, 7 May 2020 12:15:56 +0000 (14:15 +0200)]
Test frag shader side effects are not removed by optimizations

This commit adds a net set of tests that check fragment shader side
effects, in the form of an SSBO write, are not removed by optimizations
done when the fragment is discarded by several possible means:

* Calling "discard" for the fragment (translated to OpKill).
* Calling "demote" for the fragment (translated to
  OpDemoteToHelperInvocationEXT).
* Setting SampleMask to zero.
* Setting alphaToCoverageEnable and output 0 in the alpha component.
* Making the depth bounds test fail.
* Making the depth test fail.
* Making the stencil test fail.

New tests:
dEQP-VK.rasterization.frag_side_effects.*

Components: Vulkan
VK-GL-CTS issue: 2336

Change-Id: I6de8a50f137f37538fe614088f289f4ae05d88d0

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

4 years agoFix winding order in some of the ray-tracing builtin tests
Jason Ekstrand [Mon, 13 Jul 2020 15:44:50 +0000 (10:44 -0500)]
Fix winding order in some of the ray-tracing builtin tests

The tests define a series of quads made of triangles with opposite
winding orders.  This change fixes them so that all triangles are
counter-clockwise.

Components: Vulkan
VK-GL-CTS issue: 2454
Affects:
    dEQP-VK.ray_tracing_pipeline.builtin.worldrayoriginext.*
    dEQP-VK.ray_tracing_pipeline.builtin.worldraydirectionext.*
    dEQP-VK.ray_tracing_pipeline.builtin.objectrayoriginext.*
    dEQP-VK.ray_tracing_pipeline.builtin.objectraydirectionext.*
    dEQP-VK.ray_tracing_pipeline.builtin.objecttoworldext.*
    dEQP-VK.ray_tracing_pipeline.builtin.worldtoobjectext.*

Change-Id: Ieed1a71b26b7e81ec2de932a209061ecfd91ab66

4 years agoUpdate binding tests to VK_KHR_ray_tracing v10
Pawel Ksiezopolski [Mon, 13 Jul 2020 09:26:36 +0000 (11:26 +0200)]
Update binding tests to VK_KHR_ray_tracing v10

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

Components: Vulkan, Framework

Change-Id: I328015c9faab6349b5d0d57c4edd0ffa2e337afa

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/master
Alexander Galazin [Mon, 13 Jul 2020 12:52:03 +0000 (14:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.3 into vk-gl-cts/master

Change-Id: I4d99daf62d0ff2b7082e7d57f80df1ea1500ef93

4 years agoBe consistent about the capitalization of Raygen
Jason Ekstrand [Fri, 10 Jul 2020 15:23:16 +0000 (10:23 -0500)]
Be consistent about the capitalization of Raygen

Some places we use "Raygen" and others "RayGen".  This CL standardizes
everything on "Raygen" and fixes issues where testlog-to-xml fails to
parse the qpa files generated by test runs.

Change-Id: I0701039a28942a39a399def808e4dd1a5a878a7a

4 years agoAdd support for comments in amber index files
Ilkka Saarelainen [Mon, 15 Jun 2020 10:33:41 +0000 (13:33 +0300)]
Add support for comments in amber index files

Adds support for comments in amber index files.
Comments can be used e.g. for describing purpose of the test group.
Comment starts with #-character.

VK-GL-CTS issue: 2420

Components: Framework

Change-Id: Iaee7bcfd3f5bd0738b49289f6d45eed82808cdff

4 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

4 years agoUpdate Vulkan headers to VK_KHR_ray_tracing v10
Pawel Ksiezopolski [Tue, 30 Jun 2020 22:09:11 +0000 (00:09 +0200)]
Update Vulkan headers to VK_KHR_ray_tracing v10

All dEQP-VK.ray_tracing.* tests have been renamed to
dEQP-VK.ray_tracing_pipeline.* due to extension name change.
Tests verifying acceleration structure memory requirements
has been removed, because verified functions are no longer
in specification.
Fixed error in acceleration structure tests verifying
VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR flag.

New tests:
dEQP-VK.ray_tracing_pipeline.*

Removes tests:
dEQP-VK.ray_tracing.*
dEQP-VK.ray_tracing.acceleration_structures.requirements.get_acceleration_structure_memory_requirements

Affects tests:
dEQP-VK.ray_query.*
dEQP-VK.ray_tracing_pipeline.acceleration_structures.flags.*lowmemory
dEQP-VK.binding_model.descriptorset_random.*

Components: Vulkan, Framework

Change-Id: I6697877aea9570bee6d9fa3308c70ff5bf6fc5af

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

4 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

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
(cherry picked from commit 137766c7c9b4f7dac80b90ebf6f9a032188afe0f)

4 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

4 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

4 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

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 agoUpdate Vulkan headers
Alexander Galazin [Sat, 4 Jul 2020 10:21:58 +0000 (12:21 +0200)]
Update Vulkan headers

Components: Vulkan

Change-Id: Ie919aa4569a396524aac48dc39c94ac64382a5ae

4 years agoFlip winding of one triangle in watertightness test
Slawomir Cygan [Mon, 8 Jun 2020 12:38:56 +0000 (14:38 +0200)]
Flip winding of one triangle in watertightness test

This flips the winding order of one of two triangles
in watertightness test, so they do share an edge. According
to spec, the triangles share and edge only if they are in
the same winding.

Spec says:
"""
For a set of triangles with identical transforms, within a single instance:
...
  * Any set of two triangles with two shared vertices that were specified
    in the same winding order in each triangle have a shared edge defined
    by those vertices.
...
Implementations should not double-hit or miss when a ray intersects
a shared edge, or a shared vertex of a closed fan.
"""

Components: Vulkan

VK-GL-CTS Issue: 2409

Change-Id: Ia3a277c3e157da6c312e8ff180275763d61ee33e
Affects: dEQP-VK.ray_tracing.watertightness.*

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

4 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

4 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

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

4 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

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

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

4 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

4 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

4 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

4 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

4 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

4 years agoDo not use intersection shaders with triangle geometry
Slawomir Cygan [Thu, 4 Jun 2020 15:21:07 +0000 (17:21 +0200)]
Do not use intersection shaders with triangle geometry

This fixes the watertightness tests to not use Intersection
shaders with procedural hit shader group alongside with
triangle geometry.

Removing intersection shaders switches the shader group type
to triangle hit type.

Components: Vulkan

VK-GL-CTS Issue: 2403

Affects: dEQP-VK.ray_tracing.watertightness.*

Change-Id: I79eb0c8841b129c47103595914e9149d7706cfd7

4 years agoTest trivial gl_RayFlagsSkipTrianglesEXT and gl_RayFlagsSkipAABBEXT
Boris Zanin [Mon, 25 May 2020 11:57:30 +0000 (13:57 +0200)]
Test trivial gl_RayFlagsSkipTrianglesEXT and gl_RayFlagsSkipAABBEXT

Test trivial cases for following GLSL flags:
 * gl_RayFlagsSkipTrianglesEXT
 * gl_RayFlagsSkipAABBEXT
as well as pipeline creation flags:
 * VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
 * VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR

Tests include both of the flags, that makes them trivial.

Add tests:
 * dEQP-VK.ray_tracing.builtin.incomingrayflagsext.*rayskipboth*
 * dEQP-VK.ray_tracing.builtin.incomingrayflagsext.*pipelineskipboth*

Update and refreshes tests:
 * dEQP-VK.ray_tracing.builtin.incomingrayflagsext.*

Components: Vulkan

VK-GL-CTS issue: 2337, 2199

Change-Id: Ib90519ca8c0875b999b273614df9a02386327b61

4 years agoWatertightness tests for VK_KHR_ray_query
Boris Zanin [Wed, 27 May 2020 12:54:20 +0000 (14:54 +0200)]
Watertightness tests for VK_KHR_ray_query

Performs watertightness tests for VK_KHR_ray_query.

Add tests:
 * dEQP-VK.ray_query.watertightness.*

Components: Vulkan

VK-GL-CTS issue: 2380

Change-Id: I48ff5360d3fa348057175e6811f4281fb80f73b7

4 years agoTest nullDescriptors with acceleration structures
Boris Zanin [Thu, 21 May 2020 12:34:38 +0000 (14:34 +0200)]
Test nullDescriptors with acceleration structures

Test that null acceleration structure handles treated as miss.

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

Components: Vulkan

VK-GL-CTS issue: 2367

Change-Id: If35d5763dda93cf47eb3c03ab95de6320b23e64d

4 years agoAdd tests for acceleration structures in VK_KHR_ray_query
Pawel Ksiezopolski [Thu, 21 May 2020 09:57:31 +0000 (11:57 +0200)]
Add tests for acceleration structures in VK_KHR_ray_query

Test verifies possibility to build acceleration structures:
- using different sets of building flags
- using different vertex and index formats for triangles
- using arrays of pointers or ordinary arrays of data
  ( for triangles, AABBs and instances )
- using copies of acceleration structures
Both top level and bottom level acceleration structures are taken into consideration.
Tests are performed using both building functions:
- vkBuildAccelerationStructureKHR
- vkCmdBuildAccelerationStructureKHR
A range of functions is used to verify possibility of copying, compaction
and serialization of acceleration structures:
- vkCmdCopyAccelerationStructureKHR
- vkCopyAccelerationStructureKHR
- vkCmdCopyAccelerationStructureToMemoryKHR
- vkCopyAccelerationStructureToMemoryKHR
- vkCmdCopyMemoryToAccelerationStructureKHR
- vkCopyMemoryToAccelerationStructureKHR

New tests:
dEQP-VK.ray_query.acceleration_structures.*

Components: Vulkan

VK-GL-CTS issue: 2378

Change-Id: Ic2729db82ac70dd92e78c0f5a9c70f21ec33cb11

4 years agoUpdate Vulkan headers to VK_KHR_ray_tracing v9
Pawel Ksiezopolski [Wed, 27 May 2020 08:06:59 +0000 (10:06 +0200)]
Update Vulkan headers to VK_KHR_ray_tracing v9

This commit also fixes few small errors found during testing.

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

Components: Vulkan Framework

Change-Id: Ie0311c1490baa567373698fdf9a420ee988dc13d

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

4 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

4 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

4 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

4 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

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

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

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

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

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)