platform/upstream/VK-GL-CTS.git
5 years agoNotice of withdrawal of Vulkan CTS 1.1.1.x
Alexander Galazin [Wed, 3 Apr 2019 08:01:42 +0000 (10:01 +0200)]
Notice of withdrawal of Vulkan CTS 1.1.1.x

Components: Vulkan
Change-Id: I025b8f99656956d4e88e7c7185ec9dda3eddb7f5

5 years agoFix 1.1.5 mustpass files
Piers Daniell [Tue, 9 Apr 2019 17:20:09 +0000 (11:20 -0600)]
Fix 1.1.5 mustpass files

Due to a copy+paste error in the build_mustpass.py script the
1.1.5 mustpass files were using the wrong configuration.

Components: Vulkan

Change-Id: I0a793e441475584e3422567b5677f1ef8d4d067a

5 years agoAdd helper function for creating Amber test cases
Toni Merilehti [Thu, 28 Mar 2019 07:35:32 +0000 (09:35 +0200)]
Add helper function for creating Amber test cases

This helper function returns an AmberTestCase* if the required Amber
file is present, otherwise it will throw an internal error. This CL
also utilizes the helper on current Amber tests.

Affects:

dEQP-VK.amber-example.clear
dEQP-VK.graphicsfuzz.*
dEQP-VK.rasterization.provoking_vertex.*
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.*

Components: Vulkan

VK-GL-CTS issue: 1668

