platform/upstream/VK-GL-CTS.git
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 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 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 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

4 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

4 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

4 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

4 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

4 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

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

4 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

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

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

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

Components: Vulkan

VK-GL-CTS issue: 2417

Change-Id: I3b2b689410603d639837bed48fa8f7e924da577c

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

Components: Framework
VK-GL-CTS Issue: 2419

Affects:
com.drawelements.deqp.execserver

Change-Id: I37aa175e4c782c1213b65be58a32c4c41aabe4b9

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

Change-Id: I034dee35378c6ab9da08c5904a7c1773ef36585f

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

Change-Id: I2c03ffa5a1aa72be33ffbb223156c1b199ce0175

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

Tests were only running with
advancedBlendAllOperations supported

Components: Vulkan
VK-GL-CTS Issue: 2406

Affects:
dEQP-VK.pipeline.blend_operation_advanced.*

Change-Id: I387f1fd724bb14f6a34e784e663680abc178d5bb

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

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

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

Affects: dEQP-VK.api.tooling_info.*

Components: Vulkan

VK-GL-CTS issue: 2411

Change-Id: Ib19a8b12a0562f7588b23338cb7ff4abea3da9d9

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

Change-Id: I853402128f2a9d4340a7d4a852803fbeb5931bc6

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

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

Change-Id: Iea70c56e33f9ff0916b9b7536112ac21a71f7ffc

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

Change-Id: I90e38666d58a9b1e0af157dc5dbaa0516c681b56

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

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

Affects:
dEQP-VK.subgroups.*

Components: Vulkan

VK-GL-CTS issue: 2404

Change-Id: Icc1bc30a46d8787f116f9f916c98aa8778226dd3

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

Change-Id: I04bbf72e6cc5268c82d352aa2ba638d66445457c

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

Change-Id: Ie554eb9583f468a3bd85375fefd8549da51b9389

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

Change-Id: Iddeb0a37d7c73f0539c4723040b59d22418f8f05

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

Components: Vulkan
VK-GL-CTS Issue: 2416

Affects:
dEQP-VK.synchronization.timeline_semaphore

Change-Id: I3c101c869267c7bb747c53193195108df5996e70

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

Change-Id: I997b74efec17bfa3b4f70e7c3cd99e34ca726d30

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

Change-Id: I19c871d2823652543622ebe6d11cf1da6b72fb76

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

This fixes regression from 789c733eef56b.

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

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

Components: Vulkan

VK-GL-CTS Issue: 2405

Affects: dEQP-VK.spirv_assembly.*

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

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

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

Vulkan spec section: 11.3.3. Image Miplevel Sizing

Components: Vulkan

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

VK-GL-CTS Issue: 2407

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

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

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

This fixes regression from 789c733eef56b.

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

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

Components: Vulkan

VK-GL-CTS Issue: 2405

Affects: dEQP-VK.spirv_assembly.*

Change-Id: I7f5d8493f11b05eea8569090e6da2ff768579a09

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

Affects:
dEQP-VK.ycbcr.conversion.*

Components: Vulkan

VK-GL-CTS Issue: 2386

Change-Id: I0302c559fa22f2e6f4b86721cfdc46f7f76d9270

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

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

Change-Id: I8d4256c5e9d884aa865dd8ea0ea96434ac30ff4d

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

Change-Id: I1a0d3758592a9ddd8506637e379076149669b9d3

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

Change-Id: I4c275dc2b38e9e722afd8a79227535bd59d3cb5e

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

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

Change-Id: I2e4b75b27c15d5a4bd5dd6b72fddddbd81d83686
Components: Vulkan

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

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

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

VK-GL-CTS Issue: 2242

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

Components: Vulkan

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

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

Change-Id: Ie40d642e33fe250e0834b1ccc6c959c580b84ef8

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

Change-Id: I82327658d7f7ffcca53bf82654eef47936b31256

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

Change-Id: I8faea9ae44404bb48cd0cacc20f10cf8441f3b59

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

Change-Id: I888b86ca0ad11da7329e4aace426274c44439d9e

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

Change-Id: Iee8c3acc0f091ebb4b8a32c300ebddbcaa4fc73f

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

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

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

Components: Vulkan

VK-GL-CTS Issue: 2385

Change-Id: I6fa4e36e273861623b8e00143022f19fd79fc0aa

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

Change-Id: I1aaa8a159b94d1396c0d53377d1adc98ce684e2b

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

Change-Id: Ia8efca269d913a5aa28a847596348fd6ed1e1571

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

Change-Id: I5f4f177d073c81c46c3dc2996f5909353e5cd4ff

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

