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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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)
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
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
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
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
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)
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
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)
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
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
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
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)
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
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)
Alexander Galazin [Thu, 4 Jun 2020 19:24:21 +0000 (21:24 +0200)]
Update readme
Components: Vulkan
Change-Id: Ibbd328101912a570e64fca8cf9ac2b45e850eddf
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
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
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
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
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
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
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
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
Alexander Galazin [Thu, 4 Jun 2020 13:39:07 +0000 (15:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: I8d4256c5e9d884aa865dd8ea0ea96434ac30ff4d
Alexander Galazin [Thu, 4 Jun 2020 13:39:04 +0000 (15:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I1a0d3758592a9ddd8506637e379076149669b9d3
Alexander Galazin [Thu, 4 Jun 2020 13:39:00 +0000 (15:39 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I4c275dc2b38e9e722afd8a79227535bd59d3cb5e
Daniele Castagna [Wed, 3 Jun 2020 16:18:11 +0000 (12:18 -0400)]
Fix compilation on clang 11
TrinaryMinMaxCase and TrinaryMinMaxInstance use initialization lists {}
instead of copy constructor syntax to copy TestParams& params.
clang 11 complains about that, this CL simply changes {} to ().
Change-Id: I2e4b75b27c15d5a4bd5dd6b72fddddbd81d83686
Components: Vulkan
Slawomir Cygan [Fri, 28 Feb 2020 14:36:58 +0000 (15:36 +0100)]
Allow not flusing denorms in operands
This fixes tests for denorm value flush to zero in Ceil(), Log(),
Log2(), Sqrt(), Sqrt2() operations. The test was assuming, that
operands of denormal value are flushed before the operation, however
the specification does not require that:
"If the entry point is declared with the DenormFlushToZero execution mode then for the
affected instuctions the denormalized result must be flushed to zero and the denormalized
operands **may** be flushed to zero."
VK-GL-CTS Issue: 2242
Affects: dEQP-VK.spirv_assembly.instruction.compute.float_controls.*.input_args.*_denorm_flush_to_zero
Components: Vulkan
Change-Id: Iedeb0d18fde3749a83be3262dba5efabf365aea2
(cherry picked from commit
0f323f593e9989190f0b8a5768aa25b594d7c1be)
Alexander Galazin [Thu, 4 Jun 2020 07:48:54 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: Ie40d642e33fe250e0834b1ccc6c959c580b84ef8
Alexander Galazin [Thu, 4 Jun 2020 07:48:51 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I82327658d7f7ffcca53bf82654eef47936b31256
Alexander Galazin [Thu, 4 Jun 2020 07:48:50 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I8faea9ae44404bb48cd0cacc20f10cf8441f3b59
Alexander Galazin [Thu, 4 Jun 2020 07:48:50 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I888b86ca0ad11da7329e4aace426274c44439d9e
Alexander Galazin [Thu, 4 Jun 2020 07:48:46 +0000 (09:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: Iee8c3acc0f091ebb4b8a32c300ebddbcaa4fc73f
Arkadiusz Sarwa [Mon, 25 May 2020 22:31:41 +0000 (00:31 +0200)]
Fix BindImageMemoryInfo in *render.device_group2
If image was created with a valid swapchain handle
in VkImageSwapchainCreateInfoKHR::swapchain, then the pNext chain
must include a VkBindImageMemorySwapchainInfoKHR structure containing
the same swapchain handle.
Affects:
dEQP-VK.wsi.win32.swapchain.render.device_group2
Components: Vulkan
VK-GL-CTS Issue: 2385
Change-Id: I6fa4e36e273861623b8e00143022f19fd79fc0aa
Alexander Galazin [Wed, 3 Jun 2020 12:35:35 +0000 (14:35 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: I1aaa8a159b94d1396c0d53377d1adc98ce684e2b
Alexander Galazin [Wed, 3 Jun 2020 11:26:06 +0000 (13:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: Ia8efca269d913a5aa28a847596348fd6ed1e1571
Alexander Galazin [Wed, 3 Jun 2020 10:26:55 +0000 (12:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I5f4f177d073c81c46c3dc2996f5909353e5cd4ff
Alexander Galazin [Wed, 3 Jun 2020 07:06:31 +0000 (09:06 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: I824fd73bbca4f8632d0fa7f982a8aa9e8c9294a5
Alexander Galazin [Tue, 2 Jun 2020 19:32:35 +0000 (21:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I2d3f55a79614417544130cd255cd32da9e5aa423
James Glanville [Fri, 17 Apr 2020 10:54:40 +0000 (11:54 +0100)]
Stop 10bit formats requiring GL_SRGB encoding
The EGL_KHR_gl_colorspace spec does not require formats that
are not SRGB8 to respect the given EGL_GL_COLORSPACE_KHR.
Components: EGL
VK-GL-CTS issue: 2288
Affects:
dEQP-EGL.functional.wide_color.window_1010102_colorspace_srgb
dEQP-EGL.functional.wide_color.pbuffer_1010102_colorspace_srgb
Change-Id: I41ab6c6a0467a29cf7e5e764bf2b2cfb78c51db3
Alexander Galazin [Tue, 2 Jun 2020 12:30:06 +0000 (14:30 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Change-Id: Ib95a2472db1800d9c406449d52125542413a5ab4
Alexander Galazin [Tue, 2 Jun 2020 07:14:00 +0000 (09:14 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: I73359af82cbc484aceffcf45628b50ee1d84f762
Nicolas Capens [Fri, 16 Mar 2018 13:51:47 +0000 (09:51 -0400)]
Add texture specification test for GL_OES_texture_half_float.
Google bug: b/
74609191
Components: AOSP
Affects: dEQP-GLES2.functional.texture.specification.*
Change-Id: I85aec3469872f2733f528ef7902427e9e87935e7
(cherry picked from commit
19dd72470bdd1a772c08474535e40874624a93b1)
Alexander Galazin [Mon, 1 Jun 2020 16:16:59 +0000 (18:16 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: Ia2eea8ae5927bcf40465a4c09126fdcb46c969c4
Alexander Galazin [Mon, 1 Jun 2020 15:11:42 +0000 (17:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I01f6039531fa5655110e271f30104569a04805d4
Alexander Galazin [Mon, 1 Jun 2020 11:28:54 +0000 (13:28 +0200)]
Update KC CTS
Components: Framework
Affects: dEQP-GL.*
Change-Id: I129379863364046344ec9299822721d27acdce65
Ricardo Garcia [Fri, 15 May 2020 07:50:52 +0000 (09:50 +0200)]
Add SampleMask write tests
This commit adds a new set of tests that verify writing values to
SampleMask from fragment shaders work and effectively prevent or allow
writing to specific samples.
New tests:
dEQP-VK.pipeline.multisample_shader_builtin.write_sample_mask.*
Components: Vulkan
VK-GL-CTS issue: 2363
Change-Id: Ief5db73977c28571eb301fa9a7d756a38ba2b51b
Alexander Galazin [Mon, 1 Jun 2020 12:38:53 +0000 (14:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I6cf7fcf5c0fab0a28a09b7fd25fcaa89b02e7973
Yuly Novikov [Fri, 29 May 2020 22:50:33 +0000 (18:50 -0400)]
Fix Windows build
Missing #include for std::max in glcPixelStorageModesTests.cpp
Components: OpenGL
Change-Id: I484553e4a04124116ab20090211648001190f902
Lionel Landwerlin [Fri, 8 Mar 2019 18:31:04 +0000 (18:31 +0000)]
Add drm format modifiers tests
This CL adds two VK_EXT_image_drm_format_modifier tests.
The tests will be enabled when an implementation supports
VK_EXT_image_drm_format_modifier.
The two tests in this CL will test listing the supported modifiers
given a format, and creating images with a list of supported
modifiers.
In particular, they test these parts of the extension:
- VkGetImageDrmFormatModifierPropertiesEXT
- VkDrmFormatModifierPropertiesListEXT
- VkPhysicalDeviceImageDrmFormatModifierInfoEXT
- VkImageDrmFormatModifierListCreateInfoEXT
This CL is extracted from https://gerrit.khronos.org/#/c/3709/
Components: Vulkan
Affects: dEQP-VK.drm_format_modifiers.*
Change-Id: I031d72a2b8756577cd8d576caa91cfcd77f808db
Piotr Byszewski [Thu, 21 May 2020 16:45:23 +0000 (18:45 +0200)]
Correct few pipeline_barrier tests
In pipeline barrier tests there is findMaxBufferSize util function.
It consists of two parts. First part checks if we can create buffer
that requires as much space as we want to test, and second, used when
first part fails, searches for maximal buffer that we can create
within that limit. Since test values are multiply of 1024 the second
part of this function was never hit by most of implementations.
It was hit by implementation that overalocates buffers and this
revealed that classes operating on ubo and ssbo were not handling
buffer sizes that are not multiple of 16 in case of ssbo and multiple
of 1024 in case of ubo (rest of RenderPassCommands are handling that
case). Note that this can be tested by just commenting first part of
findMaxBufferSize function.
This change make sure that ubo and ssbo tests work on smaller buffers
but with limitation that last modulo 16 values from those buffers are
not used in tests.
Components: Vulkan
VK-GL-CTS public issue: 206
Affects:
dEQP-VK.memory.pipeline_barrier.*uniform_buffer.*
dEQP-VK.memory.pipeline_barrier.*storage_buffer.*
Change-Id: Ia7d09500116783ac9ea047d18690efa329d625e7
Slawomir Cygan [Fri, 22 May 2020 14:03:20 +0000 (16:03 +0200)]
Do not use 2D array d/s attachment created from 3D texture
Spec says, on VkFramebufferCreateInfo
"""
If flags does not include VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each
element of pAttachments that is a 2D or 2D array image view taken from a 3D
image must not be a depth/stencil format
"""
This change changes image type to be 2D array, instead of 3D
Components: Vulkan
VK-GL-CTS Issue: 2379
Affects: dEQP-VK.geometry.layered.*.readback
Change-Id: Icd957c6badb17a0fcef82015c1ab2fba0896923b
Mika Väinölä [Wed, 3 Apr 2019 13:16:32 +0000 (16:16 +0300)]
Update Android API levels and grant permissions
Remove <uses-sdk ...> from AndroidManifest.xml; instead, add it in
build_apk.py via aapt. Add "--min-api" option that defaults to 22.
Change target API level to 28. Add "-g" to the ADB install command to
automatically grant all runtime permissions. Update the instructions in
external/vulkancts/README.md.
Components: Android, Framework
VK-GL-CTS issue: 650
Change-Id: I76963ccd43f9c1598e5f1c925347dc68dbc644c3
Bas Nieuwenhuizen [Mon, 18 May 2020 01:28:21 +0000 (03:28 +0200)]
Fix overflow in VK_EXT_subgroup_size_control tests.
Hit this with maxComputeWorkgroupSubgroups = UINT32_MAX. The overflow
combined with the signed min result in some very large workgroups.
Affected tests:
dEQP-VK.subgroups.size_control.*.required_subgroup_size_*
Components: Vulkan
VK-GL-CTS issue: 2369
Change-Id: I0abd69331c8f9b93c7717f253b618293bc223b12
Courtney Goeltzenleuchter [Thu, 21 Nov 2019 17:07:41 +0000 (10:07 -0700)]
Fix uninitialized index array
The test is doing a glDrawRangeElements using uninitialized data for
the element array. ANGLE validates that the indices fall within the
specified range. Data needs to be initialized to ensure that happens.
The spec says:
It is an error for index values (other than the primitive restart index,
when primitive restart is enabled) to lie outside the range [start, end], but
implementations are not required to check for this. Such indices will cause
implementation-dependent behavior.
Either the test needs to allow for an error or initialize the data so
as to be valid for the call.
Affected Test:
dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.draw_range_elements
Components: OpenGL ES
VK-GL-CTS issue: 2118
Change-Id: I51f8abb86f088b67990001454bb00d59313200c2
(cherry picked from commit
bf7a86af5a959c3f4ad39deabe8b396d8581470a)
J.D. Rouan [Mon, 24 Feb 2020 18:00:07 +0000 (10:00 -0800)]
Add conformance tests for new buffer offset rules
As described in vulkan#1701 and specified in vulkan!3444, the
bufferOffset requirement can be relaxed if the queue family supports
VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT.
Component: Vulkan
VK-GL-CTS issue: 2100
New tests:
dEQP-VK.api.copy_and_blit.*.image_to_buffer.buffer_offset_relaxed
dEQP-VK.api.copy_and_blit.*.buffer_to_image.buffer_offset_relaxed
Change-Id: I278b81de35cbd73779060fcfb51ac8131e173db3
Tomek Bury [Tue, 3 Mar 2020 14:41:50 +0000 (14:41 +0000)]
Improve Wayland protocol version selection.
VK-GL-CTS issue: 2252
Requesting specifically version 3 of the protocol makes the
wl_surface_damage_buffer() API unavailable to the client, even if
the compositor supports it. This may effectively disable
the EGL_EXT_swap_buffers_with_damage extension in the EGL implementation.
The wl_compositor protocol version 4 was released in Wayland 1.10
in february 2016. It contains a new define:
#define WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION 4
and a new API:
wl_surface_damage_buffer(struct wl_surface *wl_surface,
int32_t x, int32_t y, int32_t width, int32_t height);
Requesting "at least version 3" is still backwards compatible with older
compositors, but doesn't block the newer ones from providing version 4
with the wl_surface_damage_buffer() API. This API can be used by EGL
to implement the EGL_EXT_swap_buffers_with_damage extension.
Affects:
dEQP-EGL.functional.swap_buffers_with_damage.*
Change-Id: I621524328a90b2d629baad8c96d3a18e1eb2cf76
Timothy Arceri [Thu, 30 Apr 2020 07:31:13 +0000 (17:31 +1000)]
Fix broken layout binding tests
Some of the shaders being generated contain a misplaced ;
An example of the code being gererated is as follows:
fragColor = vec4(float(atomicCounter(atomic0)), 1.0, 0.0, 1.0);
+vec4(float(atomicCounter(atomic1)), 1.0, 0.0, 1.0);
+vec4(float(atomicCounter(atomic2)), 1.0, 0.0, 1.0);
+vec4(float(atomicCounter(atomic3)), 1.0, 0.0, 1.0);
Affects:
KHR-GL46.layout_binding.atomic_uint_layout_binding_atomic_*
Components: OpenGL
VK-GL-CTS issue: 2348
Change-Id: Ie209de8954c8b8e3920c17be9190030946c93354
Graeme Leese [Wed, 6 May 2020 13:36:25 +0000 (14:36 +0100)]
Remove non-compute variants of common function tests
Previous agreement was that we should only test simple non-stage-
specific functions in compute shaders, so simplify the code by removing
all the other tests.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.function.common.*
(mostly removed)
Change-Id: I98e9ee5944565847dafef79f08c80ebf07083d7f
Matthew Netsch [Wed, 27 May 2020 19:58:36 +0000 (15:58 -0400)]
Fixes clipping tests supported check
Adjacent line modes need to have check
that geometry shaders are supported
Component: Vulkan
VK-GL-CTS Issue: 2383
Affects:
dEQP-VK.clipping.clip_volume.depth_clamp.*
Change-Id: Ifcdc533ab0e9d54e834a7ac8fb609dec7c6ac248
Alexander Galazin [Wed, 27 May 2020 17:25:47 +0000 (19:25 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: If6741ff28f453979aa2d7ca74a830aac8f0ef071
Kyle Griffiths [Fri, 17 Apr 2020 11:26:54 +0000 (12:26 +0100)]
Allow RTZ rounding in spv_assembly*writes_two_buffers* tests
Because the tests perform an add operation, mismatch of the CPU and GPU
rounding modes can cause the tests to incorrectly fail.
This change modifies the verification to allow up to 1 ULP difference
between the output and the expected result, which covers the maximum
difference between RNE and RTZ rounding modes.
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.graphics*
VK-GL-CTS issue: 2320
Change-Id: Ic76942add1382c23885118f806ac593cc730eb73
(cherry picked from commit
49c720ff8c7b0bc397aeae7c9ee7e3e9c40b12f3)
Alexander Galazin [Wed, 27 May 2020 09:36:06 +0000 (11:36 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Change-Id: Iff733440c976f4ecb95dc9ebdfe7d9b25eac2bdd
Alexander Galazin [Wed, 27 May 2020 07:07:24 +0000 (09:07 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Change-Id: I61ab1faa6fe2da61d2a9192160665f4bea82aa7f
Alexander Galazin [Tue, 26 May 2020 18:51:43 +0000 (20:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: If852bb48bdfbf7cc5168d68c6f296fc98bdb7f3c
Alexander Galazin [Mon, 4 May 2020 10:37:50 +0000 (12:37 +0200)]
Update glslang
Components: Framework, Vulkan, OpenGL
Change-Id: Iae3ab66b64114a79b0ef28b4c4efa610dcdd1ff7
Alexander Galazin [Sun, 24 May 2020 12:34:12 +0000 (14:34 +0200)]
Force Popen to text mode
Components: Framework
Change-Id: Idee7eee4e4f0cd2255c384f447ffe743f09d5a0b
(cherry picked from commit
68eda3f13422a8faac7c46da087132d7c021fe18)
Alexander Galazin [Thu, 7 May 2020 14:16:08 +0000 (16:16 +0200)]
Ensure alphabetical order of xml attributes
Python 3.8 removed artificial alphabetical ordering
of attributes in ElementTree. The recommended solution
to avoid changes in generated xml is to add attributes
in the alphabetical order directly in the source code.
See https://github.com/python/cpython/commit/
63673916464bace8e2147357395fdf3497967ecb
Components: Framework
VK-GL-CTS issue: 2358
Change-Id: Ife4b93a01d76f1f99fcdf2c1d13291ae5c706d85
(cherry picked from commit
b2d84418efc74c558be55c2934e14c2a93edefed)