Change-Id: Iae250c3bc1ecc1d7b022e3b351f77deb03ec3ac4

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Fri, 5 Apr 2019 12:08:54 +0000 (14:08 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: Ibed5ee188a8f7bdeb4f07e729a7dc76408528d33

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Fri, 5 Apr 2019 11:00:13 +0000 (13:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Iea26f0e9f9c0d8b69d99fa4b0763269f420858df

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Fri, 5 Apr 2019 10:58:45 +0000 (12:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I1e1913b4571e7a001879b3a0a597eafc0f48d828

5 years agoHandle BUFFER_DYNAMIC and UPDATE_AFTER_BIND interaction
Nikita Bart [Wed, 27 Mar 2019 13:13:00 +0000 (14:13 +0100)]
Handle BUFFER_DYNAMIC and UPDATE_AFTER_BIND interaction

"descriptorset_random" tests were violating the spec's requirement that
bindings with VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT bit
cannot be used with BUFFER_DYNAMIC descriptor types in one set.
Testing of UPDATE_AFTER_BIND bindings is disabled
in order to conform to the requirement.

Fix validation of inline UBO with variable descriptor count

When used with variable descriptor count inline UBO's were read
and written out of allocated size, which is set in
VkDescriptorSetVariableDescriptorCountAllocateInfoEXT.descriptorCount

Components: Vulkan

Affects: dEQP-VK.binding_model.descriptorset_random.*

VK-GL-CTS issue: 1708

Change-Id: I9e97b701897961aedf8a746b72a1070ccd3b04e7

5 years agoAdd tests for provoking vertex
Ari Suonpaa [Mon, 25 Mar 2019 07:57:21 +0000 (09:57 +0200)]
Add tests for provoking vertex

Only some of the primitives were tested for correct provoking
vertex functionality, and lines required strict rasterization
feature. These new tests cover all primitive types with no
extra feature requirements.

New tests:

dEQP-VK.rasterization.provoking_vertex.*

Components: Vulkan

VK-GL-CTS issue: 1655
Change-Id: I1bdd1249b3b7f991137ec1d5d1984d9206e7b64f

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Thu, 4 Apr 2019 19:04:28 +0000 (21:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: I8c138909bd4e4d0f5ea21132ddfef2fabb3d6c03

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 4 Apr 2019 18:52:34 +0000 (20:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: Iae6020003b47aa1903dfc1f9917383de6a33fb57

5 years agoMerge "Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3" into vulkan...
Alexander Galazin [Thu, 4 Apr 2019 18:52:02 +0000 (14:52 -0400)]
Merge "Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3" into vulkan-cts-1.1.3

5 years agoBlacklist 1.0.2.x versions
Alexander Galazin [Wed, 3 Apr 2019 16:23:33 +0000 (18:23 +0200)]
Blacklist 1.0.2.x versions

1.0.2.x is withdrawn. Recent drivers shouldn't advertise these versions.

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I5e7417d0561381dd0365edef9f17609cc5f2a5aa

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Thu, 4 Apr 2019 18:22:37 +0000 (20:22 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I353dac50e06609d2783125bf22aee21f27c9939a

5 years agoFix buffer RAW hazards in MultiQueue synchronization tests
Anthony Pesch [Tue, 26 Mar 2019 16:24:17 +0000 (12:24 -0400)]
Fix buffer RAW hazards in MultiQueue synchronization tests

The MultiQueue tests emit barriers between command buffers for two reasons:

1. To express the data dependencies between different pipeline stages.
2. To transfer ownership of the resource between queue families.

The exclusive sharing mode tests need both of these barriers, while the
concurrent mode tests only need to describe the data dependency.

Previously, a barrier was only emitted for the exclusive tests, causing
the concurrent tests to not have a barrier expressing the data dependencies
between the pipeline stages. Now the data dependencies are described for
both the exlusive and concurrent tests, while the ownership transfer is
only performed for exclusive tests.

Affects: dEQP-VK.synchronization.op.multi_queue.*.write_*_read_*.buffer_*

Components: Vulkan
VK-GL-CTS issue: 1650

Change-Id: Ic3bc83a7dcab8686754aea5267afeb10090038d0
(cherry picked from commit 93dc8a343c7ea67a2c8ffb694b45ff44703fbe6f)

5 years agoFix buffer RAW hazards in MultiQueue synchronization tests
Anthony Pesch [Tue, 26 Mar 2019 16:24:17 +0000 (12:24 -0400)]
Fix buffer RAW hazards in MultiQueue synchronization tests

The MultiQueue tests emit barriers between command buffers for two reasons:

1. To express the data dependencies between different pipeline stages.
2. To transfer ownership of the resource between queue families.

The exclusive sharing mode tests need both of these barriers, while the
concurrent mode tests only need to describe the data dependency.

Previously, a barrier was only emitted for the exclusive tests, causing
the concurrent tests to not have a barrier expressing the data dependencies
between the pipeline stages. Now the data dependencies are described for
both the exlusive and concurrent tests, while the ownership transfer is
only performed for exclusive tests.

Affects: dEQP-VK.synchronization.op.multi_queue.*.write_*_read_*.buffer_*

Components: Vulkan
VK-GL-CTS issue: 1650

Change-Id: Ic3bc83a7dcab8686754aea5267afeb10090038d0

5 years agovktAmberTestCase::parse second argument is a string
David Neto [Thu, 28 Mar 2019 21:32:41 +0000 (17:32 -0400)]
vktAmberTestCase::parse second argument is a string

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.*

VK-GL-CTS issue: 1702

Change-Id: I64f6bcf60904647b6e0a473941313ad09142ae3d

5 years agoTest multiple interpolations in a shader stage
Mika Väinölä [Tue, 12 Mar 2019 12:59:29 +0000 (14:59 +0200)]
Test multiple interpolations in a shader stage

Add tests for rendering simultaneously into multiple attachments using
different interpolation decorations. Verify result by rendering with
only one interpolation and attachment at a time. Check that each result
matches only with the reference frame using the same interpolation
decoration, with the exception of smooth and centroid without
multisampling.

New tests:
dEQP-VK.draw.multiple_interpolation.*

Components: Vulkan
VK-GL-CTS issue: 1110

Change-Id: I55ca7fad937b29e81512b0ee100ca8e811b7cf73

5 years agoFix damage binary length field in shadercacheSave
Boris Zanin [Wed, 3 Apr 2019 10:14:26 +0000 (12:14 +0200)]
Fix damage binary length field in shadercacheSave

Hash cache collision does not mean that binary
would be of same length.

Function shadercacheSave does not account it and
overwrites original binary length with cached
binary length.

Components: Framework

VK-GL-CTS issue: 1717

Change-Id: Iaabce787725c584b9735e959b572ca7667addde4
(cherry picked from commit 7871b6a8e263e1fddefbdbfbf1ca19e657f384ec)

5 years agoUse nonsymmetric dimensions for attachment clear tests
Ari Suonpaa [Tue, 29 Jan 2019 11:14:57 +0000 (13:14 +0200)]
Use nonsymmetric dimensions for attachment clear tests

Attachment clear tests were all using a size of 256x256.
Clear rects were calculated from width and height, which
didn't cover a case where coordinate axis would be mixed
up. The image dimensions were changed to 200x180 to fix
this and to also test non-power-of-two images. The clear
rectangles were also offset to avoid having them
symmetrical when mirroring x or y axis.

Affects:

dEQP-VK.api.image_clearing.core.*

Components: Vulkan

VK-GL-CTS issue: 1550
Change-Id: I84d28ee69f87c72a5d49592fa939e47d6a701671

5 years agoFix damage binary length field in shadercacheSave
Boris Zanin [Wed, 3 Apr 2019 10:14:26 +0000 (12:14 +0200)]
Fix damage binary length field in shadercacheSave

Hash cache collision does not mean that binary
would be of same length.

Function shadercacheSave does not account it and
overwrites original binary length with cached
binary length.

Components: Framework

VK-GL-CTS issue: 1717

Change-Id: Iaabce787725c584b9735e959b572ca7667addde4

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Alexander Galazin [Thu, 4 Apr 2019 09:06:52 +0000 (11:06 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master

Change-Id: I8b1dcfaafb773837fcd42b1b7273518da7047532

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Alexander Galazin [Thu, 4 Apr 2019 09:05:26 +0000 (11:05 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4

Change-Id: I0944cd90d64d01363cdbf8ce6b1007987bf7857c

5 years agoUpdate Amber
Alexander Galazin [Tue, 2 Apr 2019 13:30:31 +0000 (15:30 +0200)]
Update Amber

Components: Framework
Change-Id: Ic93584c4f88a3bc2dfd62c24436de71e70213577

5 years agoDon't disown Win32 handle after import
Piers Daniell [Wed, 3 Apr 2019 20:20:09 +0000 (14:20 -0600)]
Don't disown Win32 handle after import

For Win32 fences and semaphores, the Vulkan implementation does not take
ownership of the handle after import. It is up to the application to
maintain ownership while the handle is in use and to call
CloseHandle() after.

Affects:
dEQP-VK.api.external.*.opaque_win32*

Components: Vulkan

VK-GL-CTS issue: 1720

Change-Id: I4e26ef53c9bf27c30efd71992fd02a574f81b3a0

5 years agoStart 1.1.5 mustpass, freeze 1.1.4
Alexander Galazin [Wed, 3 Apr 2019 07:57:03 +0000 (09:57 +0200)]
Start 1.1.5 mustpass, freeze 1.1.4

Change-Id: I0a476d851c0d4ab69a08f46bce452e14571a771b

5 years agoWhitelist Vulkan CTS 1.1.4.0
Alexander Galazin [Wed, 3 Apr 2019 07:32:20 +0000 (09:32 +0200)]
Whitelist Vulkan CTS 1.1.4.0

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: I575178442d938a776ab32c1c5e965246324e8cec

5 years agoWhitelist Vulkan CTS 1.1.3.2
Alexander Galazin [Wed, 3 Apr 2019 07:17:40 +0000 (09:17 +0200)]
Whitelist Vulkan CTS 1.1.3.2

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: Ia9ecc8dad3b2a37212d19f1878abb02095c22298
(cherry picked from commit 38db037997d48eca9ed86bdd134430ab03ff5ef6)

5 years agoWhitelist Vulkan CTS 1.1.3.2
Alexander Galazin [Wed, 3 Apr 2019 07:17:40 +0000 (09:17 +0200)]
Whitelist Vulkan CTS 1.1.3.2

Components: Vulkan

Affects: dEQP-VK.api.driver_properties.properties

Change-Id: Ia9ecc8dad3b2a37212d19f1878abb02095c22298

5 years agoUpdate SPIRV-Tools
Alexander Galazin [Tue, 2 Apr 2019 18:06:00 +0000 (20:06 +0200)]
Update SPIRV-Tools

Components: Framework

Affects: dEQP-VK.*

Change-Id: Ifcbd09e61a49fa0981091c176e6cf2b7bcaf98b7

5 years agoAvoid check vulkan core features in compute tests
Boris Zanin [Tue, 26 Mar 2019 10:34:38 +0000 (11:34 +0100)]
Avoid check vulkan core features in compute tests

Remove graphics features requirements from check
in compute shaders.  This is particulary useful if
tests are targeted both in compute and graphics
pipelines, but in graphics also require certain
additional features.

Affects tests:
 * dEQP-VK.spirv_assembly.instruction.compute.*

Components: vulkan

VK-GL-CTS issue: 1667

Change-Id: Ia9b039c404611a35b5ee878278dbe6fa175e40f9

5 years agoFix image layouts in SPIR-V image sampler tests
Mika Väinölä [Fri, 29 Mar 2019 12:20:24 +0000 (14:20 +0200)]
Fix image layouts in SPIR-V image sampler tests

Use the same image layout in VkDescriptorImageInfo and
copyBufferToImage.

Affects:
dEQP-VK.spirv_assembly.instruction.compute.image_sampler.imagefetch.*

Components: Vulkan

VK-GL-CTS issue: 1542

Change-Id: I001b9d9ce7ee349c15c4c72d2b78557bbff40b86

5 years agoAdd *.qpa to .gitignore
Mika Väinölä [Fri, 29 Mar 2019 13:33:56 +0000 (15:33 +0200)]
Add *.qpa to .gitignore

Tell git to ignore test result log files. Remove unnecessary
TestResults.qpa from project root.

VK-GL-CTS issue: 1710

Change-Id: Ied98b5ba3bd839a5ceff8fe5ee1303e36406f531

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Fri, 29 Mar 2019 11:31:21 +0000 (12:31 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: Ia79528e30236521e7a3b0284b95709c31b523a11

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Fri, 29 Mar 2019 11:01:20 +0000 (12:01 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Iac3d5efdad7fe20709154ca4ed6d05fdea11f8a8

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 29 Mar 2019 10:15:10 +0000 (11:15 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ic01781a17482429ea152af7df5ff752a2226b568

5 years agoAdd tests for VK_EXT_host_query_reset
Samuel Iglesias Gonsálvez [Wed, 20 Mar 2019 11:33:33 +0000 (12:33 +0100)]
Add tests for VK_EXT_host_query_reset

Added tests for Occlusion, Statistics and Timestamp queries.

New tests:

dEQP-VK.pipeline.timestamp.*host_query_reset*
dEQP-VK.query_pool.*host_query_reset*

Components: Vulkan
VK-GL-CTS issue: 1653

Change-Id: Ic828de11bd0782bed75833a252a1b07a066aa635

5 years agoAdd handle compatibility check in win32 keyed mutex tests
Igor Ostrowski [Tue, 12 Mar 2019 10:36:10 +0000 (11:36 +0100)]
Add handle compatibility check in win32 keyed mutex tests

Affects:
dEQP-VK.synchronization.win32_keyed_mutex.*

Components: Vulkan
VK-GL-CTS issue: 1669

Change-Id: I1ce4edae009d291100725fce9d87ae6ac826c4ae

5 years agoMove VkRunner tests to Amber
Boris Zanin [Mon, 25 Mar 2019 17:06:01 +0000 (18:06 +0100)]
Move VkRunner tests to Amber

CTS will use Amber as the shader test engine.
Thus this commit does:
 * move existing VkRunner tests to Amber
 * remove VkRunner from the CTS source

Affects tests:
 * dEQP-VK.graphicsfuzz.*

Components: vulkan

VK-GL-CTS issue: 1663

Change-Id: Ie3d17ec6f2eea79b777261f7c022fa7c5d0a965f

5 years agoFixed dEQP-VK.binding_model.descriptor_copy.* issues.
Mohd Faisal [Tue, 19 Mar 2019 14:45:56 +0000 (14:45 +0000)]
Fixed dEQP-VK.binding_model.descriptor_copy.* issues.

Added missing check for number of maxBoundDescriptorSets
allowed, and fixed not copy the same binding in same
descriptorSet.

Affects:
dEQP-VK.binding_model.descriptor_copy.*

Components: Vulkan

VK-GL-CTS issue: 1664

Change-Id: I69bdb45174c61da3afaa0b323f2598a56d7895c8

5 years agoRevert "Simplify the combination passed to vkCreateImage"
Alexander Galazin [Thu, 28 Mar 2019 12:55:31 +0000 (08:55 -0400)]
Revert "Simplify the combination passed to vkCreateImage"

This reverts commit 8b8dc08b3487d8abebedd12a264736e304264910.

Change-Id: I51bf04f47ce13673fd26244ba0507bd633f261b2

5 years agoCheck for getPlatformDisplay support before using
Courtney Goeltzenleuchter [Wed, 13 Mar 2019 00:05:29 +0000 (18:05 -0600)]
Check for getPlatformDisplay support before using

I was under the impression that NativeDisplay::CAPABILITY_GET_DISPLAY_PLATFORM
meant that we know the capability exists. But that apparently isn't
true.
Instead treat that as a flag to enable checking for the capability.
Don't really see the point of the capability bit if I have to check
anyway.

Affects: Android
KHR-GLES32.info.*
Pretty much any test running on EGL 1.4 device.

Components: Framework, AOSP

Change-Id: I49e36918bc231c08e1a473fe99e5086f54416850

5 years agoOptimize format flag fetch function
Jari Komppa [Mon, 25 Feb 2019 13:07:45 +0000 (15:07 +0200)]
Optimize format flag fetch function

This fixes one old TODO in vktApiFeatureInfo by optimizing several array
traversals into a single one.

Affects:

dEQP-VK.api.info.format_properties.*

Components: Vulkan

VK-GL-CTS issue: 1624

Change-Id: I2b0e603e20e8adb27620754e0ca9a0b9d102d01f

5 years agoLimit transient images tests
Boris Zanin [Fri, 22 Mar 2019 14:24:36 +0000 (15:24 +0100)]
Limit transient images tests

Transient images (images that usage field contains the flag bit
VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT) can be used only in
conjunction with following usages (according to specification):
 * VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
 * VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
 * VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT
The tests falsely attempts to create images with layout:
 * VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
 * VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
Such layout requires images to be created with usages:
 * VK_IMAGE_USAGE_TRANSFER_SRC_BIT
 * VK_IMAGE_USAGE_TRANSFER_DST_BIT
that's prohibited for transient images.

If underlying image is transient, it is invalid for it to be a
TRANSFER_SRC or TRANSFER_DST. Do not allow tests for transient
images to use such layouts.

Affected tests:
 * dEQP-VK.renderpass.*.attachment.*
 * dEQP-VK.renderpass2.*.attachment.*

Components: vulkan

VK-GL-CTS issue: 1545

Change-Id: Ibd1635d15419adcb646fbc1daf030a2736b972b1

5 years agoReduce memory usage in point size clamping tests
Toni Merilehti [Tue, 19 Mar 2019 14:38:16 +0000 (16:38 +0200)]
Reduce memory usage in point size clamping tests

Win32 builds running dEQP-VK.rasterization.primitive_size.points.*
caused resource errors when using 16384 x 16384 render targes due to
large memory allocations.

This optimization changes the rendering format from R8G8B8A8 to
a single-channel format R8_UNORM, reduces the sizes of the render
targets on the last two test cases to 10240 x 10240 and 9216 x 9216,
and removes one unnecessary result buffer copy to reduce memory
allocation.

Affects:

dEQP-VK.rasterization.primitive_size.points.*

Components: Vulkan

VK-GL-CTS issue: 1649

Change-Id: I5d9f435961f0cd56f8b520ac7e98cece1d4f73d7

5 years agoUpdate glslang
Daniel Koch [Mon, 18 Mar 2019 15:49:33 +0000 (11:49 -0400)]
Update glslang

Component: Framework
VK-GL-CTS Issue: 1698

Change-Id: I63d45cfc317f99fbf7d16b43f489f93863a02f14

5 years agoDo not expect bit-exact results on float
Hsin-Hsiao Lin [Tue, 26 Mar 2019 08:14:02 +0000 (09:14 +0100)]
Do not expect bit-exact results on float

For float outputs annotated with RelaxedPrecision or with NoPerspective,
check them against an epsilon range, 6E-8, which is 0x0001 in fp16.

Affects:

dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.*
dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.*

Components: vulkan

VK-GL-CTS issue: 1670

Change-Id: I98454826a3f4afccd655b0228839970ba0213793

5 years agoRemove "using namespace glu" from header
Daniel Koch [Tue, 26 Mar 2019 22:54:18 +0000 (18:54 -0400)]
Remove "using namespace glu" from header

since this is a bad coding practise and can cause
issues when other files include it.

Affects: - (compilation only)
Component: OpenGL

Change-Id: I6809dcc7f0f12a9fde1b329889727708628798e3

5 years agoAdd scalar uint with signed int compares as Amber cases
David Neto [Tue, 12 Feb 2019 20:00:03 +0000 (15:00 -0500)]
Add scalar uint with signed int compares as Amber cases

Logs an error and throws an exception if the script fails to parse.

Components: Vulkan

Affects:
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_sgreaterthan
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_sgreaterthanequal
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_slessthan
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.uint_slessthanequal

VK-GL-CTS issue: 1147

Change-Id: Ic8ce35bff0e05360dc9e674cce313d441e2f4953

5 years agoAdd scissor tests
Ari Suonpaa [Thu, 7 Feb 2019 07:06:08 +0000 (09:06 +0200)]
Add scissor tests

This adds more coverage for scissoring. In particular
tests for multiple scissors and zero area scissor
were added. Attachment clears are also mixed with
draw commands to verify they are not scissored.

New tests:

dEQP-VK.draw.scissor.*

Components: Vulkan

VK-GL-CTS issue: 1580
Change-Id: I7a7ee221d23d836fbb8fc2d1556fb533b5b41ab6

5 years agoAdditional coverage for color resolve
Piotr Byszewski [Mon, 17 Dec 2018 11:53:50 +0000 (12:53 +0100)]
Additional coverage for color resolve

This change extracts base class out of existing MultisampleRender-
PassTestInstance and reuses it for the second set of tests.
New tests are ment to check cases where application consumes
all available on-chip memory (maxColorAttachments attachments).
Note that tests are executed for 4, 8 and 16 attachments since
framework does not allow to query maxColorAttachments before
test creation and this is needed to preper proper shaders.

Components: Vulkan

VK-GL-CTS issue: 1496

Affects:
dEQP-VK.renderpass.suballocation.multisample_resolve.*
dEQP-VK.renderpass2.suballocation.multisample_resolve.*

Change-Id: I14f39e7185a2930506dc8352fce8ac2896b317ae

5 years agoDisable pipeline_create_only when running Amber tests
Ari Suonpaa [Fri, 22 Mar 2019 07:18:53 +0000 (09:18 +0200)]
Disable pipeline_create_only when running Amber tests

Amber test framework didn't initialize pipeline_create_only
in Amber options. This resulted in Amber tests only checking
if pipeline was created successfully. All test commands
were left unexecuted and tests were passing even when
they were modified to fail.

Affects:

-

Components: Vulkan, Framework

VK-GL-CTS issue: 1659
Change-Id: I657d4e162d6bbc7bf6a5b41bd5bac7ddaf4dbf78

5 years agoCheck shaderFloat16 support in 16bit_storage.*64*
Toni Merilehti [Wed, 13 Mar 2019 11:36:05 +0000 (13:36 +0200)]
Check shaderFloat16 support in 16bit_storage.*64*

Require shaderFloat16 feature in
dEQP-VK.spirv_assembly.instruction.*.16bit_storage.*64* tests when
using VK_KHR_shader_float16_int8 device extension. Tests now throw
NotSupported if VK_KHR_shader_float16_int8 extension is enabled but
shaderFloat16 is not supported by the device.

Affects:

dEQP-VK.spirv_assembly.instruction.*.16bit_storage.*64*

Components: Vulkan

VK-GL-CTS issue: 1643

Change-Id: I79b271f131571805e6dacb87fa3620039021eedb

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Fri, 22 Mar 2019 20:13:10 +0000 (21:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I62d7ebcc0c2cb2a2adc9c1d8f910c499b3504b7f

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Fri, 22 Mar 2019 20:11:55 +0000 (21:11 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: I4f48c3e9ca8593777c5a4ef6cd32050f8c839043

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 22 Mar 2019 20:10:39 +0000 (21:10 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I328cee295acc9eb8c5204e5f3574879d9e21a609

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 22 Mar 2019 19:49:07 +0000 (20:49 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: If24571c09fd321c8417da919af0d2272a0ac2c57

5 years agocmake: Add support for PNG_ARM_NEON_OPT NDK-r19
Tony Zlatinski [Tue, 12 Feb 2019 16:50:28 +0000 (10:50 -0600)]
cmake: Add support for PNG_ARM_NEON_OPT NDK-r19

On Android, here is clang compiler change for
NDKs after ndk-r17c where the compiler intrinsics
for libpng are not part of the compiler for the
armeabi-v7a targets.

Add the supported png functions for these compiler
intrinsics, explicitly for 32-bit ARM builds.

Affects:
    dEQP-VK.*

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

Change-Id: Ib832f983294f5dd747720ed4a79a21e29a06f776
(cherry picked from commit 99a88af740c425bf250ce9cb2143aa6be3a778f2)

5 years agoFix uninitialized variable reported by gcc 8.3
Alexander Galazin [Fri, 22 Mar 2019 09:06:18 +0000 (10:06 +0100)]
Fix uninitialized variable reported by gcc 8.3

VK-GL-CTS issue: 1656

Components: Vulkan

Affects: dEQP-VK.sparse_resources.*

Change-Id: I298c795b05c0c204f04970da7a923f797c4478b8

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 22 Mar 2019 15:25:50 +0000 (16:25 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ie1a2c3d42088338cc526a4b9bd22bdec070dd7b9

5 years agoFix build by adding DE_UNREF
Graeme Leese [Fri, 22 Mar 2019 14:32:55 +0000 (14:32 +0000)]
Fix build by adding DE_UNREF

Function parameters weren't being used in the renderdoc stub interface,
so the warnings should be silenced.

Components: Framework

Change-Id: I0f060c344c6b5959028efcc2489d1bc30b43fb9f

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 22 Mar 2019 13:09:57 +0000 (14:09 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Iff99182ee48f808b2e1e93eea00ae17ec44efa3e

5 years agoAdd tests for EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT.
Peiyong Lin [Wed, 26 Dec 2018 23:45:55 +0000 (15:45 -0800)]
Add tests for EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT.

Components: EGL
VK-GL-CTS Issue: 1534

New tests:
dEQP-EGL.functional.wide_color.window_fp16_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_fp16_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.window_1010102_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_1010102_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.window_8888_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_8888_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.window_888_colorspace_p3_passthrough,
dEQP-EGL.functional.wide_color.pbuffer_888_colorspace_p3_passthrough

Change-Id: I58a9a6a676d8e438c3c2494679105d65e71852b5

5 years agoInvalidate memory before checking results
Graeme Leese [Mon, 4 Mar 2019 13:18:43 +0000 (13:18 +0000)]
Invalidate memory before checking results

Components: Vulkan
VK-GL-CTS issue: 1640
Affects: dEQP-VK.binding_model.descriptor_copy.graphics.*

Change-Id: I20a9ba5f32aefa9df0852bd064df27cb333af3aa

5 years agoFix validation errors in ycbcr.query.* tests
Ilkka Saarelainen [Wed, 6 Mar 2019 12:43:05 +0000 (14:43 +0200)]
Fix validation errors in ycbcr.query.* tests

Query tests were using test images in VK_IMAGE_LAYOUT_UNDEFINED
layout but the command buffer expects them to be in
VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL layout.

This CL transitions the test images to the correct layout.

Affects:

dEQP-VK.ycbcr.query.*

Components: Vulkan

VK-GL-CTS issue: 1563

Change-Id: I4b17078d0f06db59206cb46f377b61beaa252c60

5 years agoDon't give samplers in YCbCr descriptor updates
Graeme Leese [Mon, 11 Mar 2019 18:29:08 +0000 (18:29 +0000)]
Don't give samplers in YCbCr descriptor updates

They are not required, so it's good to test that implementations are not
relying on them.

Components: Vulkan
VK-GL-CTS issue: 1646
Affects: dEQP-VK.ycbcr.format.*

Change-Id: I146a549b0a6cd2459660624c76088f623ebdd54b

5 years agoAdd tests for OpFUnord with NaN
Toni Merilehti [Mon, 4 Mar 2019 11:43:39 +0000 (13:43 +0200)]
Add tests for OpFUnord with NaN

Add OpFUnord test cases that use NaN (not a number) values.
The functionality for testing NaN values is implemented
in commit acafd1d389d1d18d4e4410862d96064f9fca551e.

New tests:

dEQP-VK.spirv_assembly.instruction.compute.opfunord_nan.*

Components: Vulkan

VK-GL-CTS issue 1612

Change-Id: Ifd49c5ebe6382737cb0fb6ffca1a350889a54905

5 years agoAdd alpha to coverage test with no color attachment
Ari Suonpaa [Tue, 12 Feb 2019 13:21:07 +0000 (15:21 +0200)]
Add alpha to coverage test with no color attachment

Added a test for alpha to coverage without a color
attachment. First the test draws a primitive with alpha 0
and a subpass with only a depth buffer. No writes to a depth
buffer are expected. Then a second draw with a color buffer
and the same depth buffer is done to verify the depth
buffer still has the original clear values.

New tests:

dEQP-VK.pipeline.multisample.alpha_to_coverage_no_color_attachment.*

Components: Vulkan

VK-GL-CTS issue: 1586
Change-Id: Ibfc9cbf0ade3280fe80f43296fad79b5c6f76ba1

5 years agoSimplify the combination passed to vkCreateImage
root [Wed, 6 Mar 2019 05:53:29 +0000 (00:53 -0500)]
Simplify the combination passed to vkCreateImage

Components: Vulkan

Affects:
dEQP-VK.memory.requirements.*

VK-GL-CTS issue: 1619

Change-Id: Ief6e8c30cc3d379456aba87be9da92284d33e983

5 years agoBe more careful about Block decorations on structs
Jason Ekstrand [Sat, 15 Dec 2018 00:04:39 +0000 (18:04 -0600)]
Be more careful about Block decorations on structs

In spirv/SPIR-V@9701a9f9 we changed the SPIR-V spec to say that
block-decorated structures could not be nested.  This is needed for
sorting out certain variable pointers issues inside a SPIR-V parser.
Unfortunately, the mentioned group of CTS tests violates this rule.
Their %input_buffer type is a struct containing two instances of
%outer_struct and both %input_buffer and %outer_struct are decorated
Block.  Fortunately, only one of the two struct types is actually
required for an input at any given type so we just need to be more
careful about the decorations.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.variable_pointers.complex_types_compute.*

Components: Vulkan

VK-GL-CTS issue: 1518
Change-Id: I87a832fab94a9c06317d20b32afedf16b52ab2f2
(cherry picked from commit 1dbdfe34947fdb3e6d24226a58f02d0b8a515da8)

5 years agoUpdate Amber to fix building on Android, and elsewhere
David Neto [Thu, 21 Mar 2019 07:01:07 +0000 (03:01 -0400)]
Update Amber to fix building on Android, and elsewhere

- Fix dir for generation of Vulkan header
- Avoid aggressive use-without-init warnings
- Fix return inferred as unreachable by clang-3.4

Change-Id: I6422e14d38fa6d213d4d5e92f981d9843b0c055e

5 years agoMake renderdoc_app.h optional at build time
Jordan Justen [Tue, 12 Mar 2019 07:17:53 +0000 (00:17 -0700)]
Make renderdoc_app.h optional at build time

Since renderdoc support is optional at runtime, this change makes it
also optional at build time. If the renderdoc_app.h file doesn't exist
at the expected location, then a no-op stub version of the
RenderDocUtil class is built instead.

Components: Vulkan, Framework

Change-Id: Iedc4bcddf47ac5f471911ad6d8e37439cd9e0d90

5 years agoRevert "Make renderdoc_app.h optional at build time"
Alexander Galazin [Wed, 20 Mar 2019 16:10:35 +0000 (12:10 -0400)]
Revert "Make renderdoc_app.h optional at build time"

This reverts commit 1225d4ab8375e88b39f73bc946a7afcb51aa8156.

Change-Id: I3c2f71b3bc54adb221f1357f7a4b31e719dc3a20

5 years agoImprove shader cache hashing
Jari Komppa [Wed, 6 Mar 2019 08:41:25 +0000 (10:41 +0200)]
Improve shader cache hashing

This change adds FNV-1 hash algorithm and a check whether a shader is
already in the cache before writing it there. In multi-threaded shader
compilation the cache might have written multiple copies of the same
shader into the cache, wasting disk space.

Affects:

None

Components: Vulkan

VK-GL-CTS issue: 1641

Change-Id: Ideaed34f49994f5da50b75066e611e60023eccb1

5 years agocmake: Add support for PNG_ARM_NEON_OPT NDK-r19
Tony Zlatinski [Tue, 12 Feb 2019 16:50:28 +0000 (10:50 -0600)]
cmake: Add support for PNG_ARM_NEON_OPT NDK-r19

On Android, here is clang compiler change for
NDKs after ndk-r17c where the compiler intrinsics
for libpng are not part of the compiler for the
armeabi-v7a targets.

Add the supported png functions for these compiler
intrinsics, explicitly for 32-bit ARM builds.

Affects:
    dEQP-VK.*

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

Change-Id: Ib832f983294f5dd747720ed4a79a21e29a06f776

5 years agoMake renderdoc_app.h optional at build time
Jordan Justen [Tue, 12 Mar 2019 07:17:53 +0000 (00:17 -0700)]
Make renderdoc_app.h optional at build time

Since renderdoc support is optional at runtime, this change makes it
also optional at build time. If the renderdoc_app.h file doesn't exist
at the expected location, then a no-op stub version of the
RenderDocUtil class is built instead.

Components: Vulkan, Framework
Change-Id: Ic4b43500b4ead50c4728d2ff3bf098d44e00a9a6

5 years agoframework: propagate ResourceError exception from postIterate
Tapani Pälli [Fri, 1 Mar 2019 11:07:35 +0000 (13:07 +0200)]
framework: propagate ResourceError exception from postIterate

Change throws ResourceError exception in TestCaseWrapper::iterate in
case postIterate threw one.

Change-Id: I9a3fed58f21dd6f594488fc998ae5bd685a733ec
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
5 years agoMove spirv/glslang utils to common module
Daniel Koch [Wed, 13 Mar 2019 19:15:48 +0000 (15:15 -0400)]
Move spirv/glslang utils to common module

VK-GL-CTS Issue: 1651
Component: OpenGL
Affects: KHR-GL*.gl_spirv.*

Change-Id: I1fdc617523ac467458952e9ec2df67abf80657c3

5 years agoAmber: Initialize the delegate to NULL
David Neto [Tue, 19 Mar 2019 18:56:29 +0000 (14:56 -0400)]
Amber: Initialize the delegate to NULL

The delegate can be used to log calls and time them.
For now, we don't want any such logging.  But we do have
to initialize the delegate rather than use an uninitialized
pointer.

Change-Id: I1379b9810f3acd67d4d7116d407eb4e0c6ee7bb3

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master
Alexander Galazin [Tue, 19 Mar 2019 15:04:23 +0000 (16:04 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/master

Change-Id: I0d8d57b196da13538a026a3abea3ebd6b6ed0cde

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Alexander Galazin [Tue, 19 Mar 2019 14:26:12 +0000 (15:26 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3

Change-Id: Iacfb659e3cb7bcb1d144f843a9011472c18c63fe

5 years agoUpdate Amber so it detects Vulkan on Android
David Neto [Mon, 18 Mar 2019 21:56:06 +0000 (17:56 -0400)]
Update Amber so it detects Vulkan on Android

Components: Vulkan

Change-Id: I0a584c5617c723dc763933fd8e20fe621ac46970

5 years agoAdd tests for VK_NV_cooperative_matrix
Jeff Bolz [Wed, 27 Feb 2019 16:22:32 +0000 (10:22 -0600)]
Add tests for VK_NV_cooperative_matrix

Components: Vulkan

New tests: dEQP-VK.compute.cooperative_matrix.*

Change-Id: I1f78c068510466793ba7407347c2b91b30ee4831

5 years agoAdd test for concurrent compute
Jari Komppa [Thu, 7 Feb 2019 08:10:16 +0000 (10:10 +0200)]
Add test for concurrent compute

Added test that runs identical payload on two queues with different
priority levels, and checking that the lower priority queue does not
finish first, adding a note to the log if the priorities seem to be
reversed. At the end it is also verified that both queues did the
work.

New test:

dEQP-VK.compute.basic.concurrent_compute

Components: Vulkan

VK-GL-CTS issue: 1509

Change-Id: Ib5d52dcbb3cee0e07c4d14bbb8d61d2f1ee2a8c5

5 years agoSend external api base extensions when not core
Lingfeng Yang [Fri, 1 Mar 2019 07:58:41 +0000 (23:58 -0800)]
Send external api base extensions when not core

If the base extension for external semaphore/fence/memory
is not core (i.e., in Vulkan 1.0), external API tests
will send an insufficient set of device extensions to
the Vulkan driver.

Also, add required extensions (if not core) for
VK_ANDROID_external_memory_android_hardware_buffer.

VK-GL-CTS Issue: 1632

Affects:
dEQP-VK.api.external.*

Components: Vulkan

Change-Id: I666f87ef25260d4f3fe6d1d9a6ff8a522f2322b3

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 15 Mar 2019 09:31:51 +0000 (10:31 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I9ae207c6ce78844662c23df5016a584742466b63

5 years agoGL_ARB_enhanced_layouts: use separable programs
Andres Gomez [Wed, 27 Feb 2019 13:03:56 +0000 (15:03 +0200)]
GL_ARB_enhanced_layouts: use separable programs

Currently we are testing bogus inputs without a matching counterpart
in the output interface of the previous shader. This is needed since,
otherwise, having a matching output would mean that we would have to
introduce the same error we are trying to test in the input interface
and that could lead to a misleading linking error.

However, not having an output counterpart can also lead to a
misleading linking error.

In other tests we have avoided this by not making a static use of the
tested input. However, when checking for the limit on the number of
input locations that can be used in a specific interface, this
strategy cannot be used since non statically used variable do not
count against this limit.

From page 48 (page 52 of the PDF) of the GLSL 4.60 v.5 spec:

  " There is an implementation-dependent limit on the number of
    locations that can be used, and if this is exceeded it will cause
    a link-time error. (Declared input variables that are not
    statically used do not count against this limit.)"

Therefore, the strategy used for this test is to build individual
separable programs for each stage.

From the ARB_separate_shader_objects spec v.25:

  " With separable program objects, interfaces between shader stages
    may involve the outputs from one program object and the inputs
    from a second program object.  For such interfaces, it is not
    possible to detect mismatches at link time, because the programs
    are linked separately.  When each such program is linked, all
    inputs or outputs interfacing with another program stage are
    treated as active.  The linker will generate an executable that
    assumes the presence of a compatible program on the other side of
    the interface.  If a mismatch between programs occurs, no GL error
    will be generated, but some or all of the inputs on the interface
    will be undefined."

Components: OpenGL

VK-GL-CTS issue: 1628

Affects:

KHR-GL44.enhanced_layouts.varying_location_limit

Change-Id: If120f3f2d397be0b53c60033768db60eb6fed968

5 years agoGL_ARB_enhanced_layouts: no structs as VS inputs
Andres Gomez [Thu, 3 Jan 2019 12:17:18 +0000 (14:17 +0200)]
GL_ARB_enhanced_layouts: no structs as VS inputs

From page 48 (page 52 of the PDF) of the GLSL 4.60 v.5 spec:

  " It is a compile-time error to declare a vertex shader input with,
    or that contains, any of the following types:

      * A boolean type

      * An opaque type

      * A structure"

Components: OpenGL

VK-GL-CTS issue: 1614

Affects:

KHR-GL44.enhanced_layouts.varying_structure_member_location

Change-Id: Ied52fd09639de179db480b6a627b65208a54250a

5 years agoGL_ARB_enhanced_layouts: remove dead code
Andres Gomez [Wed, 23 Jan 2019 16:28:59 +0000 (18:28 +0200)]
GL_ARB_enhanced_layouts: remove dead code

Additionally, make us of the new debugging macro to ease checking that
we are testing just the correct and only cause for a failure report.

Components: OpenGL

VK-GL-CTS issue: 1617

Affects:

KHR-GL44.enhanced_layouts.xfb_duplicated_stride

Change-Id: I2bb03db22743ae12d17c3da1654d082236d2e2e6

5 years agoGL_ARB_enhanced_layouts: fix interstage interfaces
Andres Gomez [Wed, 9 Jan 2019 15:38:12 +0000 (17:38 +0200)]
GL_ARB_enhanced_layouts: fix interstage interfaces

Multiple test were reporting misleading fails due to out-in interface
mismatching.

Additionally, removed dead code paths.

Finally, make us of the new debugging macro to ease checking that we
are testing just the correct and only cause for a failure report.

Components: OpenGL

VK-GL-CTS issue: 1608

Affects:

KHR-GL44.enhanced_layouts.xfb_block_member_buffer
KHR-GL44.enhanced_layouts.xfb_capture_unsized_array
KHR-GL44.enhanced_layouts.xfb_exceed_buffer_limit
KHR-GL44.enhanced_layouts.xfb_exceed_offset_limit
KHR-GL44.enhanced_layouts.xfb_invalid_offset_alignment
KHR-GL44.enhanced_layouts.xfb_multiple_vertex_streams
KHR-GL44.enhanced_layouts.xfb_output_overlapping
KHR-GL44.enhanced_layouts.xfb_too_small_stride

Change-Id: I0fb8f851b7cbec4c8cb4ee9fbad544c32e130a99

5 years agoGL_ARB_enhanced_layouts: fix interstage interfaces
Andres Gomez [Wed, 23 Jan 2019 15:56:33 +0000 (17:56 +0200)]
GL_ARB_enhanced_layouts: fix interstage interfaces

This test was reporting a misleading fail due to out-in interface
mismatching.

Additionally, in the past another "fail" status was "corrected" by
excluding all non-positive cases making it, actually, not a negative
test. Now, while fixing the problems in the interface matching, we
re-introduce the negative cases back.

Also, removed dead code paths.

Finally, make us of the new debugging macro to ease checking that
we are testing just the correct and only cause for a failure report.

Components: OpenGL

VK-GL-CTS issue: 1607

Affects:

KHR-GL44.enhanced_layouts.xfb_variable_stride

Change-Id: If6564a9feb9831d101b0d5073ec3d241a4a8ac81

5 years agoGL_ARB_enhanced_layouts: use centroid and sample
Andres Gomez [Mon, 7 Jan 2019 23:18:40 +0000 (01:18 +0200)]
GL_ARB_enhanced_layouts: use centroid and sample

When checking for aliasing using mixed auxiliary storages, the tests
checking the usage of centroid and sample were only for the fragment
shader inputs. These qualifiers, although ignored, can also be used in
the rest of the stages.

Components: OpenGL

VK-GL-CTS issue: 1613

Affects:

KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage

Change-Id: I4ec1609a63a225ccd8c2ed7b82eb5477a04b6cba

5 years agoGL_ARB_enhanced_layouts: mind double types
Andres Gomez [Mon, 7 Jan 2019 23:00:49 +0000 (01:00 +0200)]
GL_ARB_enhanced_layouts: mind double types

The special conditions when using the component qualifier with doubles
were not taken into account.

Additionally, the test was reporting a misleading fail due to
non-coherent usage of the "flat" interpolation qualifier. This is now
fixed.

Finally, the generator has been simplified using the refactored code.

Components: OpenGL

VK-GL-CTS issue: 1611

Affects:

KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage

Change-Id: I4380ba720f4ea2b2326484d6c8b3e8fc58b1b5e5

5 years agoGL_ARB_enhanced_layouts: mind double types
Andres Gomez [Mon, 18 Feb 2019 14:49:28 +0000 (16:49 +0200)]
GL_ARB_enhanced_layouts: mind double types

The special conditions when using the component qualifier with doubles
were not taken into account.

Additionally, the generator has been simplified using the refactored
code.

Components: OpenGL

VK-GL-CTS issue: 1616

Affects:

KHR-GL44.enhanced_layouts.input_component_aliasing
KHR-GL44.enhanced_layouts.output_component_aliasing
KHR-GL44.enhanced_layouts.varying_component_of_invalid_type
KHR-GL44.enhanced_layouts.varying_component_without_location
KHR-GL44.enhanced_layouts.varying_exceeding_components

Change-Id: I33c9735a8ef02cf5257f6783cf7856911e4af9d8

5 years agoGL_ARB_enhanced_layouts: use component 0 for mat
Andres Gomez [Thu, 20 Dec 2018 15:29:13 +0000 (17:29 +0200)]
GL_ARB_enhanced_layouts: use component 0 for mat

When checking types that won't support the component qualifier, in the
case of matrixes, just use the universally accepted value in case the
keyword would be accepted: 0.

Otherwise, we won't be sure whether the test is passing because the
reported failure is the expected one: that matrix won't accept the
component qualifier.

Components: OpenGL

VK-GL-CTS issue: 1615

Affects:

KHR-GL44.enhanced_layouts.varying_component_of_invalid_type

Change-Id: I5e53ecdcb4e73f9ca528f3232bfa9405782db43e

5 years agoGL_ARB_enhanced_layouts: mind double types
Andres Gomez [Mon, 7 Jan 2019 17:46:16 +0000 (19:46 +0200)]
GL_ARB_enhanced_layouts: mind double types

The special conditions when using the component qualifier with doubles
were not taken into account.

The tests generator is now simplified using the refactored code.

Components: OpenGL

VK-GL-CTS issue: 1610

Affects:

KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation

Change-Id: I44763cf9e9e3b11fe17519ab307b28cc5485706d

5 years agoGL_ARB_enhanced_layouts: mind aliasing bit width
Andres Gomez [Fri, 4 Jan 2019 12:46:27 +0000 (14:46 +0200)]
GL_ARB_enhanced_layouts: mind aliasing bit width

Currently, when location aliasing was happening, we were only checking
if the underlying numerical type was the same to allow it.

From page 67 (page 71 of the PDF) of the GLSL 4.60 v.5 spec:

  " Further, when location aliasing, the aliases sharing the location
    must have the same underlying numerical type and bit
    width (floating-point or integer, 32-bit versus 64-bit, etc.)"

Additionally, we were repeating two times the same tests. For example
we would check if, with float and int, they would be allowed if float
was in the component 1 and int in component 3 two times. The test
generation has been now simplified.

Components: OpenGL

VK-GL-CTS issue: 1609

Affects:

KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_types

Change-Id: I33652ac447c0a536bebc8175f34abee45ad1cd2e

5 years agoMerge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Alexander Galazin [Fri, 15 Mar 2019 08:44:37 +0000 (09:44 +0100)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master

Change-Id: I89bd5367fae5953ff5e789542dba7e55a8526ab1

5 years agoDrop handwritten toString code
Lionel Landwerlin [Fri, 1 Mar 2019 17:35:12 +0000 (17:35 +0000)]
Drop handwritten toString code

Change-Id: I801cbe14f7bdd571ba8f19242427a071c1c3daea
Components: Vulkan

5 years agoAdd SPIR-V ids abuse tests
Boris Zanin [Mon, 11 Feb 2019 12:33:56 +0000 (13:33 +0100)]
Add SPIR-V ids abuse tests

Add tests:
 * dEQP-VK.spirv_assembly.instruction.compute.spirv_ids_abuse.*
 * dEQP-VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.*

Components: vulkan

VK-GL-CTS issue: 1583

Change-Id: I8cbb94616fc9175de36daf6804cde9b680284aa6

5 years agoFix the limitation in allocation test
Arkadiusz Sarwa [Mon, 21 Jan 2019 14:50:34 +0000 (15:50 +0100)]
Fix the limitation in allocation test

Change removes the limitation for number of allocations
in the test.

Components: Vulkan

VK-GL-CTS issue: 1569

Affects:
dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail

Change-Id: I038fcfcae46a6baaf691163166c74ea0d3831043