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

Change-Id: I034dee35378c6ab9da08c5904a7c1773ef36585f

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

Change-Id: I2c03ffa5a1aa72be33ffbb223156c1b199ce0175

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

Tests were only running with
advancedBlendAllOperations supported

Components: Vulkan
VK-GL-CTS Issue: 2406

Affects:
dEQP-VK.pipeline.blend_operation_advanced.*

Change-Id: I387f1fd724bb14f6a34e784e663680abc178d5bb

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

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

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

Affects: dEQP-VK.api.tooling_info.*

Components: Vulkan

VK-GL-CTS issue: 2411

Change-Id: Ib19a8b12a0562f7588b23338cb7ff4abea3da9d9

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

Change-Id: I853402128f2a9d4340a7d4a852803fbeb5931bc6

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

Change-Id: Iea70c56e33f9ff0916b9b7536112ac21a71f7ffc

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

Change-Id: I90e38666d58a9b1e0af157dc5dbaa0516c681b56

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

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

Affects:
dEQP-VK.subgroups.*

Components: Vulkan

VK-GL-CTS issue: 2404

Change-Id: Icc1bc30a46d8787f116f9f916c98aa8778226dd3

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

Change-Id: I04bbf72e6cc5268c82d352aa2ba638d66445457c

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

Change-Id: Ie554eb9583f468a3bd85375fefd8549da51b9389

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

Change-Id: Iddeb0a37d7c73f0539c4723040b59d22418f8f05

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

Components: Vulkan
VK-GL-CTS Issue: 2416

Affects:
dEQP-VK.synchronization.timeline_semaphore

Change-Id: I3c101c869267c7bb747c53193195108df5996e70

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

Change-Id: I997b74efec17bfa3b4f70e7c3cd99e34ca726d30

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

Change-Id: I19c871d2823652543622ebe6d11cf1da6b72fb76

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

This fixes regression from 789c733eef56b.

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

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

Components: Vulkan

VK-GL-CTS Issue: 2405

Affects: dEQP-VK.spirv_assembly.*

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

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

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

Vulkan spec section: 11.3.3. Image Miplevel Sizing

Components: Vulkan

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

VK-GL-CTS Issue: 2407

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

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

This fixes regression from 789c733eef56b.

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

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

Components: Vulkan

VK-GL-CTS Issue: 2405

Affects: dEQP-VK.spirv_assembly.*

Change-Id: I7f5d8493f11b05eea8569090e6da2ff768579a09

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

Affects:
dEQP-VK.ycbcr.conversion.*

Components: Vulkan

VK-GL-CTS Issue: 2386

Change-Id: I0302c559fa22f2e6f4b86721cfdc46f7f76d9270

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

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

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

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

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

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

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

VK-GL-CTS Issue: 2394

Affects:

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

Components: Vulkan
Change-Id: Ie5eba010d4f5f6d484d4635e275492da197eef79

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

If VK_KHR_16bit_storage is supported there needs to be support
for storageBuffer16BitAccess

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

Components: Vulkan

Affects: dEQP-VK.info.device_mandatory_features

VK-GL-CTS issue: 2323

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

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

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

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

Components: Vulkan
VK-GL-CTS issue: 2311

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

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

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

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

Affects: dEQP-VK.spirv_assembly.*

VK-GL-CTS Issue: 2294

Components: Vulkan

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

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

Components: Vulkan

Change-Id: Ibbd328101912a570e64fca8cf9ac2b45e850eddf

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

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I10fbe65642c401fd13810a57b5308070ffce0e59

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

Change-Id: I771d3fbd41c9cc92fbcf0fadc3bd1846ee50d568

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

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

VK-GL-CTS Issue: 2179

New tests:

dEQP-VK.draw.output_location.*

Components: Vulkan
Change-Id: If3a5d49dd171874b6451581616ca67141124a283

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

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

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

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

Components: Vulkan
VK-GL-CTS issue: 2326

Change-Id: I94fc23d4c569edd38aa9e9e6c680a3353020d388

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

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

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

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

Components: Vulkan Framework

VK-GL-CTS issue: 1682

Change-Id: If832eaae30d0f23d764b7c74e68296586b893433

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

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

Components: Vulkan

VK-GL-CTS Issue: 2401

Affects: dEQP-VK.draw.*

Change-Id: I7a8ec444b790c4afbf80f798222912398dfb818e

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

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

VkPhysicalDeviceMemoryBudgetPropertiesEXT is actually a
VkPhysicalDeviceMemoryProperties2 extension.

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

Affects:

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

Components: Vulkan

VK-GL-CTS issue: 2377

Change-Id: Ie646fdf6af7c24348394293e56d79e101149bbc0

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

