platform/upstream/VK-GL-CTS.git
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 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 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.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.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 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 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 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 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 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 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 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 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.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 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 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 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 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 agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 30 Nov 2018 10:16:04 +0000 (11:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I141759bd5109a1207d170b7977345a6c739d4d49

5 years agoFix non-constant Id in subgroupBroadcast
Alexander Galazin [Wed, 28 Nov 2018 18:32:31 +0000 (19:32 +0100)]
Fix non-constant Id in subgroupBroadcast

Glslang started to enforce constantness of
the ID parameter in subgroupBroadcast.
This fixes some tests that used to have
non-constant Id by manually unrolling the loop.

Components: Vulkan

Affects: dEQP-VK.subgroups.ballot_broadcast.subgroupbroadcas*

VK-GL-CTS issue: 1489

Change-Id: I291875f94b9781fc4920617106c4f86786fd82d8
(cherry picked from commit 4708641aeed605da095764bbc2d90df760309db3)

5 years agoRemove texel_view uncompressed float formats
Alex Walters [Wed, 14 Nov 2018 15:28:17 +0000 (15:28 +0000)]
Remove texel_view uncompressed float formats

The specification states that "Values intended to be used with one view
format may not be exactly perserved when written or read through a
different format".

This change removes any float formats from the list of uncompressed
formats used to generate test cases.

Affects:

dEQP-VK.image.texel_view_compatible*float

Components: Vulkan

VK-GL-CTS issue: 1285

Change-Id: I5fa61e5f7170fa7a662047270aaf96e8e477b076

5 years agoRemove texel_view uncompressed float formats
Alex Walters [Wed, 14 Nov 2018 15:28:17 +0000 (15:28 +0000)]
Remove texel_view uncompressed float formats

The specification states that "Values intended to be used with one view
format may not be exactly perserved when written or read through a
different format".

This change removes any float formats from the list of uncompressed
formats used to generate test cases.

Affects:

dEQP-VK.image.texel_view_compatible*float

Components: Vulkan

VK-GL-CTS issue: 1285

Change-Id: I5fa61e5f7170fa7a662047270aaf96e8e477b076

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Wed, 28 Nov 2018 11:21:14 +0000 (12:21 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I92e6488c67cd6bafa10dec08c8e6d90dcc80be0d

5 years agoFixes memory allocation tests
Matthew Netsch [Tue, 28 Aug 2018 18:44:45 +0000 (14:44 -0400)]
Fixes memory allocation tests

Queries the platform specific alignment restrictions
with a temp buffer instead of estimating.

Components: Vulkan
VK-GL-CTS issue: 1259

Affects:
dEQP-VK.memory.allocation.basic.size_*

Change-Id: I272026f9e29b5606b8a4265ef0034752ac43a71a
(cherry picked from commit 0f658f6c6a12a7356ce494cd6eaf9034da0a84b7)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 27 Nov 2018 13:06:11 +0000 (14:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Id836e23ef8901e34c2fcdbba40aea8aad4d3767d

5 years agoFix pointer storage class for spirv_assembly tessellation tests.
Jeff Bolz [Tue, 20 Nov 2018 16:00:45 +0000 (10:00 -0600)]
Fix pointer storage class for spirv_assembly tessellation tests.

This was a new validation rule in
https://github.com/KhronosGroup/SPIRV-Tools/commit/d7cd1203a42b850e38a42e3606b22f810f671a90.

Errors look like:

Validation FAILED: From SPIR-V spec, section 3.32.8 on OpVariable:
Its Storage Class operand must be the same as the Storage Class operand of the result type.
  %gl_PrimitiveID = OpVariable %_ptr_Output_int Input

Also update to latest spirv-tools.

Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*
Change-Id: I14a10b936da36ddc572551b1bf5fc3c837a79fb8

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 15 Nov 2018 08:39:17 +0000 (09:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I93bd8195bc88e16a631bd26fc75095d3b2bbf43c

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

5 years agoAdd watchdog touches to dEQP-VK.api.descriptor_pool#repeated_reset_long
Pierre Couillaud [Wed, 31 Oct 2018 11:57:40 +0000 (04:57 -0700)]
Add watchdog touches to dEQP-VK.api.descriptor_pool#repeated_reset_long

On some low-end devices, this test would hit the dEQP watchdog. Add some
watchdog touches to avoid this.

Google Bug: b/116847904
Component: Vulkan
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
VK-GL-CTS Issue: 1464

Change-Id: I18181aa274ab1dc191b5f0acbb58b41465b5cdad

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 8 Nov 2018 11:52:47 +0000 (12:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I7e4ffa1e9b7956f0c77ee9b8dfc3d958743c0929

5 years agoFix swapchain creation in dEQP-VK.wsi.*.swapchain.*
Chad Versace [Mon, 15 Oct 2018 19:45:46 +0000 (12:45 -0700)]
Fix swapchain creation in dEQP-VK.wsi.*.swapchain.*

In the Vulkan 1.1.87 spec release, the release fixed a bug in
VkSwapchainCreateInfoKHR by adding the following VU:

    * imageFormat, imageUsage, imageExtent, and imageArrayLayers must be
      supported for VK_IMAGE_TYPE_2D VK_IMAGE_TILING_OPTIMAL images as
      reported by vkGetPhysicalDeviceImageFormatProperties.

Jesse Hall authored the fix in response to behavior discovered by Chad
Versace while debugging failures in dEQP-VK.wsi.android.swapchain.* on
Intel Chrome OS devices.  This patch fixes the failing tests to comply
with the spec bugfix.

Components: Vulkan
VK-GL-CTS Issue: 1395
Affects: dEQP-VK.wsi.*.swapchain.*
See-Also: https://gitlab.khronos.org/vulkan/vulkan/issues/1029
Change-Id: I959774833d03b63eb6e23fbd3a7ff33378b44110
(cherry picked from commit 49eab80e4a8b3af1790b9ac88b096aa9bffd193f)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 1 Nov 2018 10:24:35 +0000 (11:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I5874225ecf8aae48bd833a15492668a83f985f38

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 1 Nov 2018 09:53:29 +0000 (10:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I587d40c09a99e93dd4cccf359ceba1dbf9ff47a9

5 years agoCorrect vertex input tests on null driver
Piotr Byszewski [Thu, 25 Oct 2018 14:50:20 +0000 (16:50 +0200)]
Correct vertex input tests on null driver

On Null driver all features are enabled and this triggered execution
of tests for 128 vertex attributes that are not commonly supported.
Tests allocate buffer for verification which is not big enough for
128 attributes. This causes memory corruption and crash.
This change resolves those issues.

Components: Vulkan

VK-GL-CTS issue: 1443

Affects:
dEQP-VK.pipeline.vertex_input.*

Change-Id: I9a89cc62fdd34f9da40ebf9d84e6cf5b5aed07d5

5 years agoCorrect image properties tests on Null driver
Piotr Byszewski [Tue, 23 Oct 2018 09:42:49 +0000 (11:42 +0200)]
Correct image properties tests on Null driver

On Null driver all features are enabled and this trigered some issues
with YCBCR format in image_format_properties tests. This change
resolves those issues.

VK-GL-CTS issue: 1438

Components: Vulkan

Change-Id: I3d1707438909ae4f5e828092a97a6380b615beca
Affects: dEQP-VK.api.info.image_format_properties.*

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 25 Oct 2018 15:03:10 +0000 (17:03 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I2d8288ee3b75ef786496453b0efa6591f4f5c0ad

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 25 Oct 2018 13:52:47 +0000 (15:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: Ic87368f606cb8ec126d42ec9f72b1baffcdcf950

5 years agoFix incomplete VkImageSubresourceRange
Noah Fredriks [Wed, 11 Jul 2018 21:56:05 +0000 (17:56 -0400)]
Fix incomplete VkImageSubresourceRange

Pipeline image barrier arraySize doesn't include the entire image.

Affects: dEQP-VK.api.copy_and_blit.core.resolve_image.whole_array*

Components: Vulkan

VK-GL-CTS Issue: 910

Change-Id: I9974c9390478cf70f2238e03a7180fc81166f84e

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 25 Oct 2018 11:51:47 +0000 (13:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I116b300bfdd3ee78827aa671a737de007eb241ef

5 years agoFix spelling on NotSupported error message
Slawomir Cygan [Mon, 22 Oct 2018 11:12:16 +0000 (13:12 +0200)]
Fix spelling on NotSupported error message

Components: Vulkan

VK-GL-CTS Issue: 1433

Affects: dEQP-VK.api.info.device_group.peer_memory_features

Change-Id: I42e2d7a50d2f74d706e42f0f196ff76c8446fa1c

5 years agoCorrect copy_and_blit on Null driver
Piotr Byszewski [Thu, 18 Oct 2018 09:55:56 +0000 (11:55 +0200)]
Correct copy_and_blit on Null driver

On Null driver all features are enabled which leads copy_and_blit
tests to be executed for incompatible image formats. This change
detects that and fails the verification to prevent hiting assertions
in the framework.

VK-GL-CTS issue: 1427

Components: Vulkan

Affects:
dEQP-VK.api.copy_and_blit.*

Change-Id: I0d105c297f5548175580434cc2a12fa53b69339d

5 years agoDon't exhaust 32-bit host visible address space
Noah Fredriks [Wed, 11 Jul 2018 21:47:02 +0000 (17:47 -0400)]
Don't exhaust 32-bit host visible address space

If VkPhysicalDeviceGroupProperties::subsetAllocation is VK_FALSE, then
then devices in the device group will each consume memory. Adjust the
limit to account for this.

Affects: dEQP-VK.memory.allocation.basic.*

Components: Vulkan

VK-GL-CTS Issue: 1405

Change-Id: I0074c49855435dc3403b64ce85a180397c4ed955

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 5 Oct 2018 10:30:19 +0000 (12:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Iea478874f1c63e4ac841c7143690c0df44864d7a

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 5 Oct 2018 10:30:15 +0000 (12:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I24509b7943339682384362e4c839f66ca6a2d293

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 2 Oct 2018 12:53:42 +0000 (14:53 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Icb47ef51091c8e9137ab558e24f36658a19a42eb

5 years agoVK_KHR_incremental_present: Fix usage flags.
Bas Nieuwenhuizen [Mon, 1 Oct 2018 11:32:59 +0000 (13:32 +0200)]
VK_KHR_incremental_present: Fix usage flags.

Besides swapchain support we also need
vkGetPhysicalDeviceImageFormatProperties support. Use just the
needed flags instead. As COLOR_ATTACHMENT is required in
VK_KHR_surface, we don't need to check for it.

Affected tests:

dEQP-VK.wsi.*.incremental_present.*

Components: Vulkan
VK-GL-CTS issue: 1395

Change-Id: I4dd0f95da0a8f31c11efe7ce58f12cfbe160a71e

5 years agoFix timeout in dEQP-VK.wsi.android test
Peter Quayle [Fri, 28 Sep 2018 16:10:04 +0000 (17:10 +0100)]
Fix timeout in dEQP-VK.wsi.android test

Changes in Android P have causes the workload in
dEQP-VK.wsi.android.swapchain.simulate_oom.min_image_count
to increase significantly, leading to timeouts on some platforms.
This is worked around by simply touching the watchdog timer
between cases.

Affects:

dEQP-VK.wsi.android.swapchain.simulate_oom.min_image_count

Components: Vulkan

VK-GL-CTS issue: 1383

Change-Id: If5da804796f85acd3c2b9709a5463951609168dc

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 25 Sep 2018 11:05:35 +0000 (13:05 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I4e418414ad3adf232f210cacb3e84881ae94d98e

5 years agoReduces percentage of heap used in memory tests
Matthew Netsch [Wed, 5 Sep 2018 18:36:31 +0000 (14:36 -0400)]
Reduces percentage of heap used in memory tests

Heaps can be shared and even fragmented on real systems.
The current percentage of 50% is a little high to reasonably
account for these issues.

Components: Vulkan
VK-GL-CTS issue: 1342

Affects:
dEQP-VK.memory.device_group_allocation.random*

Change-Id: I9a9c7fff05a663facd142a61a505c38925912ed8
(cherry picked from commit 1dab6c690815c1640b7726e05211ec3ab244f935)

5 years agoFix pipeline barrier issues in protected memory tests
John Anthony [Wed, 19 Sep 2018 14:44:43 +0000 (16:44 +0200)]
Fix pipeline barrier issues in protected memory tests

Set correct stage mask for pipeline barriers, and remove pipeline
barriers that are not needed.

Components: Vulkan

VK-GL-CTS issue: 1373

Affects:
dEQP-VK.protected_memory.buffer.*
dEQP-VK.protected_memory.attachment.*

Change-Id: I6dae7ad02c66649281a35465939437a5fb26dd0e

5 years agoFixes WSI protected swapchain allocation tests
Matthew Netsch [Fri, 7 Sep 2018 17:44:55 +0000 (13:44 -0400)]
Fixes WSI protected swapchain allocation tests

Will now throw not supported if swapchain config
cannot fit in the available heap space.

Changes available heap space to fixed 25% of total
reported heap size instead of the current
"total - 2 * imageSize"

Components: Vulkan
VK-GL-CTS issue: 1345

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

Change-Id: I6854ae29b4394d450e47cc78bfb905362a964ec4
(cherry picked from commit f679b545b3b5f06bfb84069a4c712e3988204326)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 21 Sep 2018 09:04:45 +0000 (11:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I9cb8925fdf0bea5cafa7460e7621d863c5e0de85

5 years ago2Darray compatible flag not allowed for 2D images
Marcin Kantoch [Wed, 19 Sep 2018 09:18:16 +0000 (11:18 +0200)]
2Darray compatible flag not allowed for 2D images

Fix for dEQP-VK.api.external.memory.*.image.info tests
incorrectly set create flag VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
for 2D images

Components: Vulkan

Affects:
dEQP-VK.api.external.memory.*.image.info

VK-GL-CTS issue: 1362

Change-Id: I6863fc30177979b913c9e0d4b5814cb857764e27

5 years agoAdd screenLayout to AndroidManifest configChanges
Robert Tray [Fri, 14 Sep 2018 22:40:32 +0000 (16:40 -0600)]
Add screenLayout to AndroidManifest configChanges

Android P will generate screenLayout configuration changes for
AndroidTV devices when an orientation change happens.

Specify that dEQP will handle screenLayout config changes in the
manifest so the Android framework doesn't try to stop and restart dEQP.
dEQP can't handle a restart and just exits.

Components: AOSP

VK-GL-CTS issue: 1357

Change-Id: I0e4eb3a89f5dfb175cbeb32cc6c921a0fe99e477

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Wed, 19 Sep 2018 07:24:01 +0000 (09:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ieda52b4e886e4448634bdea91f0791548642d3b0

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

5 years agoFixes WSI protected swapchain allocation tests
Matthew Netsch [Fri, 7 Sep 2018 17:44:55 +0000 (13:44 -0400)]
Fixes WSI protected swapchain allocation tests

Will now throw not supported if swapchain config
cannot fit in the available heap space.

Changes available heap space to fixed 25% of total
reported heap size instead of the current
"total - 2 * imageSize"

Components: Vulkan
VK-GL-CTS issue: 1345

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

Change-Id: I6854ae29b4394d450e47cc78bfb905362a964ec4

5 years agoConsider rounding mode differences in mipmap tests
Tony Wasserka [Tue, 3 Apr 2018 14:40:21 +0000 (15:40 +0100)]
Consider rounding mode differences in mipmap tests

The tests already tolerate a threshold for rounding mode differences
for the result of a downscaling vkCmdBlitImage, however the accumulated
difference between Round-To-Nearest and Round-To-Zero may exceed the
current threshold. With this change, the expected result is generated
from the preceding device-rendered mipmap instead, so any legitimate
error will always be within the threshold now.

Affects:

dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*_linear

Components: Vulkan

VK-GL-CTS issue: 1106

Change-Id: I0999419320d1b2384f42fbc8eddda29e79147bd4
(cherry picked from commit b861ca1e6d4c002d4359a71dbff1cdf898e79aca)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 14 Sep 2018 14:55:26 +0000 (16:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I3cf1ce3cb9da66c83e88048fb29a055ec196497e

5 years agoTest cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.
Dzmitry Malyshau [Mon, 10 Sep 2018 00:40:54 +0000 (20:40 -0400)]
Test cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.

The intent of blit tests with layer count = 6 was to test cubemap image support.
This PR adds the appropriate image creation flag for those tests.

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

VK-GL-CTS issue: 1336
Components: Vulkan

Change-Id: I6ca0bb6905baebb4e6e6d3597e6e7c54d582473a
(cherry picked from commit d8a05170a7ae7b6b284406f900b9609c7e71be14)

5 years agoFix RobustnessVertexAccessInstance bounds check
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check

The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.

Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete

Components: Vulkan

VK-GL-CTS issue: 1351

Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4
(cherry picked from commit fed61233a802b5a8e7f6e634d0ef698e9155a94c)

5 years agoFix RobustnessVertexAccessInstance bounds check
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check

The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.

Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete

Components: Vulkan

VK-GL-CTS issue: 1351

Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 6 Sep 2018 16:18:10 +0000 (18:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I717b207ec5642fb2f5a7deb9a91e52da7b3c862f

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 6 Sep 2018 15:48:31 +0000 (17:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I5a095ab6fddfaa9ce687f8627b58ec12176ba660

5 years agoFixes tessellation triangle check
Matthew Netsch [Fri, 13 Jul 2018 15:10:54 +0000 (11:10 -0400)]
Fixes tessellation triangle check

Tessellators may produce inner vertices positioned
on the edge of a primitive when used with fractional
odd spacing and the inner tessellation level is one.

Point mode doesn't factor into this rule

Components: Vulkan
VK-GL-CTS Issue: 1273

Affects:
dEQP-VK.tessellation.primitive_discard.*

Change-Id: Ida8c75d4275403eaae8b52fe55f3ed9e61dd2d6e

5 years agoReduces percentage of heap used in memory tests
Matthew Netsch [Wed, 5 Sep 2018 18:36:31 +0000 (14:36 -0400)]
Reduces percentage of heap used in memory tests

Heaps can be shared and even fragmented on real systems.
The current percentage of 50% is a little high to reasonably
account for these issues.

Components: Vulkan
VK-GL-CTS issue: 1342

Affects:
dEQP-VK.memory.device_group_allocation.random*

Change-Id: I9a9c7fff05a663facd142a61a505c38925912ed8

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 31 Aug 2018 07:52:20 +0000 (10:52 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I7e0e51ad6bbdebe2c0067cedbb8e0d3bca177fad

5 years agoFix subpixel precision for line geometry generation
Petros Bantolas [Wed, 18 Jul 2018 10:19:04 +0000 (11:19 +0100)]
Fix subpixel precision for line geometry generation

Line geometry generation for rasterization tests wasn't taking the HW
subPixelPrecisionBits limit into account. Modified the triangle creation
routines to round those coordinates down to the driver provided
precision.

Affects:

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

Components: Framework

VK-GL-CTS issue: 1274

Change-Id: I54af2f9606372bead2a8c7238588374101f80e55

5 years agoFixes memory allocation tests
Matthew Netsch [Tue, 28 Aug 2018 18:44:45 +0000 (14:44 -0400)]
Fixes memory allocation tests

Queries the platform specific alignment restrictions
with a temp buffer instead of estimating.

Components: Vulkan
VK-GL-CTS issue: 1259

Affects:
dEQP-VK.memory.allocation.basic.size_*

Change-Id: I272026f9e29b5606b8a4265ef0034752ac43a71a

5 years agoIncorrect enum values for VK_KHR_create_renderpass2
John Anthony [Thu, 23 Aug 2018 14:11:13 +0000 (16:11 +0200)]
Incorrect enum values for VK_KHR_create_renderpass2

Some VkStructureType enum values added for VK_KHR_create_renderpass2 are
not in accordance with current Vulkan headers and the Vulkan
specification.

Components: Vulkan

VK-GL-CTS issue: 1321

Affects: dEQP-VK.*renderpass2.*

Change-Id: I51031d538bc427e56bbf56f603f200b513834d67

5 years agoImprove wsi.incremental_present.* for low memory
Aaron Bartholomew [Mon, 20 Aug 2018 19:28:42 +0000 (12:28 -0700)]
Improve wsi.incremental_present.* for low memory

This patch modifies the VK.wsi.incremental_present.* tests to alleviate
issues with memory use on memory constrained platforms

The issue is that the scale_down group in particular creates very large
swapchains & that the presentation engine may keep one or moreof the
swapchain images allocated until it is able to release them. Which means
that since this test does the following:

create swapchain, render some frames, destroy the swapchain, repeat

the high watermark for memory consumed by swapchain images will be higher
than the amount consumed by the single largest swapchain created.

This patch addresses these issues in two ways:
1) Reducing the size of the swapchain images allocated for scale down
tests to use the next power of two of the window size, instead of the
max extents reported by Vulkan

Max extents are already tested in other deqp tests &amp; it&apos;s redundant
to do evaluate it again here; this change will make the test more
on functionality

2) Creates/Renders/Destroys a small dummy swapchain between each test
iteration in order to flush the memory held by the presentation
engine

Affects:
dEQP-VK.wsi.*.incremental_present.*

Components: Vulkan

VK-GL-CTS issue: 1179

Change-Id: Ib7e1a5d9110e7dabc0d0ced21b643389c2bf0328
(cherry picked from commit a3ba2368fda1ecf8cc3d5c3136b5674a3414f472)

5 years agoFix issues in ProtectedMemCopyBufferToImage
Ilya Zaytsev [Tue, 21 Aug 2018 14:46:48 +0000 (16:46 +0200)]
Fix issues in ProtectedMemCopyBufferToImage

Fixes the following issues:

* pipeline barriers were not correct: wrong stages and wrong access masks
  were used
* R32G32B32A32_UINT image view was sampled from sampler2D

Affects: dEQP-VK.protected_memory.image.copy_buffer_to_image.*

Components: Vulkan

VK-GL-CTS issue: 1326

Change-Id: I9d7eb9f8d9c2dcda1d7dd1f3b0e68e71fcd8c8f9

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 24 Aug 2018 07:26:54 +0000 (09:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: Ie5d1d301b96c8eff6a7d974de13c1d35195d7b26

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 24 Aug 2018 07:26:51 +0000 (09:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I5b4bdc020c0dda7ec55aafd498cd1f1193b9c77b

5 years agoFix copy/paste errors in opundef assembly tests
Daniel Koch [Thu, 16 Aug 2018 02:55:06 +0000 (22:55 -0400)]
Fix copy/paste errors in opundef assembly tests

The tests were using %is_nan_0 repeatedly instead of %is_nan_<i>

Affects: dEQP-VK.spirv_assembly.instruction.graphics.opundef.*
(likely only the vec4float32 and matrix subsets)
Component: Vulkan
VK-GL-CTS: 1315

Change-Id: I2bed6e94f6867c424c5102ef3eeab8ac32021dcd
(cherry picked from commit a46089154137e0939c02bdcabc74f5daa303ffb2)

5 years agoFixes geometry shader invocation dependency
Matthew Netsch [Wed, 8 Aug 2018 20:52:35 +0000 (16:52 -0400)]
Fixes geometry shader invocation dependency

dEQP-VK.tessellation.invariance.* updates a SSBO
expecting the implementation to execute the GS
once per primitive. Changes the test to allow
multiple invocations.

Components: Vulkan
VK-GL-CTS Issue: 1281

Affects:
dEQP-VK.tessellation.invariance.*

Change-Id: I6ed17a8afb413587bb38487ec9952f569a250193

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Tue, 7 Aug 2018 08:57:19 +0000 (10:57 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I3ebd996d37e078d937fe79ccc93718b51672e1c4

5 years agoRemove unconditional depth_clamping for 1.1.1
Simen Kaspersen [Wed, 1 Aug 2018 11:12:14 +0000 (13:12 +0200)]
Remove unconditional depth_clamping for 1.1.1

Changed depthClampEnable from VK_TRUE to VK_FALSE where it is not needed.
Depth clamp specific tests in builtin_var.fragdepth set as not supported for incompatible systems.

NB: Carries the same changes as 1.1.0 patch for depth_clamping, along with changes that are specific for 1.1.1.

Affects:
dEQP-VK.device_group.*
dEQP-VK.api.object_management.*.graphics_pipeline
dEQP-VK.binding_model.shader_access.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.renderpass.*
dEQP-VK.spirv_assembly.*
dEQP-VK.api.smoke.unused_resolve_attachment
dEQP-VK.wsi.android.incremental_present.*
dEQP-VK.memory.pipeline_barrier.*

Components: Vulkan

VK-GL-CTS issue: 1286

Change-Id: I0e322c65561c25339fe56e3122401d92df7623a6

5 years agoRemove unconditional depth_clamping for 1.1.0
Simen Kaspersen [Mon, 30 Jul 2018 14:36:31 +0000 (16:36 +0200)]
Remove unconditional depth_clamping for 1.1.0

Changed depthClampEnable from VK_TRUE to VK_FALSE where it is not needed.
Depth clamp specific tests in builtin_var.fragdepth set as not supported for incompatible systems.

Affects:
dEQP-VK.device_group.*
dEQP-VK.api.object_management.*.graphics_pipeline
dEQP-VK.binding_model.shader_access.*
dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.renderpass.*
dEQP-VK.spirv_assembly.*
dEQP-VK.api.smoke.unused_resolve_attachment
dEQP-VK.wsi.android.incremental_present.*
dEQP-VK.memory.pipeline_barrier.*

Components: Vulkan

VK-GL-CTS issue: 1286

Change-Id: Ia869da75a74800543afb4f8fddd8bf5e8f7f4a7f

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Thu, 2 Aug 2018 08:27:48 +0000 (10:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I2b3ff32206b0408c16dd93bc643bdc9bf928dcda

5 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 2 Aug 2018 08:27:46 +0000 (10:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I178311e0fa4f5276ab325b65460074f60e42c222

5 years agoFix build when SPIRV-Tools is not present
Chris Forbes [Thu, 2 Aug 2018 00:16:17 +0000 (17:16 -0700)]
Fix build when SPIRV-Tools is not present

This function does not require SPIRV-Tools, and is still used when it
is not present.

Components: Framework
VK-GL-CTS: 1293

Change-Id: I9ce49db2e6e55e8d379c713c9fe39d15fb7ecbd6

5 years agoInvalidate memory in draw tests
Alexander Galazin [Tue, 3 Oct 2017 19:29:50 +0000 (21:29 +0200)]
Invalidate memory in draw tests

The test group writes to non-coherent device memory with device,
but fails to call the required invalidate on the region before
reading mapped memory with host.

Components: Vulkan

VK-GL-CTS issue: 529

Affects: dEQP-VK.draw.*

Change-Id: Icf4aa6ea80c8c046e41b37402457b7f094d7ae50
(cherry picked from commit 1ce6e233a6245a1cf81a2a4e88b87c5d381a119a)

6 years agoRequest queue with sparse support only when needed
Alexander Galazin [Fri, 20 Jul 2018 09:12:17 +0000 (11:12 +0200)]
Request queue with sparse support only when needed

Commit a598fe87 added tests for sparse D/S/DS images and
at the same time turned many texture tests into NotSupported
on implementations what do not support sparse.

Components: Vulkan

Affects:
dEQP-VK.texture.compressed.*
dEQP-VK.glsl.texture_functions.texture.sparse*shadow*
dEQP-VK.glsl.texture_gather.*depth32f*sparse*
dEQP-VK.texture.shadow.*sparse*

VK-GL-CTS issue: 1277

Change-Id: I83392d4f1060efbe0b1eebb0dfa8c8d5306113db

6 years agoDon't fail DisplayPlaneProperties2 with no display
Liam Middlebrook [Mon, 9 Jul 2018 19:27:02 +0000 (12:27 -0700)]
Don't fail DisplayPlaneProperties2 with no display

Instead, we should mark this test as not supported. The Vulkan spec
states that:
    Devices must support at least one plane on each display

If there are no displays connected, the driver is allowed to return 0
planes.

VK-GL-CTS issue: 1271
Components: Vulkan

Change-Id: I097224fbdf3e25c921ac9b96d16954caab1bb895
Affects: dEQP-VK.wsi.display.get_display_plane_properties2

6 years agoFix 8bit uniform buffers arrays strides
Arkadiusz Sarwa [Wed, 11 Jul 2018 14:47:23 +0000 (16:47 +0200)]
Fix 8bit uniform buffers arrays strides

Affects:
dEQP-VK.spirv_assembly.instruction.*.8bit_storage.*

Components: Vulkan

VK-GL-CTS issue: 1269

Change-Id: I3f761efbe6a7e5edc66bc6846eaf90ac4453bd78

6 years agoMerge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Alexander Galazin [Fri, 13 Jul 2018 14:54:12 +0000 (16:54 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1

Change-Id: I92ddc3da6a7d67e926eb54beeaf1c190fcf7e87a

6 years agoFix memory allocation tests
Sai Kiran Korwar [Tue, 3 Jul 2018 08:58:52 +0000 (14:28 +0530)]
Fix memory allocation tests

Use deviceMemoryAllocationGranularity to determine if some number
of allocations of a particular size will succeed.
This is useful on when platform specific alignment restrictions are
present.

Components: Vulkan

Affects: dEQP-VK.memory.allocation.basic.size_*

VK-GL-CTS issue: 1259

Change-Id: Iac4f2e7842a826bebf7c641fad1950f6c3d48946

6 years agoAllow two images worth of alignment slop in protected heap
Chris Forbes [Mon, 11 Jun 2018 22:50:16 +0000 (15:50 -0700)]
Allow two images worth of alignment slop in protected heap

We previously backed off by one image worth, but it's not enough in some
cases.

Components: Vulkan
VK-GL-CTS: 1262
Bug: b/109757443
Test: dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create#min_image_count
Change-Id: I01b3a72986e9f35b4ec15a146e4dc576758c02ce
(cherry picked from Android commit 0fd6d1afa4d00ffd3da1d2d1898f32d4e879209d)