platform/upstream/VK-GL-CTS.git
6 years agoRequest required 16bit storage features in UConvert/SConvert tests
Chris Forbes [Tue, 29 May 2018 19:26:19 +0000 (12:26 -0700)]
Request required 16bit storage features in UConvert/SConvert tests

These tests require specific features within the 16bit storage extension

Change-Id: I573b8ca69209ec36b3c249f5b9a638d4e7743209
Components: Vulkan
Bug: b/78779994
VK-GL-CTS: 1195
Affects: dEQP-VK.spirv_assembly.instruction.compute.*
(cherry picked from Android commit 20426c97899d621fba9bcbae9374ec5439beedd6)

6 years agoFix dependencies in vulkan pipeline test
Joan Bonet Orantos [Tue, 22 May 2018 08:09:05 +0000 (10:09 +0200)]
Fix dependencies in vulkan pipeline test

The srcStageMask field in the subpass dependency was not strict
enough. This can cause that the incoming subpasses, that try to copy
samples from this subpass, may try to read content that may not be
 written yet.

Affects:

dEQP-VK.pipeline.multisample.min_sample_shading.min_*

Components: Vulkan

VK-GL-CTS issue: 1185

Change-Id: Ide5e3d2a709e8fe26d23ada1d20bf2eb27beffd8

6 years agoLimit protected swapchain images based on memory
Jesse Hall [Wed, 16 May 2018 23:56:54 +0000 (16:56 -0700)]
Limit protected swapchain images based on memory

A surface's maxImageCount isn't based on the swapchain image extents
or format, so it's valid for swapchain creation to fail for
out-of-memory reasons even when the image count is within the
supported range.

This is particularly problematic for protected swapchains, since many
implementations have a limit on the total amount of protected memory
that can be allocated which is much smaller than total device memory.

This change estimates how much memory is used by protected swapchain
images, compares that to the size of heaps that support protected
memory types, and doesn't try to create swapchains that would have
more images than would fit within that size.

Components: Vulkan

VK-GL-CTS Issue: 1167

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

Change-Id: I6cc3bd25f7f22de8424f9e3375ade35fac26a884

6 years agoClear image layer 0 in memory commitment test
Graeme Leese [Thu, 26 Apr 2018 14:06:12 +0000 (15:06 +0100)]
Clear image layer 0 in memory commitment test

Components: Vulkan
Affected:   dEQP-VK.api.get_memory_commitment.memory_commitment
VK-GL-CTS issue: 1151