Change-Id: I824fd73bbca4f8632d0fa7f982a8aa9e8c9294a5

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

Change-Id: I2d3f55a79614417544130cd255cd32da9e5aa423

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

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

Components: EGL

VK-GL-CTS issue: 2288

Affects:

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

Change-Id: I41ab6c6a0467a29cf7e5e764bf2b2cfb78c51db3

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

Change-Id: Ib95a2472db1800d9c406449d52125542413a5ab4

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

Change-Id: I73359af82cbc484aceffcf45628b50ee1d84f762

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

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

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

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

Change-Id: Ia2eea8ae5927bcf40465a4c09126fdcb46c969c4

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

Change-Id: I01f6039531fa5655110e271f30104569a04805d4

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

Components: Framework

Affects: dEQP-GL.*

Change-Id: I129379863364046344ec9299822721d27acdce65

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

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

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

Components: Vulkan
VK-GL-CTS issue: 2363

Change-Id: Ief5db73977c28571eb301fa9a7d756a38ba2b51b

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

Change-Id: I6cf7fcf5c0fab0a28a09b7fd25fcaa89b02e7973

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

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

Components: OpenGL
Change-Id: I484553e4a04124116ab20090211648001190f902

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

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

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

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

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

Components: Vulkan

Affects: dEQP-VK.drm_format_modifiers.*

Change-Id: I031d72a2b8756577cd8d576caa91cfcd77f808db

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

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

Components: Vulkan

VK-GL-CTS public issue: 206

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

Change-Id: Ia7d09500116783ac9ea047d18690efa329d625e7

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

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

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

Components: Vulkan

VK-GL-CTS Issue: 2379

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

Change-Id: Icd957c6badb17a0fcef82015c1ab2fba0896923b

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

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

Components: Android, Framework

VK-GL-CTS issue: 650

Change-Id: I76963ccd43f9c1598e5f1c925347dc68dbc644c3

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

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

Affected tests:

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

Components: Vulkan
VK-GL-CTS issue: 2369

Change-Id: I0abd69331c8f9b93c7717f253b618293bc223b12

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

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

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

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

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

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

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

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

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

Component: Vulkan
VK-GL-CTS issue: 2100

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

Change-Id: I278b81de35cbd73779060fcfb51ac8131e173db3

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

VK-GL-CTS issue: 2252

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

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

#define WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION 4

and a new API:

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

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

Affects:
    dEQP-EGL.functional.swap_buffers_with_damage.*

Change-Id: I621524328a90b2d629baad8c96d3a18e1eb2cf76

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

Some of the shaders being generated contain a misplaced ;

An example of the code being gererated is as follows:

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

Affects:

KHR-GL46.layout_binding.atomic_uint_layout_binding_atomic_*

Components: OpenGL

VK-GL-CTS issue: 2348

Change-Id: Ie209de8954c8b8e3920c17be9190030946c93354

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

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

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

Change-Id: I98e9ee5944565847dafef79f08c80ebf07083d7f

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

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

Component: Vulkan
VK-GL-CTS Issue: 2383

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

Change-Id: Ifcdc533ab0e9d54e834a7ac8fb609dec7c6ac248

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

Change-Id: If6741ff28f453979aa2d7ca74a830aac8f0ef071

4 years agoAllow RTZ rounding in spv_assembly*writes_two_buffers* tests
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)

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
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

4 years agoUpdate glslang
Alexander Galazin [Mon, 4 May 2020 10:37:50 +0000 (12:37 +0200)]
Update glslang

Components: Framework, Vulkan, OpenGL

Change-Id: Iae3ab66b64114a79b0ef28b4c4efa610dcdd1ff7

4 years agoForce Popen to text mode
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)

4 years agoEnsure alphabetical order of xml attributes
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)

4 years agoForce Popen to text mode
Alexander Galazin [Sun, 24 May 2020 12:34:12 +0000 (14:34 +0200)]
Force Popen to text mode

Components: Framework

Change-Id: Idee7eee4e4f0cd2255c384f447ffe743f09d5a0b

4 years agoMerge vk-gl-cts/github-master into vk-gl-cts/master
Alexander Galazin [Sat, 23 May 2020 17:49:18 +0000 (19:49 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master

Change-Id: I0635691bfac2eed84c6e4704d6802b5fbd41b0d0

4 years agoMerge pull request #195 from sigexp/pixelstoragemodes
Alexander Galazin [Sat, 23 May 2020 17:47:38 +0000 (19:47 +0200)]
Merge pull request #195 from sigexp/pixelstoragemodes

Add tests for usage of pixel storage modes