platform/upstream/VK-GL-CTS.git
5 years agoFixes 64bit random values for 32bit CTS build
Arkadiusz Sarwa [Wed, 24 Jul 2019 10:41:42 +0000 (12:41 +0200)]
Fixes 64bit random values for 32bit CTS build

In 32bit build a 64bit random value is assigned
to 32bit value what cause different path of execution.

Components: Vulkan
VK-GL-CTS Issue: 1895

Affects:
dEQP-VK.memory.pipeline_barrier.all.*

Change-Id: I1f51b8b30be9a70ae82326609bc382431b8f3b80

5 years agoFixes protected memory swapchain image format oom
Matthew Netsch [Tue, 28 May 2019 23:37:16 +0000 (19:37 -0400)]
Fixes protected memory swapchain image format oom

Some image format test cases (like the image extent cases)
could create configs too large for the protected heap

Components: Vulkan
VK-GL-CTS Issue: 1793

Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.image_format

Change-Id: If98f43a85ff289d091e3bb7c75d998a666efac80

5 years agoWaiver for device-scope core memory model tests.
Jeff Bolz [Fri, 7 Dec 2018 01:38:40 +0000 (19:38 -0600)]
Waiver for device-scope core memory model tests.

https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/1356

Components: Vulkan
Affects: dEQP-VK.memory_model.*core11*.device.*
Change-Id: Ibf5d1ca0232471246ac16a9491d9ae54d87c74a8

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Mon, 20 May 2019 08:58:43 +0000 (10:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I0fd601c9fc32f66eb7e45322801a930d4f33c4dc

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Mon, 20 May 2019 08:12:17 +0000 (10:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ib38bd02e2ed4c74ee845e19eb25b8de05fb0e312

5 years agoRemove incorrect unroll_dont_unroll test
Boris Zanin [Thu, 16 May 2019 15:23:19 +0000 (17:23 +0200)]
Remove incorrect unroll_dont_unroll test

According SPIR-V validator: Unroll and DontUnroll
loop controls must not both be specified.

Remove tests:
 * dEQP-VK.spirv_assembly.instruction.compute.loop_control.unroll_dont_unroll

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

VK-GL-CTS issue: 1779

Change-Id: Ib799f96a290bb08df1175f1dc6f6d212314665af

5 years agoFixes linear support check for pipeline tests
Matthew Netsch [Thu, 25 Apr 2019 18:41:15 +0000 (14:41 -0400)]
Fixes linear support check for pipeline tests

Removes old workaround for certain formats

Components: Vulkan
VK-GL-CTS Issue: 1755

Affects:
dEQP-VK.pipeline.sampler.*

Change-Id: Ia35303f11132f84560f06c13c7a94e3f9be888db

5 years agoReduce expected precision of RGB10A2 filtering
Graeme Leese [Tue, 9 Apr 2019 11:25:19 +0000 (12:25 +0100)]
Reduce expected precision of RGB10A2 filtering

The code in the YCbCr tests says that it was copied from the texture
explicit lod tests, but those tests give rgb10a2 a 'low' precision, not
'fp16'. Reduce the precision expected in the YCbCr tests.

Components: Vulkan
VK-GL-CTS Issue: 1731
Affects: dEQP-VK.ycbcr.*
         dEQP-VK.protected_memory.interaction.ycbcr.*

Change-Id: Ib0ae233fc271ded2f9987fe448dcd351e509a0c4
(cherry picked from commit 5deebf4709ed3e2c3aaad3b8bb8703f236309b97)

5 years agoFix memory initialisation in subgroups tests
Carl Ritson [Thu, 14 Mar 2019 16:25:30 +0000 (16:25 +0000)]
Fix memory initialisation in subgroups tests

Subgroup tests expand memory allocations to accommodate std140 layout
shaders; however, the extra memory is not initialised.
This changes initialisation to be based on the actually allocated
buffer size and adds additional verification to catch uninitialised
memory.

Affects:
dEQP-VK.subgroups.*

Components: Vulkan

VK-GL-CTS Issue: 1639

Change-Id: I0dfc0abb9bcbe63b5d1d5ad43e6fee99389fdfa2

5 years agoFixes pipeline tests to check for maxSamplerLodBias
Matthew Netsch [Wed, 24 Apr 2019 16:02:30 +0000 (12:02 -0400)]
Fixes pipeline tests to check for maxSamplerLodBias

Components: Vulkan
VK-GL-CTS Issue: 1750

Affects:
dEQP-VK.pipeline.sampler.*

Change-Id: I1ed594f0eb5cf8e249eda5eb31b114f1bfb93fd2

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 23 Apr 2019 17:13:22 +0000 (19:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I578c423d59f3c21357dd6f448f68cee5b46a98d0

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 23 Apr 2019 16:47:53 +0000 (18:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I4e639df46cf1f19a0bde8a061fa54d0bc1f7732d

5 years agoAdd float 16 calculation into FMA tests
Boris Zanin [Thu, 11 Apr 2019 08:07:12 +0000 (10:07 +0200)]
Add float 16 calculation into FMA tests

Add one more calculation flavor into calculation
Float16 FMA tests.

Updates:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic*.fma
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic*.fma*

Components: Vulkan

VK-GL-CTS issue: 1730

Change-Id: Ic3c378a75d23afcafb0f6ce7052351d70d4d30bc
(cherry picked from commit 67a010acd731667bcf067652d11ba494f0afff95)

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
(cherry picked from commit 1dadbfc46128054db7679bb662eba16b20a241c1)

5 years agoCheck for geometry shader support when testing adjacency topologies
Chris Forbes [Mon, 15 Apr 2019 23:03:23 +0000 (16:03 -0700)]
Check for geometry shader support when testing adjacency topologies

Clipping tests would attempt to create pipelines using adjacency
topologies without checking for geometry shader support.

This seems to be a benign failure on most real implementations, but is a
VU violation.

Affects: dEQP-VK.clipping.clip_volume.*
VK-GL-CTS Issue: 1738

Change-Id: Iac6cfc6a669f2e533ce8ceaf4e7c2448b9fe4883

5 years agoMissing format checks for vertex attribute and color attachments in input_ouput tests
Samuel Iglesias Gonsálvez [Fri, 5 Apr 2019 14:40:30 +0000 (16:40 +0200)]
Missing format checks for vertex attribute and color attachments in input_ouput tests

Input_output tests were not checking that the vertex attribute formats
were supported by the physical device. Added a similar check for the color
attachment.

Affects:

dEQP-VK.spirv_assembly.instruction.graphics.*input_output*

Components: Vulkan
VK-GL-CTS issue: 1726

Change-Id: I2987deeafc8d3cc119730993fcb30fb191be062c

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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 5 Mar 2019 16:09:54 +0000 (16:09 +0000)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Iaff35efaad77acdd183dd07161fa0da31faaeac2

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 5 Mar 2019 15:41:47 +0000 (15:41 +0000)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I91653c9399920b5e965597c6e4b6006d3490d883

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Tue, 5 Mar 2019 15:05:48 +0000 (15:05 +0000)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I0317d6d414441f536e8255db7143e57eeea3448e

5 years agoFix buffer RAW hazards in synchronization tests
Igor Ostrowski [Thu, 28 Feb 2019 16:15:12 +0000 (17:15 +0100)]
Fix buffer RAW hazards in synchronization tests

Missing barrier for buffers in semaphore tests.

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

Components: Vulkan
VK-GL-CTS issue: 1633

Change-Id: I0f4ffed00e28816496948d8167e08bbbed999b79

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 28 Feb 2019 16:17:02 +0000 (17:17 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Id1dfb48db9c7c5ad1d4260e4595617723034af04

5 years agoExclude few rasterization tests
Alexander Galazin [Thu, 28 Feb 2019 15:49:11 +0000 (16:49 +0100)]
Exclude few rasterization tests

Components: Vulkan

Affects:
dEQP-VK.rasterization.interpolation.basic.lines_wide
dEQP-VK.rasterization.interpolation.projected.line_strip_wide
dEQP-VK.rasterization.flatshading.lines_wide

VK-GL-CTS issue: 1274

Change-Id: I4771bc1729ccd6eb39e291cb26a5db5b42688140

5 years agoFixes YCbCr create flag requirements for image format properties tests
Tom Cooper [Fri, 8 Feb 2019 14:14:40 +0000 (14:14 +0000)]
Fixes YCbCr create flag requirements for image format properties tests

YCbCr formats are not required to support
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT.

Components: Vulkan

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

VK-GL-CTS Issue: 1592

Change-Id: I140f6b93a337d325fd908259f3da2dc1f4d251d9

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Tue, 26 Feb 2019 16:53:28 +0000 (17:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ic711984d0039550239e56cefd30e735da866f524

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 26 Feb 2019 16:19:23 +0000 (17:19 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ib3a1ff276813033d0bfc87150266e4ff848aa290

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Tue, 26 Feb 2019 14:38:00 +0000 (15:38 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: Ibc6149bcd2518049216704334a23d90ea572c446

5 years agoCheck if CTS has platform display for wsi-type
ygole [Tue, 15 Jan 2019 13:49:31 +0000 (19:19 +0530)]
Check if CTS has platform display for wsi-type

Vulkan driver can expose multiple VK_KHR_{platform}_surface extensions
and it's app responsibility to create platform display then create the
surface and pass it to vkCreate{platform}SurfaceKHR. But if CTS does
not have display for requested wsi type and extension is exposed, CTS
reports it as failure.

To fix this, if function createWsiDisplay fails then check whether CTS
has platform display available for requested wsi-type and if it does
then only report this as failure otherwise report it as unsupported.

Affects: dEQP-VK.wsi.*

Components: Vulkan, Framework

VK-GL-CTS issue: 1558

Change-Id: I41aabc2e77cfc6e730b5a95dde746d8ea8152d2b
(cherry picked from commit b7efacd7b320d2b2c3b8b75cf98c9979b5a29fe9)

5 years agoCheck shaderInt64 feature support in memory tests
Lisa Wu [Wed, 20 Feb 2019 13:58:11 +0000 (14:58 +0100)]
Check shaderInt64 feature support in memory tests

Not all vulkan implementations support int64 data type in shaders,
dEQP-VK.memory_model.* tests should check support before using "int64"
in the shader.

Affects: dEQP-VK.memory_model.*.u64.*

Components: Vulkan

VK-GL-CTS issue: 1621

Change-Id: Idefe662a7327708898b01777f14f6ca9637a35f3

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Thu, 21 Feb 2019 09:08:51 +0000 (10:08 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I340cd7f2e1cd8a98c98c0b9018a6648dba6712cc

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 21 Feb 2019 08:39:43 +0000 (09:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I404c995c42188a88a080ba5b27c3075e5d746f7f

5 years agoFragment input components limit includes position
Alex Walters [Tue, 12 Feb 2019 17:50:27 +0000 (17:50 +0000)]
Fragment input components limit includes position

The Vulkan limits maxFragmentInputComponent is inclusive of any
components that are being used up by the built-in interface block.

This means that the test of n components should consist of 4 components
for the position and (n - 4) user defined components.

The test should also check the maxVertexOutputComponent limit as
technically there is no implied >= requirement.

Affects:

dEQP-VK.glsl.limits.near_max.fragment_input.components_*

Component: Vulkan

VK-GL-CTS Issue: 1597

Change-Id: I58adbbbaaa94dd185b024f63519dac7daf5e4b3c
(cherry picked from commit 8b5781b8e7a4564ddec376828a16fd89fb8e3227)

5 years agoRevert "Fix subpixel precision for line geometry generation"
Alexander Galazin [Thu, 14 Feb 2019 18:56:07 +0000 (13:56 -0500)]
Revert "Fix subpixel precision for line geometry generation"

This reverts commit 3116016d8e0e4582396d67a1286aa3a6815a3332.

VK-GL-CTS issue: 1582, 1274

Affects:
dEQP-VK.rasterization.*line*
dEQP-GLES*.functional.rasterization.*line*

Components: Framework

Change-Id: I5e1fbc948f5784656523c37924ca746c6b6aa5a8

5 years agoFix RAW and WAW hazards in pipeline barrier tests.
Igor Ostrowski [Thu, 31 Jan 2019 10:26:07 +0000 (11:26 +0100)]
Fix RAW and WAW hazards in pipeline barrier tests.

Test was not handling correctly internal state of the visibility and availability operations.
Both access scopes of the barrier must be set correctly to unlock such usage of the resource.

Affects:
dEQP-VK.memory.pipeline_barrier.*

Components: Vulkan
VK-GL-CTS issue: 1589

Change-Id: Ie2b47f160a0181948de1a37d1e7e5202a94d493e

5 years agoFurther fixes for spirv validation issues in pointer_parameter
Alexander Galazin [Thu, 14 Feb 2019 11:46:15 +0000 (12:46 +0100)]
Further fixes for spirv validation issues in pointer_parameter

Components: Vulkan

VK-GL-CTS issue: 1590

Affects:
dEQP-VK.spirv_assembly.instruction.*.pointer_parameter.*

Change-Id: I59f2fc2e9d458fa1a122962487b30fec99b38401

5 years agoFix memory allocation size in subgroups tests
Carl Ritson [Mon, 11 Feb 2019 15:28:05 +0000 (15:28 +0000)]
Fix memory allocation size in subgroups tests

Many subgroups test shaders are executed using std140 memory layout,
meaning a minimum stride of 16-bytes.  The common allocation path
assumes a packed layout and hence does not allocate sufficient buffer
for uint arrays, etc.
This change increases the allocation request size to address the issue.

Affects:
dEQP-VK.subgroups.*

Components: Vulkan

VK-GL-CTS Issue: 1593

Change-Id: I150cf0bb69029137a44c778c04cecbf2f61515ae

5 years agoFix spirv validation issue in pointer_parameter
Piotr Byszewski [Thu, 7 Feb 2019 11:39:48 +0000 (12:39 +0100)]
Fix spirv validation issue in pointer_parameter

Components: Vulkan

VK-GL-CTS issue: 1590

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.pointer_parameter.*

Change-Id: I05546f34b52630e6706368f633913d3596e81703

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Wed, 30 Jan 2019 11:32:51 +0000 (12:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ibe8e4681ee550224f9db8109857812113c2bc503

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Wed, 30 Jan 2019 11:32:48 +0000 (12:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I15606e0ae4cebef241218414134324f043f06633

5 years agoAdd ASTC LDR error colour quality warning
Alex Walters [Fri, 14 Sep 2018 10:44:55 +0000 (11:44 +0100)]
Add ASTC LDR error colour quality warning

Some hardware can output the HDR error colour (black) instead of the
LDR error colour (magenta). Valid compression blocks are rendered
correctly.

This change adds a second comparison mechanism if the initial *fast*
deMemCmp fails; the texture values are compared allowing for any value
matching an error colour to compare against the other error colour.

If such a match is detected the test will output a QualityWarning
instead of a Pass.

If the two compared values don't match, but are not both error colours
the test result is still a Fail.

Affects:

dEQP-VK.image.texel_view_compatible*astc*

Components: Vulkan

VK-GL-CTS issue: 1231

Change-Id: Ie14913de0f2f3cf7fed90c275e48c67181c1e7ff
(cherry picked from commit b038d43aa868be1e6d4471c6977984151ada3af5)

5 years agoFix the device_group test failure by allowing same number of tries to
Mohd Faisal [Fri, 19 Oct 2018 09:35:36 +0000 (10:35 +0100)]
Fix the device_group test failure by allowing same number of tries to
create object as device test.

Components: Vulkan

Affects: dEQP-VK.api.object_management.alloc_callback_fail.device_group

VK-GL-CTS Issue: 1431

Change-Id: I099a05f3109c1997cad323a0577f66c95755b151
(cherry picked from commit 4c98da04296ed97e73fecdd2e5b80478ba7f60af)

5 years agoReduce devices created in device_group tests
Peter Quayle [Tue, 11 Dec 2018 18:02:26 +0000 (18:02 +0000)]
Reduce devices created in device_group tests

The device_group tests could sometimes hit timeouts on
slower CPUs. This change reduces the number of objects
created in these tests to match the reduced number used
in the device and instance tests.

Affects:
dEQP-VK.api.object_management.
multithreaded_per_thread_resources.device_group
dEQP-VK.api.object_management.
multithreaded_shared_resources.device_group

Components: Vulkan

VK-GL-CTS issue: 1512
Change-Id: Icb68643ff530a8b1a1a7daa9fc93d8db8bc5faf9
(cherry picked from commit 9134406c47a0f345ea9e3c67dc7b99c7947b2436)

5 years agoFixes multiview query tests
Yu-Jun Li [Mon, 7 Jan 2019 18:48:18 +0000 (10:48 -0800)]
Fixes multiview query tests

Queries need to be reset prior to use

Components: Vulkan
VK-GL-CTS issue: 1575

Affects:
dEQP-VK.multiview.queries.*

Change-Id: Icf0f712a3391784ee47c00de833f8417bb8337c3
(cherry picked from commit bd913ffd046955e976337ab6fb1e93520b37c375)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Mon, 21 Jan 2019 20:16:08 +0000 (21:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: Ic7e43b929357fc3e076de1105d7e24fb3b92b946

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Mon, 21 Jan 2019 18:21:53 +0000 (19:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I79cdbe3b49745c53437cd85f3022bf9c6123211d

5 years agoFix missing self dependency in renderpass tests
Leif-Julian Ovrelid [Thu, 8 Nov 2018 09:16:10 +0000 (10:16 +0100)]
Fix missing self dependency in renderpass tests

The dEQP-VK.renderpass.suballocation.formats and
dEQP-VK.renderpass.dedicated_allocation.formats tests were missing self
dependencies in some cases where they read then write one attachment
in one subpass. In cases with overlapping rendering this would give a
read-write-then-read-write situation, which neads a self dependency to
work reliably. Some of the tests were missing the self dependency, some
of them had the color attachment bits set when depending on depth, and
one case had a self dependency where it should not.
This patch adds a self dependency to two test cases that need it,
removes self dependency from a case that does not need it, and fixes
the depth tests to have the correct bits set.

Affects:

dEQP-VK.renderpass.suballocation.formats.*.input.*
dEQP-VK.renderpass.dedicated_allocation.formats.*.input.*
dEQP-VK.renderpass2.suballocation.formats.*.input.*
dEQP-VK.renderpass2.dedicated_allocation.formats.*.input.*

Components: Vulkan

VK-GL-CTS Issue: 1454

Change-Id: I4a9bec3ef6b088ab3a50d7f658867076f68788b9
(cherry picked from commit f659f8c9ad39c179a79a92ee3b66cb83e1dd52ed)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 18 Jan 2019 09:47:28 +0000 (10:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I2b85e569622052ec742b1272ac367fc1dccf1733

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 18 Jan 2019 09:47:25 +0000 (10:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Iaf773ccd948a5707df4d2ae4628a702e739bd8df

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 18 Jan 2019 09:47:22 +0000 (10:47 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: Idf9225adfcbc231e544516558bd6d794dce40b26

5 years agoFix validation failure in float_controls
Piotr Byszewski [Thu, 17 Jan 2019 12:37:07 +0000 (13:37 +0100)]
Fix validation failure in float_controls

Half of float_controls tests read operation arguments from
SSBO (other half generates them in the code). Whent vertex
stage is tested this SSBO must be decorated as NonWritable.
This change resolves this issue by applying NonWritable
decoration to input SSBO for all tested stages.
Operation output is always saved in fragment stage and to
separate SSBO.

Components: Vulkan

VK-GL-CTS issue: 1543

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Change-Id: Iaed891d7b45b2a5f02ce1443dc13a40e24fa2086

5 years agoUpdate Vulkan CTS Readme
Alexander Galazin [Thu, 17 Jan 2019 11:51:30 +0000 (12:51 +0100)]
Update Vulkan CTS Readme

Clarify API level requirements for implementations with
VK_ANDROID_external_memory_android_hardware_buffer support

Components: Vulkan

Change-Id: I8536595678a8d4daff9e16ed3a9e9e25594e372e

5 years agoFixes ycbcr image properties requirement
Matthew Netsch [Wed, 16 Jan 2019 19:36:30 +0000 (14:36 -0500)]
Fixes ycbcr image properties requirement

Mipmaps/Arrays are optional for ycbcr images

Components: Vulkan
VK-GL-CTS issue: 1506

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

Change-Id: I795ec1c8b3e44a460ddd0c7c2fe0fe1731794cab
(cherry picked from commit 845394de5b43c71adddc72e7563b50c65e852b27)

5 years agoFix image type in Uniform texel buffer tests
Alexander Galazin [Thu, 17 Jan 2019 11:56:27 +0000 (12:56 +0100)]
Fix image type in Uniform texel buffer tests

Form the issue:
The Shader Resource and Storage Class Correspondence table
in the Descriptor Set Interface section of the Vulkan 1.1
specification clearly states that a descriptor resource
which is a uniform texel buffer should correspond to
an OpTypeImage(Dim=Buffer,Sampled=1) type.

The current tests in the binding_model category
generate OpTypeSampledImage for uniform texel buffer
resources instead, which I believe is incorrect.

This can be fixed by changing the GLSL declaration from
samplerBuffer to textureBuffer

Components: Vulkan

VK-GL-CTS public issue: 139

Affects:
dEQP-VK.binding_model.*uniform_texel_buffer.*

Change-Id: Ie1beb05cac69a6cf1220bbd47c2d7876eed7ff26

5 years agoProtected Memory Fixes - Barrier Layouts & Flags
Martin Freebody [Mon, 14 Jan 2019 13:34:40 +0000 (13:34 +0000)]
Protected Memory Fixes - Barrier Layouts & Flags

This change removes errors reported by core validation layer.

Affects: dEQP-VK.protected_memory.*

Components: Vulkan

Change-Id: Ic258ba2af077b2dc119db0d177613558464e0c9a

5 years agoUpdate VK_KHR_vulkan_memory_model to spec version 3
Jeff Bolz [Wed, 12 Dec 2018 19:46:54 +0000 (13:46 -0600)]
Update VK_KHR_vulkan_memory_model to spec version 3

Components: Vulkan
Affects: dEQP-VK.memory_model.*
Change-Id: I3ba8a275092f0a2fcfef02cdabf2ab51750f74f5

5 years agoFixes depth load_op in multiview tests
Tom Cooper [Mon, 14 Jan 2019 14:02:03 +0000 (14:02 +0000)]
Fixes depth load_op in multiview tests

Depth load_op was set to dont care before drawing with depth test.

Components: Vulkan
VK-GL-CTS issue: 1557

Affects:
dEQP-VK.multiview*.depth.*

Change-Id: Ia853a84fa7c96b641a2dd91075d015a90a372d35

5 years agoTouch watchdog more often for precision tests.
Bas Nieuwenhuizen [Tue, 15 Jan 2019 17:02:59 +0000 (18:02 +0100)]
Touch watchdog more often for precision tests.

Have a test that takes ~2.5 minutes here using ARM
emulation:

01-15 17:58:54.903  3909  3926 I dEQP    : Test case 'dEQP-VK.glsl.builtin.precision.reflect.mediump_compute.vec4'..
01-15 18:01:28.631  3909  3926 I dEQP    :   Pass (Pass)

Since this is still below the overall 300 seconds limit
for a test I thought just increasing the watchdog touch
frequency would be okay.

We probably strictly need about 1000, but for leaving
some time before/after this for the driver to do stuff
(like compiling a shader), I took something lower.

Affected tests:
dEQP-VK.glsl.builtin.precision.*

Component: Vulkan

VK-GL-CTS issue: 1560

Change-Id: I450ddac39635c857ee1966d86ae16085082d242b

5 years agoAdd AHB to Android allowed extensions list
Chris Forbes [Tue, 15 Jan 2019 01:30:31 +0000 (17:30 -0800)]
Add AHB to Android allowed extensions list

Affects: dEQP-VK.api.info.android.no_unknown_extensions
VK-GL-CTS Issue: 1559
Components: Vulkan
Google Bug: b/120907290

Change-Id: Id1f2d63cbd51e7b3e51106f8f0214cd8d95c199c

5 years agoFix logging of 8-bit integer values
Slawomir Cygan [Mon, 10 Dec 2018 16:08:05 +0000 (17:08 +0100)]
Fix logging of 8-bit integer values

The values were 'streamed' using << to std::stream, so they
were treated as characters, instead of integer values.

Components: Vulkan

VK-GL-CTS Issue: 1505

Affects:
dEQP-VK.spirv_assembly.type.scalar.*8.*

Change-Id: I34e697eb5b1c554b98a2fe556368bd6485fb406f

5 years agoAllow coarse derivatives to be calced by fine func
Boris Zanin [Tue, 27 Nov 2018 11:54:43 +0000 (12:54 +0100)]
Allow coarse derivatives to be calced by fine func

OpDPdxCoarse (OpDPdyCoarse) are allowed to be calculated by same
formulas as OpDPdxFine (OpDPdyFine).  Also due to OpFwidthCoarse
is described as sum of OpDPdxCoarse, OpDPdyCoarse allow it to be
calculated by OpFwidthFine.

Components: vulkan

VK-GL-CTS issue: 1452

Affects: dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_*.opdpdxcoarse

Change-Id: Ib91d813626e579309d3d9176d52b0954efa920d4

5 years agoUpdate glslang
Alexander Galazin [Fri, 11 Jan 2019 08:51:22 +0000 (09:51 +0100)]
Update glslang

Component: Framework

Change-Id: I35639832f859e7eb4d62c887eee465555f04b877

5 years agoFix dup tests to not free in-use semaphores/fences
Liam Middlebrook [Thu, 3 Jan 2019 22:07:10 +0000 (14:07 -0800)]
Fix dup tests to not free in-use semaphores/fences

The dup{,2,3} tests were subject to a race condition in which a
semaphore may be deleted before a VkQueue which was dependent on it had
completed execution.

This change moves the vkQueueWaitIdle call into the same scope as the
semaphores/fences that the queue is dependent on.

VK-GL-CTS issue: 1538

Components: Vulkan

Affects: dEQP-VK.api.external.{fence,semaphore}.opaque_fd.dup*

Change-Id: I73cf541c9c184790df44b68b8a065787634847d9
(cherry picked from commit 732a8b6800972b271735cf9b865a3612fb56dfc4)

5 years agoSet correct range for OpVectorTimesScalar tests
Stephen Clarke [Fri, 21 Dec 2018 12:38:35 +0000 (12:38 +0000)]
Set correct range for OpVectorTimesScalar tests

The min[] and max[] values should be based on the result in double precision, not after it has been converted to fp16type.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_2.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_3.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.compute.float16.arithmetic_4.opvectortimesscalar
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_2.opvectortimesscalar*
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_3.opvectortimesscalar*
dEQP-VK.spirv_assembly.instruction.graphics.float16.arithmetic_4.opvectortimesscalar*

Components: Vulkan

VK-GL-CTS issue: 1532
Change-Id: I30810c8c954ee899bb05602b1f8805f82ac021b3
(cherry picked from commit 12b26bd9762dd56068522cc0a17b26c9e31df1e2)

5 years agoFix errors in SPIR-V 16bit_storage tests
Samuel Iglesias Gonsálvez [Fri, 22 Jun 2018 06:30:28 +0000 (08:30 +0200)]
Fix errors in SPIR-V 16bit_storage tests

Commit 04ba8ac400a3 was wrongly setting a condition that made
all the *16_to_16* tests to fail. Also, in the last rebase of CL#2458,
there were a rename of an argument of OpFunction that was not updated.

Affects: dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.*

Components: Vulkan
VK-GL-CTS issue: 1234

Change-Id: Ia83bedefa33d3e37b62336ebadb2bc992e0ddb2a
(cherry picked from commit 56e8d4e2318dcd0bceddca4d182649f3a03be7ab)

5 years agoRemove NaN handling in float16 tests
Boris Zanin [Fri, 21 Dec 2018 13:53:25 +0000 (14:53 +0100)]
Remove NaN handling in float16 tests

Support of NaNs is optional according the specification.
Tests always have expected that NaNs are always supported.
To be compatible with the specification skip check of NaN
input floats.

Updated tests:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opfunord*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opfunord*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opford*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opford*

Affected tests:
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opisnan*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opisnan*
 * dEQP-VK.spirv_assembly.instruction.compute.float16.logical.opisinf*
 * dEQP-VK.spirv_assembly.instruction.graphics.float16.logical.opisinf*

Components: Vulkan

VK-GL-CTS issue: 1528

Change-Id: Iadd91ed24c78e15ff458355262b009015b8a8e4a

5 years agoPropagate required features down to the constructor
Alexander Galazin [Wed, 9 Jan 2019 09:57:07 +0000 (10:57 +0100)]
Propagate required features down to the constructor

VariablePointers wasn't fully propagated down to the test constructor

Components: Vulkan

VK-GL-CTS issue: 1540

Affects:
dEQP-VK.spirv_assembly.instruction.compute.pointer_parameter.workgroup_memory_variable_pointers

Change-Id: I4d29248ad4c2f38cdda5c31be1be781331433399

5 years agoRemove unnecessary extension declarations
Alexander Galazin [Tue, 8 Jan 2019 15:37:27 +0000 (16:37 +0100)]
Remove unnecessary extension declarations

Declarations of SPV_AMD_gpu_shader_half_float
in the precision test are redundant and shouldn't appear

Components: Vulkan

Affects: dEQP-VK.glsl.builtin.*.comparison.*

VK-GL-CTS issue: 1541

Change-Id: I75b57cb3361b683e446effa3ab9e51f441f186d5

5 years agoRun validation before optimization.
Steven Perron [Tue, 11 Dec 2018 15:59:56 +0000 (10:59 -0500)]
Run validation before optimization.

The optimizer runs is own pass of the validator as a safety check.
However, that call to the validator does not get the any validatoin options passed in.
This causes problems with the memory layout tests.

The solution we will be to diable the call to the validator in the
optimizer.  Instead the will be an explict call to validate the binary
before optimization starts, reusing functions that already exist to do
that.

At the same time, the run of the validator that is done with
--deqp-validation=enable will be moved so that it runs after
optimization.  This way it will validate the output instead of the
input, and it will not be a redundant check.

VK-GL-CTS issue: 1503

Components: Vulkan, Framework

Affects: dEQP-VK.ssbo.layout.random.relaxed.*

Change-Id: Ib52fa97505855316739e07e472d23fcab4ac2beb

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Alexander Galazin [Fri, 21 Dec 2018 18:32:00 +0000 (19:32 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2

Change-Id: I93423c80882209c8c41d4bd9f3d403037ec9ad01

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 21 Dec 2018 15:16:09 +0000 (16:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ie0a15653a8e00e8dc4acb07c0371dad770c5ee9f

5 years agoCheck for exact spec version for VK_KHR_vulkan_memory_model
Jeff Bolz [Wed, 12 Dec 2018 19:42:16 +0000 (13:42 -0600)]
Check for exact spec version for VK_KHR_vulkan_memory_model

This extension is provisional and its Features struct is expected to change soon.
Add a version check to protect against querying the struct and running tests with
an incompatible driver.

Components: Vulkan
Affects: dEQP-VK.memory_model.*
Change-Id: Iedd08fa6433af4c59e18c58aa39c5366ad72570e

5 years agoDisable 0b-prefixed integers to be used
Boris Zanin [Thu, 20 Dec 2018 15:35:28 +0000 (16:35 +0100)]
Disable 0b-prefixed integers to be used

Binary integers prefixes 0b breaks Visual Studio 2013 build.
Add validation check to avoid usage of 0b prefixed integers.

Components: Vulkan

VK-GL-CTS issue: 1529

Change-Id: I8bac5b5788adac544b72ca44b74f847b1d3c96cf

5 years agoDon't fail DisplayProperties2KHR with no display
Liam Middlebrook [Tue, 18 Dec 2018 06:04:29 +0000 (22:04 -0800)]
Don't fail DisplayProperties2KHR with no display

Instead, we should mark this test as not supported.

VK-GL-CTS issue: 1527
Components: Vulkan

Change-Id: I3b23ee27b6095b9dd1a4cdec01f0b92046aa8bc5
Affects: dEQP-VK.wsi.display.get_display_properties2

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 agoFix Block decorations in 8-bit storage tests
Jason Ekstrand [Sat, 15 Dec 2018 06:02:37 +0000 (00:02 -0600)]
Fix Block decorations in 8-bit storage tests

The Vulkan environment spec allows two types of SSBO declarations:

 - Storage class of Uniform with the BufferBlock decoration
 - Storage class of StorageBuffer with the Block decoration

All of the 8-bit storage tests, as far as I can see, have chosen to use
the StorageBuffer storage class.  However, most of the SSBO declarations
are missing the Block decoration entirely.  A few mistakenly have a
BufferBlock decoration.

Affects:

dEQP-VK.spirv_assembly.instruction.graphics.8bit_storage.*

Components: Vulkan

VK-GL-CTS issue: 1519
Change-Id: Id78cae9c1813cd04daa894779aa3fbec57240eb8

5 years agoFix denorm tests in float_controls
Piotr Byszewski [Mon, 17 Dec 2018 13:13:05 +0000 (14:13 +0100)]
Fix denorm tests in float_controls

When binary operations on denorms are executed against Inf or Nan
SignedZeroInfNanPreserve mode should always be enabled as some
implementations may perform optimizations that assume that
arguments are not Nan or Inf. Before this change DenormPreserve
and DenormFlushToZero tests had only those modes enabled. Now
SignedZeroInfNanPreserve is added when second operand is Inf or Nan.

Components: Vulkan

VK-GL-CTS issue: 1517

Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*

Change-Id: I0b5e0ed010bde200154f58f9fe194fdf7c565803

5 years agoRemove multiple Offset decorations
Alexander Galazin [Tue, 18 Dec 2018 13:55:42 +0000 (14:55 +0100)]
Remove multiple Offset decorations

Fixes unintentional duplication of the Offset decoration
for the first struct member

Components: Vulkan

Affects: dEQP-VK.spirv_assembly.instruction.compute.opcopymemory.struct

Change-Id: Id13a8f15a72d7dd32d13fb52a494d57349cea289

5 years agoFix multiple ArrayStride decorations in float_controls
Piotr Byszewski [Tue, 18 Dec 2018 11:00:56 +0000 (12:00 +0100)]
Fix multiple ArrayStride decorations in float_controls

Most of float_controls tests that were executed on fragment stage
had an extra ArrayStride decorations for the same arrays. This change
corrects SPIR-V generation so that second set of ArrayStride
decorations is added only when tested operation input type is
different from operation result type.

Components: Vulkan

VK-GL-CTS issue: 1522

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*_frag

Change-Id: I3e72414e00bd82ff7a9975ff9148e9889bb32246

5 years agoOptimizing reading in host_read_host_write.1048576
Arkadiusz Sarwa [Wed, 12 Dec 2018 14:23:10 +0000 (15:23 +0100)]
Optimizing reading in host_read_host_write.1048576

To optimize reading the "for loop byte by byte" was replaced
by memcpy for memory equal and larger then 1 MB.

Components: Vulkan
VK-GL-CTS issue: 1515
Affects:
dEQP-VK.memory.pipeline_barrier.host_read_host_write.1048576

Change-Id: I02f2c3c90d2fc554597f8892a77da6106062452d

5 years agoFixes binding model test format mismatch
Yu-Jun Li [Tue, 11 Dec 2018 18:53:06 +0000 (10:53 -0800)]
Fixes binding model test format mismatch

Storage texel buffer had a different format in
the shader (R32I) than in the app (R32UI).

Components: Vulkan
VK-GL-CTS issue: 1514

Affects:
dEQP-VK.binding_model.descriptorset_random.*

Change-Id: Iffbffbd002a77387dbe008e53ebb81d3f28838f5

5 years agoFixes AHB test out of memory error
Matthew Netsch [Mon, 10 Dec 2018 18:34:22 +0000 (13:34 -0500)]
Fixes AHB test out of memory error

Handles out of memory as not supported

Components: Vulkan
VK-GL-CTS issue: 1507

Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*

Change-Id: If46d2fd7a446f8348aa11bb1636635c7d1f3660a

5 years agoRemove Clip/CullDistance when not needed
Graeme Leese [Thu, 13 Dec 2018 09:58:28 +0000 (09:58 +0000)]
Remove Clip/CullDistance when not needed

Although the tests don't need clip or cull distances the capabilities
are enabled, which means that features would need to be enabled. Remove
the capabilities.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.instruction.*.float_controls.*
         dEQP-VK.spirv_assembly.instruction.compute.multiple_shaders.*

Change-Id: If8e18b1608f4d8d2782e9010c531a4e20119b414

5 years agoAdd some watchdog touches in AHB image format tests
Chris Forbes [Mon, 17 Dec 2018 16:53:22 +0000 (08:53 -0800)]
Add some watchdog touches in AHB image format tests

Timing on these tests is marginal if the device runs into memory trouble
and needs to spend a lot of time reclaiming to satisfy the allocations.

Change-Id: If397b95b3be02553b3bca2baf43b21b245136b6d
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.image_formats
Components: Vulkan

5 years agoFix flag dEQP-VK.*.record_simul_use_primary
Arkadiusz Sarwa [Fri, 7 Dec 2018 11:19:06 +0000 (12:19 +0100)]
Fix flag dEQP-VK.*.record_simul_use_primary

Flag VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT
should be used in VkCommandBufferBeginInfo when
a buffer is resubmitted to a queue while it is
in the pending state,

Components: Vulkan

Affects: dEQP-VK.api.command_buffers.record_simul_use_primary

VK-GL-CTS Issue: 1500

Change-Id: Id527cc2fa54de2675514f89b5f44af221f42bd80

5 years agoDEQP: Fix the build targets without SPIRV tools
Yiwei Zhang [Thu, 13 Dec 2018 00:12:43 +0000 (16:12 -0800)]
DEQP: Fix the build targets without SPIRV tools

VK-GL-CTS issue: 1516

Affects: Any build without SPIRV tools

Components: Framework

Change-Id: I7bdbcb94a0877e51d2ae39018fb80c84b2924607

5 years agoDon't fail DisplayModeProperties2 with no display
Liam Middlebrook [Tue, 11 Dec 2018 04:42:47 +0000 (20:42 -0800)]
Don't fail DisplayModeProperties2 with no display

Instead, we should mark this test as not supported.

VK-GL-CTS issue: 1513
Components: Vulkan

Change-Id: I16a6dcb9f10997b5bbc24ffd2c2d7b0300f43f4c
Affects: dEQP-VK.wsi.display.get_display_mode_properties2

5 years agoSkip fconvert16 if float16 not supported
Graeme Leese [Fri, 7 Dec 2018 10:58:39 +0000 (10:58 +0000)]
Skip fconvert16 if float16 not supported

The SPIR-V instruction test for float16 wasn't checking for the float16
capability correctly so didn't work properly on implementations that
don't support it.

Components: Vulkan
VK-GL-CTS issue: 1499
Affects:
    dEQP-VK.spirv_assembly.instruction.compute.opspecconstantop.fconvert16

Change-Id: Id8dfc596acda41da670b2d6c08bde9920df99268

5 years agoUpdate glslang
Alexander Galazin [Tue, 4 Dec 2018 15:22:53 +0000 (16:22 +0100)]
Update glslang

Components: Framework, Vulkan

Change-Id: Ic2ecbd6915b8f4d6ecfc6a291df0791ddf5167e8

5 years agoAdd precision error margin to cos() tests for float_controls
Samuel Iglesias Gonsálvez [Tue, 4 Dec 2018 15:22:26 +0000 (16:22 +0100)]
Add precision error margin to cos() tests for float_controls

On some old Intel hardware, Mesa doesn't return exactly 1.0 for cos(0).
This change implements the precision error margin for the affected cos() tests,
following Vulkan spec, "Precision and Operation of SPIR-V Instructions".

Components: Vulkan

Affects: dEQP-VK.spirv_assembly.instruction.*.float_controls.*.cos_denorm_flush_to_zero*

VK-GL-CTS issue: 1498

Change-Id: I2ff07616f706d4214517917276aeb26d2d875325
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
5 years agoRemove unsupported image load store tests
Piers Daniell [Tue, 4 Dec 2018 17:06:01 +0000 (10:06 -0700)]
Remove unsupported image load store tests

CL https://gerrit.khronos.org/#/c/2639/ added more
formats to the dEQP-VK.image.mutable.* tests. Variants
of these tests use image load store. However, the new
formats added are not all compatible with image load
store as defined by:
https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html#spirvenv-image-formats

This CL removes test variants that use image load store
and the invalid formats from the mustpass list.

Affected tests:
dEQP-VK.image.mutable.*
dEQP-VK.image.swapchain_mutable.*

Components: Vulkan

VK-GL-CTS issue: 1495

Change-Id: I49867913ba5c4e50b4f3d85d7c6787dc60113e63