Change-Id: I95676f18f91470248ac19270778b897626a31f2c

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 11 May 2018 13:28:20 +0000 (15:28 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I06a95f88214707d9108a46f7374a5e8e0f9bdb59

6 years agoDo not fail plane tests when there is no display
Liam Middlebrook [Thu, 26 Apr 2018 21:43:25 +0000 (14:43 -0700)]
Do not fail plane tests when there is no display

Instead, we should mark these tests 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: 1138

Change-Id: Ie7ddc35f4f11fbfa54f8c31cc3864f52adb1bb7f
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities
Affects: dEQP-VK.wsi.display.create_display_plane_surface

6 years agoDo not fail display tests when there is no display
Damien Leone [Mon, 30 Oct 2017 23:15:25 +0000 (16:15 -0700)]
Do not fail display tests when there is no display

Instead, we should mark these tests as not supported. It is valid per the
Vulkan spec to have the extension report 0 displays connected.

Affects: dEQP-VK.wsi.display.*

Component: Vulkan

VK-GL-CTS issue: 1105

Change-Id: Iaae928a862dcc3827094d898a5455ecfe3920936

6 years agoDo not test CLEAR loadOp with read-only depth stencil image layouts
Slawomir Cygan [Tue, 24 Apr 2018 15:50:19 +0000 (17:50 +0200)]
Do not test CLEAR loadOp with read-only depth stencil image layouts

It is invalid to use implicit clears with depth stencil images, which first
render pass usage is in read only depth/stencil image layout

Spec:
"
For any member of pAttachments with a loadOp equal to VK_ATTACHMENT_LOAD_OP_CLEAR,
the first use of that attachment must not specify a layout equal to
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL.

For any member of pAttachments with a stencilLoadOp equal to VK_ATTACHMENT_LOAD_OP_CLEAR,
the first use of that attachment must not specify a layout equal to
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL."

Component: Vulkan

Affects:
dEQP-VK.renderpass.suballocation.formats.d*.clear.*_read_only

VK-GL-CTS Issue: 1144

Change-Id: Iad78473fe4bdf87dac5aff5bcc1c2b888e790cb8

6 years agoRemove 4K min size from dedicated image tests
Jarred Davies [Thu, 12 Apr 2018 12:57:14 +0000 (13:57 +0100)]
Remove 4K min size from dedicated image tests

The tests dEQP-VK.memory.mapping.dedicated_alloc.image.*
all create an image with a minimum size of 4Kx4K, so the
tests in this subgroup  test the exact same image size
regardless of what size the test itself is supposed to be
testing.

This change removes the 4Kx4K minimum to enable
the test to actually test multiple sizes of images.

Affect:

dEQP-VK.memory.mapping.dedicated_alloc.image.*

Components: Vulkan

VK-GL-CTS issue: 1118

Change-Id: I2ba9fa671f20eeb9bfa8b14972c903ac20875425

6 years agoMissing pipeline barriers from fragment variants of dEQP-VK.subgroups.*
Panagiotis Apostolou [Mon, 26 Mar 2018 11:21:26 +0000 (13:21 +0200)]
Missing pipeline barriers from fragment variants of dEQP-VK.subgroups.*

This commit adds a missing image pipeline barrier in the fragment variant
of the subgroups test group. After the end of the renderpass and before the
vkCmdCopyImageToBuffer, a pipeline barrier is required to delay the copy
command so that all the writes to the color attachment are complete.

Tests affected:
dEQP-VK.subgroups.*

Components: Vulkan

VK-GL-CTS issue: 1135

Change-Id: I82a5179f97cf4435f96dd378f123f37bc26bd082

6 years agoRequest GPDP2 extension if required in shared presentable image tests
Chris Forbes [Thu, 12 Apr 2018 15:54:00 +0000 (08:54 -0700)]
Request GPDP2 extension if required in shared presentable image tests

Change-Id: Ifa4b19c6046d4f0b95a5fc65443bcd1df051b6a5
Components: Vulkan
Affects: dEQP-VK.wsi.*.shared_presentable_image.*
VK-GL-CTS: 1078

6 years agoFix improper use of vkCmdWaitEvents
Peter Quayle [Wed, 28 Mar 2018 17:18:28 +0000 (18:18 +0100)]
Fix improper use of vkCmdWaitEvents

dEQP-VK.synchronization.smoke.events was calling vkCmdWaitEvents inside
a render-pass, which is not allowed if the event is later triggerd using
vkSetEvent. Additionally, the test was only waiting 1ns to determine if
a queue had made forward progress, which is too short to give the
implementation a chance to do any work.

Affects:

dEQP-VK.synchronization.smoke.events

Components: Vulkan

VK-GL-CTS issue: 1089

Change-Id: I6d9c9a635d82840f49fd3d9ed3736f91c4b6f88d

6 years agoFixed rounding issue in spirv_assembly tests
Dae Kim [Tue, 27 Mar 2018 09:54:23 +0000 (10:54 +0100)]
Fixed rounding issue in spirv_assembly tests

The test assumes that the host system and the device use the same
rounding mode. When this is not the case, the derived rounding errors
make the test fail unexpectedly. By rounding the input values down we
avoid differences in the test output caused by the rounding modes in
use.

Affects:

dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_infinite

Components: Vulkan

VK-GL-CTS issue: 1097

Change-Id: I3678e38cbe5c6d57cecef91e7398df0d04763851

6 years agoFetch new tags when fetching new Git sources
Caio Marcelo de Oliveira Filho [Mon, 12 Mar 2018 17:25:58 +0000 (10:25 -0700)]
Fetch new tags when fetching new Git sources

Change-Id: I1a906ebf2698eac33c3acbf1da74df9642b775a2
Component: Framework
(cherry picked from commit 204d597504c94fa52ed0f5a2c21895482236d5cc)

6 years agoUpdate glslang, SPIR-V commits
Alexander Galazin [Wed, 7 Mar 2018 15:45:21 +0000 (16:45 +0100)]
Update glslang, SPIR-V commits

Components: Framework

Affects: dEQP-VK.*

Change-Id: If5830108278597a28f8043dd947bed3c20c9688d

6 years agoAdd a note to the README
Alexander Galazin [Fri, 2 Mar 2018 11:17:24 +0000 (12:17 +0100)]
Add a note to the README

Explain that the verification scrpt will report a warning
for a correctly generated git-log

Components: Vulkan

Change-Id: Ie8e0ab090f50c776150f9a7f4ce7d69583186953

6 years agoValidation errors fix in copying 3d images
Marcin Rogucki [Thu, 18 Jan 2018 09:55:07 +0000 (10:55 +0100)]
Validation errors fix in copying 3d images

A minor chages to fix validation errors.
Two tests are not passing currently!

Affected tests:
dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_image.3d_images.*

Components: Vulkan

VK-GL-CTS issue: 208

Change-Id: Id3c5ec869d52db6b1229f45bbeacf24e35e75e48
(cherry picked from commit c23ba94d7978ba84f9ffd2e75b6afbf8e3395633)

6 years agoFix: Memory alignment
Arkadiusz Sarwa [Tue, 27 Feb 2018 11:38:31 +0000 (12:38 +0100)]
Fix: Memory alignment

Affects:
dEQP-VK.memory.mapping*

Components: Vulkan

VK-GL-CTS issue: 1039

Change-Id: Ia5093148fa145c9eecc03fe3b76102cdf77ad472

6 years agoSpec relaxation for protected YCbCr Implicit chroma reconstruction
Panagiotis Apostolou [Thu, 22 Feb 2018 15:28:54 +0000 (16:28 +0100)]
Spec relaxation for protected YCbCr Implicit chroma reconstruction

Incorporates spec relaxation in the protected memory YCbCr tests which
describes that when doing implicit reconstruction with nearest chroma
filtering, an implementation may behave as if both xChromaOffset and
yChromaOffset were VK_CHROMA_LOCATION_MIDPOINT.

Tests affected:
dEQP-VK.protected_memory.interaction.ycbcr.*

Components: Vulkan

VK-GL-CTS issue: 1032

Change-Id: I25ef589ed05b1b167475eb5b6d782b261b1b3532

6 years agoSet usable instance version in external memory tests
Slawomir Cygan [Wed, 28 Feb 2018 18:11:21 +0000 (19:11 +0100)]
Set usable instance version in external memory tests

These tests were using vkEnumerateInstanceVersion() to get
instance version. This failed, when Vulkan 1.1 Loader is used with
Vulkan 1.0 ICD: the function was returning version 1.1,
so test was not requesting any needed instance extensions, as these
were assumed to be already in core.

This is out of sync with dispatch code dispatching to
1.0 + KHR extension functions, when calling entrypoints like
vkGetPhysicalDeviceExternalBufferProperties(). As no KHR extensions
were requested during instance creation, the behavior is undefined.

The dispatch code is using context.getUsedApiVersion() utility
to guess Vulkan version, so same utility should be used for instance
creation, avoiding raw calls to vkEnumerateInstanceVersion().

Components: Vulkan

VK-GL-CTS Issue: 1047, 854

Affects:
dEQP-VK.api.external.memory.*
dEQP-VK.api.external.fence.*
dEQP-VK.api.external.semaphore.*

Change-Id: Iecf9bb086e04c6d88118fee9c4867ac5647d1ab7

6 years agoRemove vertex stage variants from dEQP-VK.protected_memory.interaction.ycbcr.*
Panagiotis Apostolou [Thu, 22 Feb 2018 15:04:24 +0000 (16:04 +0100)]
Remove vertex stage variants from dEQP-VK.protected_memory.interaction.ycbcr.*

"Except for framebuffer-space pipeline stages, compute shader stage, and
transfer stage, any read from or write to protected memory during protected
queue operations results in undefined behavior"

The existing dEQP-VK.protected_memory.interaction.ycbcr.* group include
tests that sample the protected texture from inside the vertex shader. This
commit removes these tests.

Tests affected:
dEQP-VK.protected_memory.interaction.ycbcr.*

Components: Vulkan

VK-GL-CTS issue: 1031

Change-Id: I459da0f3028e418c90285e55fb17ac1fda8d8467

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 1 Mar 2018 13:24:31 +0000 (14:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I8c2317b97955bbee922af624b91287071fbc7661

6 years agoAdded missing gl_PointSizes when drawing points
Dae Kim [Fri, 23 Feb 2018 08:39:12 +0000 (08:39 +0000)]
Added missing gl_PointSizes when drawing points

Some tests using point list primitive topology were not specifying point
sizes with the gl_PointSize built-in.

Affects:

dEQP-VK.subgroups.*
dEQP-VK.synchronization.*

Components: Vulkan

VK-GL-CTS issue: 1035

Change-Id: I8588e26ee47c58f6ec4e9ee5fdce70546ec28903

6 years agoDo not access temporary C++ object members by reference
Slawomir Cygan [Thu, 22 Feb 2018 17:55:01 +0000 (18:55 +0100)]
Do not access temporary C++ object members by reference

Fix undefined C++ behavior (resulting in errors when doing runtime memory checks),
where a temporary object returned by getInputAspects() method is used by a reference
to a member after the temporary is destructed.

It seems getInputAspects should just return reference.

Affects: dEQP-VK.renderpass.*.input*

Component: Vulkan

VK-GL-CTS Issue: 1033

Change-Id: I71edabed71ea63f46cdbc45c966d57cd020565ab

6 years agoEnsure sync_fd tests use valid file descriptors
Peter Quayle [Wed, 21 Feb 2018 15:34:55 +0000 (15:34 +0000)]
Ensure sync_fd tests use valid file descriptors

The external.*.sync_fd.* tests fail on some implementations
because vkGet*FdKHR may return -1 (meaning pre-signalled) instead
of a valid file descriptor.

Affects:

dEQP-VK.api.external.semaphore.sync_fd*
dEQP-VK.api.external.fence.sync_fd*

Components: Vulkan

VK-GL-CTS issue: 957

Change-Id: I91087db1595a19605956dad460caa344e850491e

6 years agoFix verification in robust buffer access tests
Dae Kim [Tue, 20 Feb 2018 13:37:39 +0000 (13:37 +0000)]
Fix verification in robust buffer access tests

Some buffer accesses to addresses less than 16 bytes away from the out
of bounds address where not considered potentially out of bounds, even
when there were out of bounds accesses in the same SPIR-V block.

Affects:

dEQP-VK.robustness.buffer_access.*:

Components: Vulkan

VK-GL-CTS issue: 1025

Change-Id: Ibcb61fb84cecc360d753ba5d3acc1f9d48169651

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 22 Feb 2018 11:45:50 +0000 (12:45 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I115b3e16d7282ef5f9abeb5bd382f744d891b5e3

6 years agoFix low memory in dedicated_alloc buffer tests
Tom Cooper [Mon, 12 Feb 2018 16:20:58 +0000 (16:20 +0000)]
Fix low memory in dedicated_alloc buffer tests

Observe platform memory limits to avoid low memory conditions.

Components: Vulkan

VK-GL-CTS issue: 1008

Affects: dEQP-VK.api.buffer.dedicated_alloc.create_buffer_*

Change-Id: Ib184b648126e8cb6e1acff533447a86be9a1a612

6 years agoUpdate glslang/spir-v headers tags
Alexander Galazin [Wed, 14 Feb 2018 09:17:22 +0000 (10:17 +0100)]
Update glslang/spir-v headers tags

Components: Framework

Affects: dEQP-VK.*

Change-Id: I1282fe5924abfb86fba7d32d3c67b94993a252fe

6 years agoDo not use depthClampEnable unconditionally.
Juan A. Suarez Romero [Fri, 10 Nov 2017 11:20:36 +0000 (11:20 +0000)]
Do not use depthClampEnable unconditionally.

Depth clamping is not needed by these tests, so
do not rely on the optional feature when creating
the pipeline object.

Affects:
dEQP-VK.spirv_assembly.*

Components: Vulkan

VK-GL-CTS issue: 846

Change-Id: I248759e6ac209ccbd7661068c3ef5f1dfb8ca501
(cherry picked from commit d33f62c935d51b4ecba0b6b97ea1baafe67ea3f4)

6 years agoYCbCr: go through the correct location ranges when sampling
Lionel Landwerlin [Fri, 9 Feb 2018 15:20:25 +0000 (15:20 +0000)]
YCbCr: go through the correct location ranges when sampling

Affects: dEQP-VK.ycbcr.conversion.*
Components: Vulkan
VK-GL-CTS issue: 1005

Change-Id: Ifac1026e82e1bb48195fc7ab5429951a15324042

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Mon, 5 Feb 2018 12:13:44 +0000 (13:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I36a59b8e50449e1788779380d6dc1dc4668b78fc

6 years agoPass in proper pWaitDstStageMask in vktWsiSharedPresentableImageTests
Vamsidhar Gaddam [Wed, 31 Jan 2018 10:23:48 +0000 (11:23 +0100)]
Pass in proper pWaitDstStageMask in vktWsiSharedPresentableImageTests

One of the submitInfos for a queue submit had
a semaphore passed in without passing in any stage mask. This is a
spec violation.

Affects:

dEQP-VK.wsi.android.shared_presentable_image.*

Components: Vulkan

VK-GL-CTS issue: 974

Change-Id: Iee2ea838e971a3610f44b8c1f765869a8a21fedb

6 years agoSpec relaxation for YCbCr Implicit chroma reconstruction
Panagiotis Apostolou [Wed, 17 Jan 2018 09:01:58 +0000 (10:01 +0100)]
Spec relaxation for YCbCr Implicit chroma reconstruction

Incorporates spec relaxation in the YCbCr tests which describes that when
doing implicit reconstruction with nearest chroma filtering, an
implementation may behave as if both xChromaOffset and yChromaOffset were
VK_CHROMA_LOCATION_MIDPOINT.

Tests affected:
dEQP-VK.ycbcr.conversion.*

Components: Vulkan

VK-GL-CTS issue: 979

Change-Id: I10e83d2f5845c3e74673aa9e42fc4f0950f9e6cd

6 years agoFix illegal memory access for robustness test
Noah Fredriks [Mon, 15 Jan 2018 21:09:55 +0000 (16:09 -0500)]
Fix illegal memory access for robustness test

Don't subtract 3 from buffer pointer for VK_FORMAT_A2B10G10R10_UNORM_PACK32
alpha channel because this format is a deUint32 instead of Vec4.

Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.*

Components: Vulkan

VK-GL-CTS issue: 946

Change-Id: I2a5241191e01252ce071658b8dbd79d3e424aa41

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 19 Jan 2018 09:08:43 +0000 (10:08 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I8db9696a5f7b9bafdf20e76afc8d1d42b96cfe1c

6 years agoCheck GS support before testing adjacent primitives
Yanjun Zhang [Wed, 10 Jan 2018 00:12:47 +0000 (16:12 -0800)]
Check GS support before testing adjacent primitives

Affects: dEQP-VK.draw.basic_draw.draw.*

Components: Vulkan

VK-GL-CTS issue: 926

Change-Id: I02569b1944eed52f641966f9206d44983d1ff165

6 years agoFix buffer usage flags for index and indirect buffers
Chris Forbes [Wed, 10 Jan 2018 02:13:15 +0000 (18:13 -0800)]
Fix buffer usage flags for index and indirect buffers

Previously, createAndUploadBuffer would provide
VK_BUFFER_USAGE_VERTEX_BUFFER_BIT for all buffers. This is no good for
index buffers and indirect buffers.

VK-GL-CTS: 930

Change-Id: I774beef7c7226f4fbd5670591eb66475300ee208
Components: Vulkan
Affects: dEQP-VK.draw.instanced.*

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 18 Jan 2018 09:51:31 +0000 (10:51 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I79e2e20649232a7ebd78088981f06ade6c5e6323

6 years agoAdd VK_ACCESS_SHADER_READ_BIT barrier access bit
Piers Daniell [Fri, 5 Jan 2018 21:04:29 +0000 (14:04 -0700)]
Add VK_ACCESS_SHADER_READ_BIT barrier access bit

The dEQP-VK.query_pool.statistics_query.compute_shader_invocations.secondary*
tests were missing a VK_ACCESS_SHADER_READ_BIT bit in the
pipeline barrier between compute dispatch calls. Each dispatch
was doing a read-modify-write of the same SSBO locations, but
the test only used the VK_ACCESS_SHADER_WRITE_BIT access bit.
This may cause the compute shader to read stale cache data
since the dependency between each dispatch was not expressed
correctly.

This fix simple adds the missing VK_ACCESS_SHADER_READ_BIT
access bit.

Affects:
dEQP-VK.query_pool.statistics_query.compute_shader_invocations.secondary*

Components: Vulkan

VK-GL-CTS issue: 927

Change-Id: I946d6113c897a03116db7a93a182e27497adfe6f

6 years agoSet maxDescriptorSet* limit table based on shader stages
Yanjun Zhang [Thu, 11 Jan 2018 19:44:54 +0000 (11:44 -0800)]
Set maxDescriptorSet* limit table based on shader stages

Re-submit the patch based on WG review and feedback.

Affects: dEQP-VK.api.info.device.properties

Components: Vulkan

VK-GL-CTS issue: 923

Change-Id: Ie627b52cfae099d87f5b6183118d42bcccd313ca

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 12 Jan 2018 14:03:32 +0000 (15:03 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I02ba5bcb0273934d93d91e2375f9d272c6c69904

6 years agoCheck sampleRateShading for sample_qualifier_distinct_values.* tests
Yanjun Zhang [Wed, 10 Jan 2018 00:26:50 +0000 (16:26 -0800)]
Check sampleRateShading for sample_qualifier_distinct_values.* tests

Affects: dEQP-VK.pipeline.*.sample_qualifier_distinct_values.*

Components: Vulkan

VK-GL-CTS issue: 925

Change-Id: Ife1166e8ed88699c67ee6acde79857f34c013398

6 years agoUse unique indices for each binding in out_of_pool_memory test
Chris Forbes [Tue, 9 Jan 2018 23:26:34 +0000 (15:26 -0800)]
Use unique indices for each binding in out_of_pool_memory test

Previously, all the layout bindings would use binding=0, which is
invalid. Give them their own binding indices.

VK-GL-CTS: 929

Change-Id: I28e62db6c257ed0843dd9b77b2d8cb01d02e3eba
Components: Vulkan
Affects: dEQP-VK.api.descriptor_pool.out_of_pool_memory

6 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 11 Jan 2018 12:40:39 +0000 (13:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I918575ed59c764d988fb98b718745605c5285b06

6 years agoBuild prebuilts for HLSL shaders
Chris Forbes [Wed, 10 Jan 2018 19:42:41 +0000 (11:42 -0800)]
Build prebuilts for HLSL shaders

Previously these prebuilts would be missing, causing all the HLSL tests
to fail when run via the Android CTS integration which relies on them.

VK-GL-CTS Issue: 939

Change-Id: Ib69f884818ea24692222cc74d8b69b0e0bcb465d
Components: Vulkan
Affects: dEQP-VK.*hlsl*

6 years agoSkip allocation subtests that allocate too much VA
Piers Daniell [Thu, 30 Nov 2017 21:40:00 +0000 (14:40 -0700)]
Skip allocation subtests that allocate too much VA

For 32-bit builds of CTS we can't allocate more host visible
memory than there is virtual address space for the process
since the allocation will fail and cause a false negative
result.

This CL skips over host visible allocations that would add
up to more than 1.5GB of virtual address space. This can
happen on platforms that expose very large heaps that
support memory types that include host visible memory.
The implementation can't cap the available memory size
since the heap can support allocations of memory other
than host visible and it doesn't want to restrict those
that don't consume CPU virtual address space. Its up
to CTS to limit how much virtual address space it
chooses to allocate.

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

Components: Vulkan

VK-GL-CTS issue: 859

Change-Id: I321f5cad567245571722f53397df26e23a4cee97

6 years agoFix for #895 - physical_device_groups testing
Marcin Rogucki [Wed, 13 Dec 2017 14:07:32 +0000 (15:07 +0100)]
Fix for #895 - physical_device_groups testing

For 1.1 version instances we do not require physical devices groups extension to be supported. Instead on 1.1 instances we just assume it's now a part of core implementation.

Components: Vulkan

VK-GL-CTS issue: 895

Affects: All tests using createInstanceWithExtension function

Change-Id: Ib11999498c28156e1e5d0c5e9025cb6ca4ba75a0

6 years agoRound up vertex buffer size to stride multiple to fix OOB attribute reads
Noah Fredriks [Fri, 3 Nov 2017 18:20:06 +0000 (14:20 -0400)]
Round up vertex buffer size to stride multiple to fix OOB attribute reads

Partial stride multiple vertex buffer elements are now considered OOB
to accomodate implementations that fetch stride-sized elements

Affects: dEQP-VK.texture.*

Components: Vulkan

VK-GL-CTS issue: 812

Change-Id: I72a2143146b4ea0d893d70d41b7ca2c84c34542a
(cherry picked from commit 50c0544ec8c2e99158bf8a375eacfc9baf364a91)

6 years agoVulkan test list without waivers
Alexander Galazin [Thu, 7 Dec 2017 11:27:21 +0000 (12:27 +0100)]
Vulkan test list without waivers

Adds new test list - vk-default-no-waivers.txt which is the same as
the regular mustpass (vk-default.txt) but without exclusions for
waivers.

Component: Vulkan

Change-Id: I7127255bf975ee02ede284a6217b82baa3af2414

6 years agoFixed tests issue where vertex shader was misssing gl_PointSize
Oivind Boge [Tue, 19 Dec 2017 10:06:16 +0000 (11:06 +0100)]
Fixed tests issue where vertex shader was misssing gl_PointSize

Affects:
dEQP-VK.protected_memory.ssbo.*

Components: Vulkan

VK-GL-CTS issue:: 915

Change-Id: Ia7cc2b9a6b1593ca15f585a9dc052cb2528f9ee3

7 years agoAlso set gl_PointSize in subgroup quad tests
Graeme Leese [Thu, 14 Dec 2017 13:53:45 +0000 (13:53 +0000)]
Also set gl_PointSize in subgroup quad tests

Affects: dEQP-VK.subgroups.quad.*vertex_framebuffer

Components: Vulkan

VK-GL-CTS issue: 872

Change-Id: Ie73fb744737e079d42792f6c974534e57ae006ef

7 years agoInvalid handle in create_display_plane_surface
Alex Walters [Wed, 13 Dec 2017 15:47:23 +0000 (15:47 +0000)]
Invalid handle in create_display_plane_surface

This test attempts to create a display plane surface but incorrectly
fills in the VkDisplaySurfaceCreateInfo with an index into dEQP's array
of display modes instead of the VkDisplayModeKHR handle itself.

The app is required to specify a valid handle.

An invalid handle results in undefined behaviour.

Affects:

dEQP-VK.wsi.display.create_display_plane_surface

Components: Vulkan
VK-GL-CTS issue: 906

Change-Id: I9fbbd40926e26bf82ed11dc1b5e807922cbc4e73

7 years agoFix Invalid VkImageSubresourceRange
Noah Fredriks [Thu, 14 Dec 2017 19:48:48 +0000 (14:48 -0500)]
Fix Invalid VkImageSubresourceRange

Pipeline image barrier was using the arraySize of the wrong image.

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

Components: Vulkan

VK-GL-CTS Issue: 910

Change-Id: I021bdd0ba5eff9e894f21186b3d85bb2f2c99f16

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 14 Dec 2017 10:52:40 +0000 (11:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I3b358114c4158d2130e68632d4e02d7246c6f9af

7 years agoFix for getPhysicalDeviceFeatures2 loader issue
Marcin Rogucki [Mon, 20 Nov 2017 15:44:51 +0000 (16:44 +0100)]
Fix for getPhysicalDeviceFeatures2 loader issue

For all instance methods taking VkPhysicalDevice
as a first parameter that were moved to core in
1.1 there is now a dynamic dispatch based on
physical device api version. If version is 1.1 or
above a core method is used. If version is lower
than that a counterpart extension method is used.

Additionally a pre-instance is created to enumerate
all physical devices and select lowest version to
be able to enable proper extensions set for final
instance.

Components: Vulkan

VK-GL-CTS issue: 854

Affects: All tests using getPhysicalDeviceFeatures2

Change-Id: Ia68a5cac23ae35566fcf99bc56c93c9cb77f33e0

7 years agoModify spirv_assembly tests adding dependency on 16bit_storage extension
Jeff Leger [Sat, 2 Dec 2017 02:16:28 +0000 (21:16 -0500)]
Modify spirv_assembly tests adding dependency on 16bit_storage extension

Several tests were using 16bit_storage, but were not checking the
extension was supported nor declaring the required opCapability.

Affects:
dEQP-VK.spirv_assembly.instruction.compute.sconvert.*
dEQP-VK.spirv_assembly.instruction.compute.uconvert.*

Components: Vulkan

VK-GL-CTS issue: 875

Change-Id: I07fda13c69cdef09967d4aab5067edff07c47fa1

7 years agoAvoid creating vkInstances for not supported cases
Noah Fredriks [Wed, 29 Nov 2017 23:27:52 +0000 (18:27 -0500)]
Avoid creating vkInstances for not supported cases

Defer vkInstance creation for cross instance tests until not supported
checks complete to shorten the runtime of these 10k total test cases.

Affects: dEQP-VK.synchronization.cross_instance.*

Components: Vulkan

VK-GL-CTS Issue: 885

Change-Id: I481de90d8c0363c23a287aaf457ac101c327c558

7 years agoFix mediump zero division in matrix inverse tests
Igor Ostrowski [Wed, 15 Nov 2017 17:33:51 +0000 (18:33 +0100)]
Fix mediump zero division in matrix inverse tests

To avoid zero division all input matrix determinants should be same signed.

Affects:
dEQP-VK.glsl.matrix.inverse.*

Components: Vulkan
VK-GL-CTS issue: 881

Change-Id: Ib702f81c4eb7f25ba9081db6ead67da02f484ca9

7 years agoRemove max expected query result in pipeline statistics tests
Maciej Jesionowski [Wed, 29 Nov 2017 13:07:42 +0000 (14:07 +0100)]
Remove max expected query result in pipeline statistics tests

Query result is implementation-defined and some internal rendering
operations may count towards the results of queries.

Affects: dEQP-VK.query_pool.statistics_query.*

Components: Vulkan

VK-GL-CTS issue: 876

Change-Id: I0c86e1101c1ae00049623bd49dfe0c4de5798832

7 years agoAdd missing gl_PointSize in subgroup test shaders when drawing points
Stu Smith [Thu, 30 Nov 2017 13:30:20 +0000 (13:30 +0000)]
Add missing gl_PointSize in subgroup test shaders when drawing points

Affects: dEQP-VK.subgroups.*vertex_framebuffer

Components: Vulkan

VK-GL-CTS issue: 872

Change-Id: Iddf8362024d3dd750e6f0b9d4c71e1adcdfa63ca

7 years agoReduce GPU workload of pipeline_barrier tests
Jeff Leger [Wed, 22 Nov 2017 17:12:58 +0000 (12:12 -0500)]
Reduce GPU workload of pipeline_barrier tests

Tests with large buffer sizes will now clamp the
GPU workload to avoid triggering execution timeout
on implementations.

Affects: dEQP-VK-memory.pipeline_barrier.*

Components: Vulkan

VK_GL_CTS issue: 813

Change-Id: I479f6ad04ef2ec6f9d87b65a39a2bc13bcbcc6a2

7 years agoUpdate glslang tag
Alexander Galazin [Wed, 22 Nov 2017 11:36:02 +0000 (12:36 +0100)]
Update glslang tag

Update glslang tag to vulkan-1.1-rc6

Affects: dEQP-VK.*

Change-Id: I5bfbf717e1f0be51802b33f2a7b658d395c72019

7 years agoFix regression from "Add contextSupports functions"
Slawomir Cygan [Thu, 23 Nov 2017 10:51:23 +0000 (11:51 +0100)]
Fix regression from "Add contextSupports functions"

Fixes contextSupports condition for missing VK1.1.

This regression was introduced in 39a3dba4.

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

Components: Vulkan

VK-GL-CTS issue: 860

Change-Id: I866c815b918af2860d888775179635011f757535
(cherry picked from commit 4f5fa8a6a62071624d9a2a703b9219abc301c72a)

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Thu, 30 Nov 2017 13:39:20 +0000 (14:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I9fbb4d01a6050ae79808e61649783ef698a1481d

7 years agoFix some CTS bugs that cause validation failures
Piers Daniell [Wed, 22 Nov 2017 20:23:12 +0000 (13:23 -0700)]
Fix some CTS bugs that cause validation failures

Most of these are misuse of the dstStageMask parameter to
vkCmdPipelineBarrier. The dstStageMask has to be compatible
with the destination access type of the buffer or image.

The other large source of validation errors is a bug
in the CTS framework when calling vkCreateDevice. The
wrong pNext member was used for setting the enabled
features. The effect is that all features were disabled.

Affects:

dEQP-VK.pipeline.push_constant.graphics_pipeline.*
dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.pattern.*
dEQP-VK.*

Components: Vulkan

VK-GL-CTS issue: 862

Change-Id: I58ca4e033d7d66b52c6726a635808b9b747546d8

7 years agoEnforce OOB requirements for binding with multiple attributes
Noah Fredriks [Thu, 9 Nov 2017 21:00:29 +0000 (16:00 -0500)]
Enforce OOB requirements for binding with multiple attributes

The spec states that, if any vertex input attribute using a specific
vertex input binding is out of bounds, then all vertex input attributes
using that vertex input binding for that vertex shader invocation are
considered out of bounds.

Affects: dEQP-VK.robustness.vertex_access.*.vertex_incomplete

Components: Vulkan

VK-GL-CTS issue: 848

Change-Id: I6a9222a0b2a53368af361419105793a5301a6bf6

7 years agoPipeline must be bound before calling vkCmdSetViewport/Scissor etc
Tom Cooper [Wed, 22 Nov 2017 15:57:37 +0000 (15:57 +0000)]
Pipeline must be bound before calling vkCmdSetViewport/Scissor etc

Affects:
dEQP-VK.dynamic_state.*

Components: Vulkan

VK-GL-CTS issue: 861

Change-Id: I0f5312c83096cebebfa4ab01987c2ab9ede7306b

7 years agoAdded constraints for random access flags
Jari Komppa [Tue, 14 Nov 2017 12:21:06 +0000 (14:21 +0200)]
Added constraints for random access flags

The pipeline barrier tests randomize access flags and stages, sometimes
resulting in access flags being enabled for stages that do not support
said accesses. This fix removes the illegal access flags while leaving
the random flag generation intact.

Affects:

dEQP-VK.memory.pipeline_barrier.*

Components: Vulkan

VK-GL-CTS issue: 814

Change-Id: I135ea8a9e41b5d8428ef77fe6ecbdf2380d80c7d

7 years agoFix regression from "Add contextSupports functions"
Slawomir Cygan [Fri, 17 Nov 2017 12:59:14 +0000 (13:59 +0100)]
Fix regression from "Add contextSupports functions"

Fixes contextSupports condition for missing VK1.1.

This regression was introduced in 39a3dba450.

Affects:
dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_infinite
dEQP-VK.spirv_assembly.instruction.compute.loop_control.dependency_length

Components: Vulkan

VK-GL-CTS issue: 727

Change-Id: I64c0b5fbd40f67ae6cfe314ac66ddc9d7f201dbb

7 years agoget_physical_device_properties2: add information print
Arkadiusz Sarwa [Thu, 19 Oct 2017 11:20:24 +0000 (13:20 +0200)]
get_physical_device_properties2: add information print

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

Components: Vulkan

VK-GL-CTS issue:: 777

Change-Id: Ib7462d63de521574f7fab018d7aed2d449a58dd3
(cherry picked from commit 45b164c54682c8e1d3de14d9ef425860adae4ec1)

7 years agoRound up vertex buffer size to stride multiple to fix OOB attribute reads
Noah Fredriks [Fri, 3 Nov 2017 18:20:06 +0000 (14:20 -0400)]
Round up vertex buffer size to stride multiple to fix OOB attribute reads

Partial stride multiple vertex buffer elements are now considered OOB
to accomodate implementations that fetch stride-sized elements

Affects: dEQP-VK.texture.*

Components: Vulkan

VK-GL-CTS issue: 812

Change-Id: I72a2143146b4ea0d893d70d41b7ca2c84c34542a

7 years agoAdd contextSupports functions
Arkadiusz Sarwa [Mon, 9 Oct 2017 15:13:48 +0000 (17:13 +0200)]
Add contextSupports functions

Components: Vulkan

VK-GL-CTS issue: 727

Change-Id: Ic2912106268402eb61c2a7aa4d487a2c3c7755e3

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Fri, 10 Nov 2017 10:24:18 +0000 (11:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: I38a420841bb08c1d2d993eee39c16046c7680c3f

7 years agoDo not use depthClampEnable unconditionally.
Jorg Wagner [Mon, 6 Nov 2017 13:56:49 +0000 (14:56 +0100)]
Do not use depthClampEnable unconditionally.

Depth clamping is not needed by this test, so
do not rely on the optional feature when creating
the pipeline object.

Affects:
dEQP-VK.api.smoke.*

Components: Vulkan

VK-GL-CTS issue: 817

Change-Id: I6794f7f5d17d7610ff43dcb4080a6a30e12ed95b

7 years agoFixed double type declarations and invalid OpUConvert usage.
Ari Suonpaa [Fri, 13 Oct 2017 11:59:43 +0000 (14:59 +0300)]
Fixed double type declarations and invalid OpUConvert usage.

Fixed access chain indexing test by removing double declarations
of the same integer type. Also replaced OpUConvert instruction
with OpCopyObject when the conversion would result into the
same bit width as the original.

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

VK-GL-CTS issue: 702

Change-Id: I91a9de22976b109ae988391d5cb7e4388bda4adf

7 years agoFix image layout transitions for peer Image
Vikram Kushwaha [Wed, 1 Nov 2017 23:02:57 +0000 (16:02 -0700)]
Fix image layout transitions for peer Image

When SFR/AFR copies are performed by peer device into
the primary device's render target, the image layout transitions are
also being performed by peer device.
This is only correct if GENERIC_SRC\GENERIC_DST feature flags
are supported.

VK-GL-CTS issue: 807

Change-Id: Ie3ffe6a68976ad644de12bd2c923cd0a34defe5f
Affects: dEQP-VK.device_group.*
Components: Vulkan

7 years agoFix subgroup tests error message
Graeme Leese [Thu, 2 Nov 2017 13:11:03 +0000 (13:11 +0000)]
Fix subgroup tests error message

Basic is a feature bit, not a shader stage, so use the correct string
getter.

Components: Vulkan
Affects: dEQP-VK.subgroups.basic.*

Change-Id: Ibb9b88cf1efcf4f6459b277cb4e4beaadeda01c9

7 years agoUpdate glslang tag
Alexander Galazin [Tue, 24 Oct 2017 08:06:06 +0000 (10:06 +0200)]
Update glslang tag

Update glslang tag to vulkan-1.1-rc4

Affects: dEQP-VK.*

Change-Id: Idd20ba8a7c3d58124062da119af5186acc08a4d2

7 years agoKHR_swapchain: Trigger the fence off vkQueueSubmit
Chris Forbes [Mon, 23 Oct 2017 22:13:38 +0000 (15:13 -0700)]
KHR_swapchain: Trigger the fence off vkQueueSubmit

Another instance of 438ea0888e8ccae.

VK-GL-CTS issue: 756

Component: Vulkan

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

Change-Id: I87da6800e0c8402c2c50ca88eb3360b31c3a515d

7 years agoGOOGLE_display_timing: Trigger the fence off vkQueueSubmit
Chris Forbes [Mon, 23 Oct 2017 22:09:56 +0000 (15:09 -0700)]
GOOGLE_display_timing: Trigger the fence off vkQueueSubmit

Another instance of 438ea0888e8ccae.

VK-GL-CTS issue: 756

Component: Vulkan

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

Change-Id: If94644402579ba1f46347d155313f6ef52d125a0

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Alexander Galazin [Tue, 31 Oct 2017 11:42:28 +0000 (12:42 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0

Change-Id: If71ec6d93e19e3dd2744f9c1375ec08553dec392

7 years agoAdd missing barrier to texel_view_compatible tests
Maciej Jesionowski [Mon, 23 Oct 2017 10:14:36 +0000 (12:14 +0200)]
Add missing barrier to texel_view_compatible tests

There was no GPU to Host barrier. GPU writes are not automatically
visible to the Host.

Affected tests: dEQP-VK.image.texel_view_compatible.compute.*
VK-GL-CTS issue: 786
Components: Vulkan

Change-Id: I47797add1c5e48dfa1a7c7be8897e822091c2044

7 years agoVK_KHR_variable_pointers: Don't use OpPtrAccessChain on a bare SSBO
Jason Ekstrand [Thu, 19 Oct 2017 16:07:52 +0000 (09:07 -0700)]
VK_KHR_variable_pointers: Don't use OpPtrAccessChain on a bare SSBO

You can't use OpPtrAccessChain on the direct result of an OpVariable
because it's not the element of any array.  Instead, we need to do our
OpPtrAccessChain on a pointer to an actual array element and that
pointer needs to be properly decorated with a stride.

Component: Vulkan

VK-GL-CTS issue: https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/686

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.multi_buffer_*

Change-Id: I9c45fb1320099e404672ee169a6a8e5c41eb13f7

7 years agoVK_KHR_variable_pointers: Delete an unused and invalid variable
Jason Ekstrand [Thu, 19 Oct 2017 15:43:36 +0000 (08:43 -0700)]
VK_KHR_variable_pointers: Delete an unused and invalid variable

The %float_var variable was not being used in any way by the test.  It
was also invalid because it had the StorageBuffer storage class (so it's
in external memory) but also had a constant initializer.  The real
variable being tested in these tests is %f32_ptr_var which has the
Function storage class so a constant initializer is fine.

Component: Vulkan

VK-GL-CTS issue: https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/686

Affects:
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.nullptr_graphics.opvariable_initialized_null_*
dEQP-VK.spirv_assembly.instruction.graphics.variable_pointers.nullptr_graphics.opselect_null_or_valid_ptr_*

Change-Id: I9e2f118b1c774a84c0b6900ef0db081cb5256c2f

7 years agoYCbCr image views need a VkSamplerYcbcrConversionInfo
Tom Cooper [Wed, 25 Oct 2017 06:26:39 +0000 (08:26 +0200)]
YCbCr image views need a VkSamplerYcbcrConversionInfo

Ensure the image views are created using the
VkSamplerYcbcrConversionInfo object via the pNext
chaining, as this is mandated by the Spec.

Affects:
dEQP-VK.ycbcr.query.*

Components: Vulkan

VK-GL-CTS issue: 788

Change-Id: If641b08432c26ca5b32c084c4c0b9c7f935bcb94

7 years agogl_PrimitiveIDIn tests have sketchy loop bounds.
Marcin Rogucki [Wed, 25 Oct 2017 11:33:44 +0000 (13:33 +0200)]
gl_PrimitiveIDIn tests have sketchy loop bounds.

Components: Vulkan

VK-GL-CTS issue: 778

Updates:
dEQP-VK.geometry.basic.primitive_id_in
dEQP-VK.geometry.basic.primitive_id_in_restarted

Change-Id: Icd2be56814de18067ce058a5f2a1da80338f80d6

7 years agoUpdate README for Vulkan multi-device platforms
Piers Daniell [Tue, 17 Oct 2017 20:11:55 +0000 (14:11 -0600)]
Update README for Vulkan multi-device platforms

Added some language to the Vulkan CTS README describing the
valid CTS log criteria for products that are multi-device
capable.

Change-Id: Ia5d39d5ab2c14b73bcad09531065b7dc5251c14b
Components: Vulkan

7 years agoAvoid hitting fp16 NaN values
Piers Daniell [Wed, 18 Oct 2017 17:01:13 +0000 (11:01 -0600)]
Avoid hitting fp16 NaN values

Modify the test references values to avoid situations where
they hit NaN values when viewed as fp16. This can happen
when uploading {0.1, 0.5, 0.9, 0.2} to r8g8b8a8_unorm which,
depending on the rounding of the 0.5, could end up as a 0x7F
value which when viewed as the MSB of a fp16 value is a NaN.

Affects:

dEQP-VK.image.mutable.*

Components: Vulkan

VK-GL-CTS Issue: 784

Change-Id: I2adbd27aa7d94254c9f19d788eacace2ea95d10c

7 years agoFix subgroups basic test
Arkadiusz Sarwa [Thu, 19 Oct 2017 12:08:13 +0000 (14:08 +0200)]
Fix subgroups basic test

Affects:
dEQP-VK.subgroups.basic.*_fragment_framebuffer

Components: Vulkan

VK-GL-CTS issue: 782

Change-Id: I54a125af75863e7dd56bf1c3785ee5e51be3d7b4

7 years agoAvoid watchdog timeout in Vulkan builtin precision tests
Chris Forbes [Mon, 16 Oct 2017 19:42:35 +0000 (12:42 -0700)]
Avoid watchdog timeout in Vulkan builtin precision tests

Calculating the reference intervals can take a substantial amount of
time. On some very slow targets, this can cause us to trip the watchdog
in the verification loop.

Same approach and limit as in modules/glshared/glsBuiltinPrecisionTests.cpp

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

Component: Vulkan

Bug: 67854695
Test: run on google devices
Change-Id: I492b656e7e2a9aa724bb3785bdf1416a4c22ec04

7 years agoUse env.apiVersion when creating instance for object management test group
Mais Alnasser [Sun, 15 Oct 2017 19:10:59 +0000 (15:10 -0400)]
Use env.apiVersion when creating instance for object management test group

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

Components: Vulkan

VK-GL-CTS issue: 773

Change-Id: Ie6673133bc4d0de352b054fa797e2455433423d2

7 years agoFix compile error caused by usage of unit32_t instead of deUint32
Mais Alnasser [Sun, 15 Oct 2017 15:16:15 +0000 (11:16 -0400)]
Fix compile error caused by usage of unit32_t instead of deUint32

Affects: Compilation

Components: Vulkan

VK-GL-CTS issue: 774

Change-Id: Ibc647d3714a818b61f99d1fc67903a24f59f8d6a

7 years agoDo not use SFR bindings when device group has 1 device
Vikram Kushwaha [Wed, 18 Oct 2017 19:55:03 +0000 (12:55 -0700)]
Do not use SFR bindings when device group has 1 device

As per the spec, when device group has 1 device:
sfrRects must not be specified
image create flag should not contain the BIND_SFR_BIT

Also use peer memory reads if VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT
is supported. This saves an additionaly copy in the test.

VK-GL-CTS issue: 779

Change-Id: Ic316fc8858886f99156dc1b9c0a0810b3f48e714
Affects: dEQP-VK.device_group.sfr*
Components: Vulkan

7 years agoIgnore the patch number when comparing apiVersions
Piers Daniell [Thu, 12 Oct 2017 18:09:00 +0000 (12:09 -0600)]
Ignore the patch number when comparing apiVersions

Modify the getSpirvVersionForAsm() and getSpirvVersionForGlsl()
functions to ignore the patch version number when checking
for Vulkan 1.0 vs Vulkan 1.1. It's often the case that the loader
or implementation will have a non-zero patch number to indicate
what version of the spec and vulkan header they built with.

Affects: startup

Components: Vulkan

VK-GL-CTS issue: 767

Change-Id: I947cb43db5e1f93e5b0b9cb93d205863b8e3c4b1

7 years agoDetect Core VK 1.1 device_group_creation support
Daniel Koch [Thu, 12 Oct 2017 05:25:39 +0000 (01:25 -0400)]
Detect Core VK 1.1 device_group_creation support

Check if the core version of VK_KHR_device_group_creation
is supported in addition to checking for the extension string.

VK-GL-CTS Issue: 766
Component: Vulkan
Affects: dEQP-VK.api.object_management.*device_group

Change-Id: I5d3ee7733293d27e9ae94cdc085b85ea144be445

7 years agoRemove OpUConvert to signed integer tests
Andrey Tuganov [Thu, 28 Sep 2017 21:18:51 +0000 (17:18 -0400)]
Remove OpUConvert to signed integer tests

OpUConvert only convers to unsigned integers.

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

VK-GL-CTS issue: 720

Change-Id: I68b13c8584d64359e52910091347de03b933ba42

7 years agoFix VK version selection in version_check.entry_points test
Slawomir Cygan [Wed, 11 Oct 2017 12:17:25 +0000 (14:17 +0200)]
Fix VK version selection in version_check.entry_points test

The test was validating only VK1.0 entrypoints due to wrong
version check.

Components: Vulkan
VK-GL-CTS Issue: 764
Affects: dEQP-VK.api.version_check.entry_points

Change-Id: Id555746f79d40c06cc8a95013608f9a1928847e2

7 years agoout_of_pool_memory test reports wrong error code
Marcin Rogucki [Wed, 11 Oct 2017 09:26:33 +0000 (11:26 +0200)]
out_of_pool_memory test reports wrong error code

While creating default device a device version was used to select
enabled extensions however this should be based on used API version
(a minimum of Vulkan version and device version). It is fixed now.

Component: Vulkan

VK-GL-CTS issue: 763

Affects: dEQP-VK.api.descriptor_pool.out_of_pool_memory

Change-Id: I879d296ab56c1e2118dca84845cce6abc0e75f92

7 years agodEQP-VK.ycbcr.* tests throw NotSupported incorrectly
Marcin Rogucki [Mon, 9 Oct 2017 13:56:44 +0000 (15:56 +0200)]
dEQP-VK.ycbcr.* tests throw NotSupported incorrectly

Generic way of checking samplerYcbcrConversion support
added to DefaultDevice and Context.
Used in dEQP-VK.ycbcr.* tests group in checkImageSupport() function.

Component: Vulkan

VK-GL-CTS issue: 755

Affects: dEQP-VK.ycbcr.*

Change-Id: I0774a476f7ed94351c00387bc2e75d9c09492970