Components: Vulkan
VK-GL-CTS Issue: 2374

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

Change-Id: I6e0ca86ba9a1e289942e5ef4ee3570379b72375d

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

Change-Id: I8d4256c5e9d884aa865dd8ea0ea96434ac30ff4d

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

Change-Id: I1a0d3758592a9ddd8506637e379076149669b9d3

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

Change-Id: I4c275dc2b38e9e722afd8a79227535bd59d3cb5e

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

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

Change-Id: I2e4b75b27c15d5a4bd5dd6b72fddddbd81d83686
Components: Vulkan

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

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

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

VK-GL-CTS Issue: 2242

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

Components: Vulkan

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

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

Change-Id: Ie40d642e33fe250e0834b1ccc6c959c580b84ef8

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

Change-Id: I82327658d7f7ffcca53bf82654eef47936b31256

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

Change-Id: I8faea9ae44404bb48cd0cacc20f10cf8441f3b59

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

Change-Id: I888b86ca0ad11da7329e4aace426274c44439d9e

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

Change-Id: Iee8c3acc0f091ebb4b8a32c300ebddbcaa4fc73f

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

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

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

Components: Vulkan

VK-GL-CTS Issue: 2385

Change-Id: I6fa4e36e273861623b8e00143022f19fd79fc0aa

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

Change-Id: I1aaa8a159b94d1396c0d53377d1adc98ce684e2b

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

Change-Id: Ia8efca269d913a5aa28a847596348fd6ed1e1571

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

Change-Id: I5f4f177d073c81c46c3dc2996f5909353e5cd4ff

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

Change-Id: I824fd73bbca4f8632d0fa7f982a8aa9e8c9294a5

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

Change-Id: I2d3f55a79614417544130cd255cd32da9e5aa423

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

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

Components: EGL

VK-GL-CTS issue: 2288

Affects:

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

Change-Id: I41ab6c6a0467a29cf7e5e764bf2b2cfb78c51db3

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

Change-Id: Ib95a2472db1800d9c406449d52125542413a5ab4

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

Change-Id: I73359af82cbc484aceffcf45628b50ee1d84f762

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

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

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

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

Change-Id: Ia2eea8ae5927bcf40465a4c09126fdcb46c969c4

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

Change-Id: I01f6039531fa5655110e271f30104569a04805d4

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

Components: Framework

Affects: dEQP-GL.*

Change-Id: I129379863364046344ec9299822721d27acdce65

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

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

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

Components: Vulkan
VK-GL-CTS issue: 2363

Change-Id: Ief5db73977c28571eb301fa9a7d756a38ba2b51b

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

Change-Id: I6cf7fcf5c0fab0a28a09b7fd25fcaa89b02e7973

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

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

Components: OpenGL
Change-Id: I484553e4a04124116ab20090211648001190f902

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

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

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

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

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

Components: Vulkan

Affects: dEQP-VK.drm_format_modifiers.*

Change-Id: I031d72a2b8756577cd8d576caa91cfcd77f808db

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

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

Components: Vulkan

VK-GL-CTS public issue: 206

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

Change-Id: Ia7d09500116783ac9ea047d18690efa329d625e7

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

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

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

Components: Vulkan

VK-GL-CTS Issue: 2379

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

Change-Id: Icd957c6badb17a0fcef82015c1ab2fba0896923b

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

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

Components: Android, Framework

VK-GL-CTS issue: 650

Change-Id: I76963ccd43f9c1598e5f1c925347dc68dbc644c3

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

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

Affected tests:

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

Components: Vulkan
VK-GL-CTS issue: 2369

Change-Id: I0abd69331c8f9b93c7717f253b618293bc223b12

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

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

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

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

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

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

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

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

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

Component: Vulkan
VK-GL-CTS issue: 2100

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

Change-Id: I278b81de35cbd73779060fcfb51ac8131e173db3

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

VK-GL-CTS issue: 2252

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

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

#define WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION 4

and a new API:

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

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

Affects:
    dEQP-EGL.functional.swap_buffers_with_damage.*

Change-Id: I621524328a90b2d629baad8c96d3a18e1eb2cf76

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

Some of the shaders being generated contain a misplaced ;

An example of the code being gererated is as follows:

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

Affects:

KHR-GL46.layout_binding.atomic_uint_layout_binding_atomic_*

Components: OpenGL

VK-GL-CTS issue: 2348

Change-Id: Ie209de8954c8b8e3920c17be9190030946c93354

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

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

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

Change-Id: I98e9ee5944565847dafef79f08c80ebf07083d7f

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

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

Component: Vulkan
VK-GL-CTS Issue: 2383

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

Change-Id: Ifcdc533ab0e9d54e834a7ac8fb609dec7c6ac248

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

Change-Id: If6741ff28f453979aa2d7ca74a830aac8f0ef071

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

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master
Alexander Galazin [Fri, 22 May 2020 18:46:19 +0000 (20:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.2 into vk-gl-cts/master

Change-Id: I00f85ff8e2e090a76aadd10873a9e5f2c97a99c6

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2
Alexander Galazin [Fri, 22 May 2020 13:27:00 +0000 (15:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/vulkan-cts-1.2.2

Change-Id: Ib92cff43028341f5341b62242d909d5a6437a03a

4 years agoMerge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Alexander Galazin [Fri, 22 May 2020 12:18:06 +0000 (14:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1

Change-Id: I670536e7c9c657dc578a76ad7964df03fefe592e

4 years agoMerge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Alexander Galazin [Fri, 22 May 2020 11:49:31 +0000 (13:49 +0200)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master

Change-Id: Ief430387884ceddd9750e1d92a65b97a4d062f36

4 years agoLimit dimensionality of arrays-of-arrays in random SSBO tests
James Glanville [Wed, 6 May 2020 13:01:23 +0000 (14:01 +0100)]
Limit dimensionality of arrays-of-arrays in random SSBO tests

One of these tests used a 5 dimensional array-of-arrays, resulting
in thousands of instructions that caused issues on devices with low
ram. This change limits the total dimensionality to prevent this.

Components: AOSP

VK-GL-CTS issue: 2355

Affects:

dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays.15
dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays.23
dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.41
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.7
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.21
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.48
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.49

Change-Id: I9211e376130014e6c1d50f4a2d843033a5219b2d

4 years agoFix Fedora 32 gcc/clang warnings
Alexander Galazin [Thu, 7 May 2020 14:16:08 +0000 (16:16 +0200)]
Fix Fedora 32 gcc/clang warnings

Component: AOSP, OpenGL, Vulkan

VK-GL-CTS issue: 2350

Affects:
KHR*direct_state_access.vertex_arrays*
KHR*core.arrays_of_arrays.sized_declarations_invalid*
dEQP-VK.geometry.*

Change-Id: I55680ac671d0610917d45f7187deec6e883dd6b7
(cherry picked from commit a4ccc4a84710123839a4f4a9409e93af9ed1ddbc)

4 years agoFix Fedora 32 gcc/clang warnings
Alexander Galazin [Thu, 7 May 2020 14:16:08 +0000 (16:16 +0200)]
Fix Fedora 32 gcc/clang warnings

Component: AOSP, OpenGL, Vulkan

VK-GL-CTS issue: 2350

Affects:
KHR*direct_state_access.vertex_arrays*
KHR*core.arrays_of_arrays.sized_declarations_invalid*
dEQP-VK.geometry.*

Change-Id: I55680ac671d0610917d45f7187deec6e883dd6b7

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

4 years agoAdd --deqp-print-validation-errors cmd line option
Ricardo Garcia [Tue, 12 May 2020 13:05:32 +0000 (15:05 +0200)]
Add --deqp-print-validation-errors cmd line option

This commit adds a new --deqp-print-validation-errors command-line
option to be able to print validation errors to stderr as soon as they
are generated by the layers, making it easier to both quickly see
validation errors without using the test log and use the printing line
as a breakpoint to debug validation error causes.

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

Change-Id: I32b79ede82c9b7d6f0c369ff4cfcc47f5992440c

4 years agoTest using ViewportIndex from frag shaders only
Ricardo Garcia [Wed, 29 Apr 2020 13:52:03 +0000 (15:52 +0200)]
Test using ViewportIndex from frag shaders only

This commits adds a new test to check the viewport index can be
correctly read from the fragment shader even when not set by a previous
vertex processing shader stage. In that case, the implicit value is 0.

New test:
dEQP-VK.draw.shader_viewport_index.fragment_shader_implicit

Components: Vulkan
VK-GL-CTS issue: 2339

Change-Id: Idb994d3b5bd87f3ee3e2413c38ec61493a39c529

4 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Thu, 21 May 2020 08:51:18 +0000 (10:51 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: If73e9fb2ab24139f72bca734f252fb0cab8f0828

4 years agoTest OpArrayLength with stride larger than element size
Ari Suonpaa [Thu, 7 May 2020 12:48:53 +0000 (15:48 +0300)]
Test OpArrayLength with stride larger than element size

This new test is similar to
dEQP-GLES31.functional.compute.basic.write_multiple_unsized_arr_*
but an array stride is changed. This verifies that OpArrayLength
implementation calculates the array size correctly even
when an array element size and a stride don't match.

VK-GL-CTS Issue: 2236

New tests:

dEQP-VK.spirv_assembly.instruction.compute.oparraylength.array-stride-larger-than-element-size

Change-Id: I5b96391a3935f039996cc28efd6717f379757100
Components: Vulkan

4 years agoAdd an Amber test which uses textureOffset()
Brian Watling [Fri, 8 May 2020 17:42:15 +0000 (13:42 -0400)]
Add an Amber test which uses textureOffset()

This test exercises textureOffset() to confirm correct behaviour.

New tests:

dEQP-VK.graphicsfuzz.texel_offset

Components: Vulkan

Change-Id: Ib5827039ab25fc6a9de0778139ab668ea41306af

4 years agoTest negative value conversion to b10g11r11 float format.
Ari Suonpaa [Sat, 9 May 2020 08:28:09 +0000 (11:28 +0300)]
Test negative value conversion to b10g11r11 float format.

Added a test that verifies negative values are converted
correctly to b10g11r11 packed float format. These values
need to be clamped to zero.

Also moved texture subgroup LOD Amber test files to
a common directory shared by the new test.

VK-GL-CTS Issue: 2271

New tests:

dEQP-VK.texture.conversion.b10g11r11-negative-values

Components: Vulkan
Change-Id: Ide52844f1467f1e7c23d7510ba951d398a8814ac

4 years agoFix some egl robustness tests
Timothy Arceri [Sun, 3 May 2020 05:57:02 +0000 (15:57 +1000)]
Fix some egl robustness tests

Because the values of color were initially undefined an optimised
compiler can simply set all components of the vector to the value
being assigned to color[u_index] and eventually eliminate color and
u_index completely.

To avoid this we initialise color.

Affects:
dEQP-EGL.functional.robustness.reset_context.shaders*

Components: OpenGL
VK-GL-CTS issue: 2349

Change-Id: I6eb929eec07b039afb247427af91aba65dbade9b

4 years agoFix epsilon calculation for RGB10_A2 pixel format
Aleksy Sokolowski [Tue, 28 Apr 2020 15:52:02 +0000 (17:52 +0200)]
Fix epsilon calculation for RGB10_A2 pixel format

10 bit precision epsilon was used for test cases
which support only 8-bit precision (due to 8 bit texture
format used or pixel transfers using 8 bit data types).

Components: OpenGL

VK-GL-CTS Issue: 2335

Affects:
KHR-GL46.texture_gather.plain-gather-float-2d-srgb-alpha
KHR-GL46.compute_shader.pipeline-compute-chain

Change-Id: Ic40eb6caae4106fd55b62253aaaafa84237b03fa

4 years agoFix warnings found by compiling with MS VC++ 2019
Piotr Byszewski [Thu, 14 May 2020 13:26:18 +0000 (15:26 +0200)]
Fix warnings found by compiling with MS VC++ 2019

This change resolves all found warnings including 'nodiscard'
warnings mentioned in the issue description.

Components: Vulkan, OpenGL, EGL

VK-GL-CTS public issue: 188

Affects:
*

Change-Id: I962f02a1a7e55dcc5141e1cbdf2497482972e02a

4 years agoCorrect few tests from indirect_dispatch group
Piotr Byszewski [Wed, 13 May 2020 16:25:24 +0000 (18:25 +0200)]
Correct few tests from indirect_dispatch group

All test instances that were part of gen_in_compute group used
descriptor set layout that was created and stored localy - in helper
function. This change stores it as a class attribute.

Components: Vulkan

VK-GL-CTS public issue: 205

Affects:
dEQP-VK.compute.indirect_dispatch.gen_in_compute.*

Change-Id: Ie54b33f145d6aa54acd62b3a074938eedd1ac3f3

4 years agoCorrect sparse_image_format_properties2 tests
Piotr Byszewski [Tue, 12 May 2020 10:48:47 +0000 (12:48 +0200)]
Correct sparse_image_format_properties2 tests

numCoreProperties and numExtProperties were initialized to ~0 and
this value was not checked later which led CTS to alocate 2^32-1
element vectors. This causes a bad alloc exception.

Components: Vulkan

VK-GL-CTS public issue: 135

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

Change-Id: Iaf402069ca52bec5f7ba569b223e76d2ccc72316

4 years agoClarify integer formats conversions in blit_image tests
Piotr Byszewski [Tue, 12 May 2020 17:00:30 +0000 (19:00 +0200)]
Clarify integer formats conversions in blit_image tests

This change just updates comments to make code clear.
It was not clear if getTextureChannelClass identified how values are
stored or how they are sampled but it was specified in description of
TextureChannelClass. This change clarifies description of
getTextureChannelClass and comments in blit tests to avoid confusion
in future.

Components: Vulkan

VK-GL-CTS public issue: 174

Change-Id: I49944508337d2950eb8066bf8e3b9ff3db855668