platform/upstream/VK-GL-CTS.git
6 years agoMemory binding tests not invaidating host memory before results check.
Stephen Gallimore [Tue, 12 Jun 2018 14:35:46 +0000 (15:35 +0100)]
Memory binding tests not invaidating host memory before results check.

Affected tests:
dEQP-VK.memory.binding.*.buffer_*

Components: Vulkan

VK-GL-CTS issue: 1214

Change-Id: Ib347401ee818a42487df001f3ba76247b157321c

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

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 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 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 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 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 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 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 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 agoVK_KHR_incremental_present: Trigger the fence off vkQueueSubmit
Jason Ekstrand [Fri, 6 Oct 2017 23:10:26 +0000 (16:10 -0700)]
VK_KHR_incremental_present: Trigger the fence off vkQueueSubmit

Previously, the tests were using AcquireNextImage to trigger the fence
and using it to guard the vkFreeCommandBuffers call.  However, the
acquire fence tells you when the PE is done with an image and when you
can start rendering to it.  This meant that the test was waiting for the
start of the previous frame's rendering not the end before deleting the
previous frame's command buffer.  This meant that the previous frame's
rendering could still be active on the GPU when the command buffer was
freed.  By triggering the fence off of the vkQueueSubmit, we wait for
the end of the previous frame's rendering before freeing its command
buffer.

VK-GL-CTS issue: 756

Component: Vulkan

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

Change-Id: I87b25eb2a25e4ae48c8c527d5d63c45d89a31a30
(cherry picked from commit db916576a76a17c02c14390fc5d5b3db1488d1d2)

7 years agoDrawUtil: Fix depthBounds check
Igor Ostrowski [Mon, 9 Oct 2017 14:41:31 +0000 (16:41 +0200)]
DrawUtil: Fix depthBounds check

Affects:
dEQP-VK.glsl.builtin_var.fragdepth*

Components: Vulkan

VK-GL-CTS issue: 758

Change-Id: I4da79b236921e64f11566fe386b144497249123b

7 years agoCorrect image usage flags for YCbCr copy tests
Jorg Wagner [Thu, 28 Sep 2017 11:59:51 +0000 (13:59 +0200)]
Correct image usage flags for YCbCr copy tests

The images are used as copy source and destination,
hence TRANSFER_SRC | TRANSFER_DST must be present
in the usage flags.

Images are not sampled from - remove SAMPLED flag.

Affects:
dEQP-VK.ycbcr.copy.*

Components: Vulkan

VK-GL-CTS issue: 715

Change-Id: Ie53d3e2fb18aa834af12938cd822aa6c50f75986
(cherry picked from commit f2a5b768c81760bef727f1d72741e74274968518)

7 years agoSerialize region copies for YCbCr copy tests
Panagiotis Apostolou [Thu, 7 Sep 2017 11:54:51 +0000 (13:54 +0200)]
Serialize region copies for YCbCr copy tests

As the generated regions can overlap - force all calls
of vkCmdCopyImage() to be executed sequentially by adding
a pipeline barrier between each call to avoid producing
undefined results.

Affects:
dEQP-VK.ycbcr.copy.*

Components: Vulkan

VK-GL-CTS issue: 716

Change-Id: Ifed67cdc077a8c03630b36f8aa59bd6dae0578a3
(cherry picked from commit 9fe7d4753721d10235cbf38194cf7c8cf2eb7d19)

7 years agoRemove YCbCr from the instance extensions
Alexander Galazin [Wed, 27 Sep 2017 12:13:30 +0000 (14:13 +0200)]
Remove YCbCr from the instance extensions

VK_KHR_sampler_ycbcr_conversion is a device extension.
It must not be listed as an allowed instance extension.

Components: Vulkan

VK-GL-CTS issue: 698

Affects:
dEQP-VK.api.info.instance.extensions

Change-Id: I1ee1448535df75016a0214ebfe800a476daf32c4

7 years agoTypo fix in YCbCr conversion tests
Peter Gal [Fri, 15 Sep 2017 16:39:08 +0000 (18:39 +0200)]
Typo fix in YCbCr conversion tests

During YCbCr conversion tests the Disjoint
information ws incorrectly recorded into the
log file.

Change-Id: I63c5d5fc326fd52019f4e167c6632132cbc4668c
Components: Vulkan
(cherry picked from commit 37a196f757a516af2d75f4653153d1e5df8809db)

7 years agoRemove merge conflicts artefacts
Alexander Galazin [Tue, 19 Sep 2017 15:24:50 +0000 (10:24 -0500)]
Remove merge conflicts artefacts

vulkan.h.in has some merge conflicts artefacts.
This change removes them.

Components: Vulkan

VK-GL-CTS issue: 699

Change-Id: Ic9a72583f1d082e69a26a67e7e1306040cac0453

7 years agoFix bug when setting descriptor set layouts
Samuel Iglesias Gonsálvez [Mon, 4 Sep 2017 07:16:30 +0000 (09:16 +0200)]
Fix bug when setting descriptor set layouts

Affects:

dEQP-VK.glsl.builtin_var.fragdepth.*
dEQP-VK.glsl.builtin_var.fragcoord_msaa.*

Fixes crashes added by 595b5f763a8f6ef1c68bfd133a55ded9c25ac101 (CL#1017).

Components: Vulkan
VK-GL-CTS issue: 659

Change-Id: I1464ff6b213f38a2ade08f1e9b11dad422ee3f21
(cherry picked from commit 153979d342b54aa04cb2038e158ff3e3c742d8b8)

7 years agoCheck for depthBounds support in shader builtin frag depth tests
Tony Wasserka [Tue, 12 Sep 2017 11:03:13 +0000 (12:03 +0100)]
Check for depthBounds support in shader builtin frag depth tests

Depth bounds testing was enabled without checking for feature support
in a couple of tests. With this change, tests that don't need this
feature leave it disabled, whereas other tests (currently only
dEQP-VK.glsl.builtin_var.fragdepth.*) now throw NotSupported when
the device doesn't support it.

Affects:

dEQP-VK.clipping.*
dEQP-VK.glsl.builtin_var.*

Components: Vulkan

VK-GL-CTS issue: 685

Change-Id: I44d94142e295ff135ad1a55d0d6e212b65994257

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Alexander Galazin [Fri, 8 Sep 2017 07:13:24 +0000 (09:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: Ied1a7d639c56dbdffd3db89085b4b771741e43f7

7 years agoChange required sample counts for storage images
Graeme Leese [Wed, 30 Aug 2017 15:37:14 +0000 (16:37 +0100)]
Change required sample counts for storage images

Update the API feature info tests to set requiredSampleCounts to 1 for
all images that are not usable as some type of framebuffer attachment.
Previously images that were not usable as attachments but could be used
as a storage image were incorrectly exempted from the requirement.

Components: Vulkan
VK-GL-CTS Issue: 645
Affects: dEQP-VK.api.info.image_format_properties.*

Change-Id: Ia0d09ad0ff51029b75cd3a264860a3dd63c249fb

7 years agoFix VK_KHR_maintenance2 extended_usage_bit tests
Boris Zanin [Thu, 7 Sep 2017 07:19:08 +0000 (09:19 +0200)]
Fix VK_KHR_maintenance2 extended_usage_bit tests

Due to test runs over uncompressed formats it cannot include
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR bit.
Remove this bit from the tests.

Update tests:
 * dEQP-VK.image.extended_usage_bit.*

Components: Vulkan

VK-GL-CTS issue: 673, 614

Change-Id: I0adb26c5306a9d5f49936ffef070050fd5936faa

7 years agoFixup some missing/incorrect flushes and invalidates
Gary Sweet [Mon, 4 Sep 2017 10:14:58 +0000 (11:14 +0100)]
Fixup some missing/incorrect flushes and invalidates

Some of the flushes were too small, and there were a few
missing invalidates.

Affects:
dEQP-VK.ssbo.layout.*
dEQP-VK.pipeline.push_constant.compute_pipeline.simple_test

Components: Vulkan

VK-GL-CTS issue: 660

Change-Id: I27fac24397984f82865683f30b823570c3e52aed

7 years agoUse SRC image layout for copy image to buffer
Slawomir Cygan [Wed, 6 Sep 2017 14:47:04 +0000 (16:47 +0200)]
Use SRC image layout for copy image to buffer

The test was calling vkCmdCopyImageToBuffer with
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL layout, which is not a valid
parameter value for this function (and not the layout the image is currently in).

Affects: dEQP-VK.memory.binding.*.*.image_*

Components: Vulkan

VK-GL-CTS issue: 666

Change-Id: Ifb5a1bd8726535de02a0dc134f5ac76a2734a661

7 years agoDo not use ycbcr formats if ycbcr extension is not supported
Slawomir Cygan [Tue, 5 Sep 2017 14:39:12 +0000 (16:39 +0200)]
Do not use ycbcr formats if ycbcr extension is not supported

Spec says (on "vkGetPhysicalDeviceFormatProperties"):
"format must be a valid VkFormat value"

Formats from future or unsupported extensions do not
constitute a "valid VkFormat values".

Affects: dEQP-VK.memory.requirements.*.image.*

Components: Vulkan

VK-GL-CTS issue: 663

Change-Id: Ia284977b830d5fda14bcbd9d96010995d84014d5

7 years agoFixup some missing/incorrect flushes and invalidates
Gary Sweet [Mon, 4 Sep 2017 09:39:36 +0000 (10:39 +0100)]
Fixup some missing/incorrect flushes and invalidates

Some of the flushes were too small, and there were a few
missing invalidates.

Affects:
dEQP-VK.ssbo.layout.*
dEQP-VK.pipeline.push_constant.compute_pipeline.simple_test

Components: Vulkan

VK-GL-CTS issue: 660

Change-Id: Id29b59d127e004a028c04a1075db563d697140a1

7 years agoWhitelist new extensions for VK 1.0.2.6
Daniel Koch [Thu, 31 Aug 2017 13:48:53 +0000 (09:48 -0400)]
Whitelist new extensions for VK 1.0.2.6

VK-GL-CTS issue: 653
Component: Vulkan
Affects:
dEQP-VK.api.info.device.extensions

Change-Id: I7f5ef7511ce8312e67833e07c154cd6b9fea6041

7 years agoAdd tests for image copies between YCbCr formats
Mika Isojärvi [Tue, 15 Aug 2017 23:57:24 +0000 (16:57 -0700)]
Add tests for image copies between YCbCr formats

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

Change-Id: I3a7050ae5605c4397cd678e14438f851a7cf48ce
(cherry picked from commit f24269bdd0c4d3801c2118b153082f0b0223f55a)

7 years agoAdd tests for VK_KHR_sampler_ycbcr_conversion
Mika Isojärvi [Tue, 16 May 2017 21:17:49 +0000 (14:17 -0700)]
Add tests for VK_KHR_sampler_ycbcr_conversion

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

Change-Id: Id0810b196f0a148903922df3fc08f1c5db88f86e
(cherry picked from commit 595b5f763a8f6ef1c68bfd133a55ded9c25ac101)

7 years agoTest VK_KHR_dedicated_allocation mem requirement queries
Boris Zanin [Fri, 12 May 2017 08:11:01 +0000 (10:11 +0200)]
Test VK_KHR_dedicated_allocation mem requirement queries

Add tests:
 * dEQP-VK.memory.requirements.dedicated_allocation.buffer.*
 * dEQP-VK.memory.requirements.dedicated_allocation.image.*

Components: Vulkan

VK-GL-CTS issue: 391

Change-Id: I9510464987e33b395a5ac20c2fdb9129eefd91da
(cherry picked from commit 6c472cc5e98a1a73aeac019ce34cccac7f3fa30e)

7 years agoAdd tests for FragCoord interaction with multisampling
David Sodman [Fri, 24 Feb 2017 19:04:46 +0000 (11:04 -0800)]
Add tests for FragCoord interaction with multisampling

Components: Vulkan
VK-GL-CTS issue: 89

Test: fragcoord_msaa, frontface, fragdepth, clipping
Change-Id: Ibf342e63f224b88fe0b0cffde59b10b34afd1faf
(cherry picked from commit 69a7a0079a6cc06d556ecb5314f275d2fa01a60d)

7 years agoFix VS12 compilation error (typedef)
Maciej Jesionowski [Wed, 26 Jul 2017 13:53:13 +0000 (15:53 +0200)]
Fix VS12 compilation error (typedef)

Change-Id: Iebfece1455df2a49c79885d42f43817001a31b84
(cherry picked from commit 68c41978cf7a76391e898af7faaddea0598a3911)

7 years agoFix wrong transition in dEQP-VK.glsl.builtin_var.fragdepth
Slawomir Cygan [Wed, 5 Jul 2017 17:17:02 +0000 (19:17 +0200)]
Fix wrong transition in dEQP-VK.glsl.builtin_var.fragdepth

The test was using vkCmdClearDepthStencilImage to clear an
image, than used this image as a depth attachment in
redering performed by VulkanDrawContext utility.

However, this utility always starts the renderpass on depth
attachment from UNDEFINED layout. As no depth clear is done
in the renderpass, the depth attachment contents are undefined
(and initially cleared image contents may be corrupted).

The easiest fix here is to move the clear to LOAD_OP - as
is already done for color, leaving the UNDEFINED layout as is.

Affects: dEQP-VK.glsl.builtin_var.fragdepth*

Components: Vulkan
VK-GL-CTS issue: 559

Change-Id: Icef3289ba62f71bf1ed989f84085a4d9d3b7218a
(cherry picked from commit f3a36239082b721e1f5f6849afc70af65b42e3ed)

7 years agoAdd test for FragDepth shader built-in
David Sodman [Fri, 24 Feb 2017 18:41:59 +0000 (10:41 -0800)]
Add test for FragDepth shader built-in

Components: Vulkan

VK-GL-CTS issue: 93

Test: fragdepth, frontface, clipping
Change-Id: I531e39a58dd6b577108bff14b2206d7bf9d9cd4f
(cherry picked from commit 3aeb0c565fe64441466247fe381fc815209d46e4)

7 years agoExtend gl_FrontFacing tests
David Sodman [Tue, 6 Sep 2016 21:05:59 +0000 (14:05 -0700)]
Extend gl_FrontFacing tests

Update gl_FrontFacing tests to include more tests as well as to use the
vktDrawUtil utility class

Change-Id: If94fb552f5f9366c79ffa3fcac6f085611a23f65
(cherry picked from commit 417115b2676c3064a06385184573b6d7a0644f42)

7 years agoAdd ability to generate images with the reference renderer
David Sodman [Fri, 9 Sep 2016 02:58:35 +0000 (19:58 -0700)]
Add ability to generate images with the reference renderer

*Separate DrawContext into a DrawContext and DrawContextState to reflect
  graphics API's are split between state and action parts
* Add abstract DrawContext class

Test: Test clipping and synchronization primitives

Change-Id: I9f3945c6c3de169325fadea7bf70a9d5d7bfd932
(cherry picked from commit 11da53fb71eced942e89bac59407a5681dba3bb1)

7 years agoAdd Vulkan DrawContext utility class
David Sodman [Thu, 1 Sep 2016 17:40:21 +0000 (10:40 -0700)]
Add Vulkan DrawContext utility class

This is the first in a series of changes to move the DrawContext class
for more general use.

Test: run clipping tests on Vulkan
Affects: dEQP-VK.clipping.*

Change-Id: Ia9b8953d25c10ec2a6c227bf300637dcd62ea898
(cherry picked from commit 9a928cdc2014c830eb8cb43043746f8f2ea6969a)

7 years agoVK_KHR_maintenance2: View block-compressed add check shader_read_only_optimal
Arkadiusz Sarwa [Tue, 29 Aug 2017 14:40:58 +0000 (16:40 +0200)]
VK_KHR_maintenance2: View block-compressed add check shader_read_only_optimal

Affects:
* dEQP-VK.image.texel_view_compatible.compute.extended.image_load.*
* dEQP-VK.image.texel_view_compatible.compute.extended.texel_fetch.*
* dEQP-VK.image.texel_view_compatible.compute.extended.texture.*
* dEQP-VK.image.texel_view_compatible.compute.extended.image_store.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.attachment_read.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.attachment_write.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.texture_read.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.texture_write.*

Components: Vulkan

VK-GL-CTS issue: 124

Change-Id: Ida0c7b8085e7ca90c325ffb0477773e8b09bf564
(cherry picked from commit 62e68c3916ce22a76b44bec91e470abc42cd6e92)

7 years agoVK_KHR_maintenance2: extended_usage_bit tests
Boris Zanin [Tue, 8 Aug 2017 09:59:32 +0000 (11:59 +0200)]
VK_KHR_maintenance2: extended_usage_bit tests

Add tests:
 * dEQP-VK.image.extended_usage_bit.*

Components: Vulkan

VK-GL-CTS issue: 614

Change-Id: Ied6251e642746d5f37aa7b2fe3f262061f765f8f
(cherry picked from commit dcae428a67a0bccf2a6694075dd06115f0eb1db7)

7 years agoFix build errors with uint32_t vktImageMutableTests.cpp
Arkadiusz Sarwa [Tue, 29 Aug 2017 10:39:57 +0000 (12:39 +0200)]
Fix build errors with uint32_t vktImageMutableTests.cpp

Change-Id: I072fade98fd20b6a4a0389e9a63e790d36d6c0d0
Components: Vulkan
(cherry picked from commit 1afc0a15d483701f3319467f7a3f1d9b47692f66)

7 years agoVK_KHR_maintenance2: View block-compressed speedup
Boris Zanin [Thu, 24 Aug 2017 08:29:06 +0000 (10:29 +0200)]
VK_KHR_maintenance2: View block-compressed speedup

Do strict comparison first, if it fails use fuzzy.

Update tests:
* dEQP-VK.image.texel_view_compatible.compute.*

Components: Vulkan

VK-GL-CTS issue: 124

Change-Id: I1ad580d60638ba3fce83fc913819608d5d9a8812
(cherry picked from commit c9e2dea449429762592af0530b609cf80ab913ce)

7 years agoVK_KHR_maintenance2: View block-compressed formats extended tests
Arkadiusz Sarwa [Fri, 21 Jul 2017 14:35:33 +0000 (16:35 +0200)]
VK_KHR_maintenance2: View block-compressed formats extended tests

Add tests:
* dEQP-VK.image.texel_view_compatible.compute.extended.image_load.*
* dEQP-VK.image.texel_view_compatible.compute.extended.texel_fetch.*
* dEQP-VK.image.texel_view_compatible.compute.extended.texture.*
* dEQP-VK.image.texel_view_compatible.compute.extended.image_store.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.attachment_read.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.attachment_write.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.texture_read.*
* dEQP-VK.image.texel_view_compatible.graphic.extended.texture_write.*

Update tests:
* dEQP-VK.image.texel_view_compatible.compute.basic.*
* dEQP-VK.image.texel_view_compatible.graphic.basic.*

Components: Vulkan

VK-GL-CTS issue: 124

Change-Id: Ia51ece39a339617302ec4f2a48c9133a3f9423d4
(cherry picked from commit 90d87fdceed790f9542acb19c3da196951c4d2dc)

Fix build errors with makeViewport

Local makeViewport cannot be used in recently added tests
in vktImageMutableTests.

Fix: Remove local makeViewport and use one from vkTypeUtil.inl

Components: Vulkan

VK-GL-CTS issue: 124

Change-Id: I27c9c255d9e46a74a6528327339317ba74e5eb98
(cherry picked from commit 310b00cc9869e26e85e620b55b6ad3a7efeb8d90)

7 years agoFramework support for VK_KHR_sampler_ycbcr_conversion
Pyry Haulos [Mon, 12 Jun 2017 20:52:42 +0000 (13:52 -0700)]
Framework support for VK_KHR_sampler_ycbcr_conversion

Change-Id: I749b92c79766f933ea34bb183d3d34c102e023c2
(cherry picked from commit e5cf8de067694afde10873b6fdbd7907486e5611)

7 years agoAdd support for 10 and 12bit packed unorm formats
Mika Isojärvi [Thu, 4 May 2017 22:55:19 +0000 (15:55 -0700)]
Add support for 10 and 12bit packed unorm formats

10 and 12bit unsigned normalized values are packed into highers bits
of 16bit unsigned int.

Change-Id: I18a88547ba29003961bf0806a50cb17995c72f13
Components: Framework
(cherry picked from commit 07621ffcf0362606afeccf2c2deac35bc0f3668a)

7 years agoAdd tests for VK_KHR_image_format_list
Iago Toral Quiroga [Tue, 4 Jul 2017 08:59:45 +0000 (10:59 +0200)]
Add tests for VK_KHR_image_format_list

Components: Vulkan
VK-GL-CTS issue: 550

New tests:
dEQP-VK.image.mutable.*_format_list

Change-Id: Ic72304a65c76335c98764678e056f030fafba71f
(cherry picked from commit dcd00f2f316fae0b86e1b03a8cf22774ce312c1d)

7 years agoExpand tests for mutable images
Iago Toral Quiroga [Thu, 29 Jun 2017 05:37:41 +0000 (07:37 +0200)]
Expand tests for mutable images

Currently, only the image load/store tests use mutable images,
but these require the images's layout to be
VK_IMAGE_LAYOUT_GENERAL (requirement for image load/store) so they
don't provide coverage for the most interesting scenarios.

These tests add cases that mix combined image upload/download
methods that exercise various other image layouts and scenarios.
Specifically, it tests each of [copy, clear, draw, store] upload
methods with each of [copy, load, texture] download methods.

Components: Vulkan
VK-GL-CTS issue: 513

New Tests:
dEQP-VK.image.mutable.*

Change-Id: I01cd77ab250f9934e71f5c9997b850950c9bd552
(cherry picked from commit 16b30ca0f65fc9c6a1508d1f99ba1f6014f4e828)

7 years agoTests for VK_KHR_bind_memory2
Marcin Rogucki [Fri, 21 Jul 2017 11:44:23 +0000 (13:44 +0200)]
Tests for VK_KHR_bind_memory2

Regular and aliased bindings with suballocated and
dedicatedly allocated memory are exercised.

Added tests:
 * dEQP-VK.memory.binding.*

Components: Vulkan

VK-GL-CTS issue: 434

Change-Id: I853ca8b007a9b2f6340ed60cca1a5cb35887ec11
(cherry picked from commit a0aa054cbddcebe880d12836fae9a24ad4eade9f)

7 years agoVK_KHR_maintenance2: View block-compressed formats
Arkadiusz Sarwa [Fri, 9 Jun 2017 15:58:01 +0000 (17:58 +0200)]
VK_KHR_maintenance2: View block-compressed formats

Add tests:
 * dEQP-VK.image.texel_view_compatible.compute.image_load.*
 * dEQP-VK.image.texel_view_compatible.compute.texel_fetch.*
 * dEQP-VK.image.texel_view_compatible.compute.texture.*
 * dEQP-VK.image.texel_view_compatible.compute.image_store.*
 * dEQP-VK.image.texel_view_compatible.graphic.attachment_read.*
 * dEQP-VK.image.texel_view_compatible.graphic.attachment_write.*
 * dEQP-VK.image.texel_view_compatible.graphic.texture_read.*
 * dEQP-VK.image.texel_view_compatible.graphic.texture_write.*

Components: Vulkan

VK-GL-CTS issue: 124

Change-Id: I8f12778e764144198dab603dbef72257faed0503
(cherry picked from commit 52af60c002b457dbc09044dc2e88ccee9cb59555)

7 years agoVK_KHR_maintenance2: Point clipping
Boris Zanin [Mon, 10 Apr 2017 17:14:55 +0000 (19:14 +0200)]
VK_KHR_maintenance2: Point clipping

Updated tests:
 * dEQP-VK.clipping.clip_volume.clipped.large_points
 * dEQP-VK.rasterization.primitives.lines_wide
 * dEQP-VK.rasterization.primitives.line_strip_wide
 * dEQP-VK.rasterization.primitives_multisample_2_bit.lines_wide
 * dEQP-VK.rasterization.primitives_multisample_4_bit.lines_wide
 * dEQP-VK.rasterization.primitives_multisample_8_bit.lines_wide

Components: Vulkan

VK-GL-CTS issue: 126

Change-Id: Id0cecb96e8a448ec3eb09e2a25d6c82acd837057
(cherry picked from commit 14bfa832d795dca9057699e867d0273db95c7de4)

7 years agoVK_KHR_maintenance2: New depth and stencil layouts
Mika Isojärvi [Fri, 21 Apr 2017 22:33:54 +0000 (15:33 -0700)]
VK_KHR_maintenance2: New depth and stencil layouts

New Tests:
dEQP-VK.renderpass.formats.d24_unorm_s8_uint.*.*_depth_read_only
dEQP-VK.renderpass.formats.d24_unorm_s8_uint.*.*_stencil_read_only
dEQP-VK.renderpass.formats.d24_unorm_s8_uint.input.*.*_depth_read_only
dEQP-VK.renderpass.formats.d24_unorm_s8_uint.input.*.*_stencil_read_only

dEQP-VK.renderpass.formats.d32_sfloat_s8_uint.*.*_depth_read_only
dEQP-VK.renderpass.formats.d32_sfloat_s8_uint.*.*_stencil_read_only
dEQP-VK.renderpass.formats.d32_sfloat_s8_uint.input.*.*_depth_read_only
dEQP-VK.renderpass.formats.d32_sfloat_s8_uint.input.*.*_stencil_read_only

VK-GL-CTS issues: 339
Components: Vulkan

Change-Id: Ifac0a3a5fe861440424f85029dd25bad5755cd63
(cherry picked from commit 226ae75fa4fc85eaa46b1544dc8871fceeeb759c)

7 years agoVK_KHR_maintenance2: Tessellation domain origin
Pyry Haulos [Tue, 18 Apr 2017 21:49:12 +0000 (14:49 -0700)]
VK_KHR_maintenance2: Tessellation domain origin

This change extends existing dEQP-VK.tessellation.winding tests with
variants that supply tessellation domain origin when creating the
pipeline.

Existing tests in the group have been moved under "default_domain"
group.

VK-GL-CTS issue: 127
Components: Vulkan

Change-Id: Ib3ed3fd32dc66805d139db08a2c0546650d0de5f
(cherry picked from commit 333b51b00a943447c0eb921f04b2804af428dfc9)

7 years agoAdd yflip versions of tessellation winding order tests
Jason Ekstrand [Thu, 26 Jan 2017 22:27:48 +0000 (14:27 -0800)]
Add yflip versions of tessellation winding order tests

Changed: dEQP-VK.tessellation.winding.triangles_*

Components: Vulkan

Change-Id: I3e0abc8d25132e129cb2979b1fce985ca4a60dc4
(cherry picked from commit a9c1d0abb740baa5f368758f17142336baeb17f9)

7 years agoVK_KHR_maintenance2: Render pass input aspect specifiers
Mika Isojärvi [Thu, 13 Apr 2017 20:53:21 +0000 (13:53 -0700)]
VK_KHR_maintenance2: Render pass input aspect specifiers

VK-GL-CTS issues: 125
Components: Vulkan

Change-Id: I32a88f1d82560df4bc1b8f7cac483a074434ec86
(cherry picked from commit a1a041546262e8ad17fa62f40af8b293ebbb698a)

7 years agoAdd framework support for VK_KHR_maintenance2
Pyry Haulos [Thu, 8 Jun 2017 19:32:17 +0000 (12:32 -0700)]
Add framework support for VK_KHR_maintenance2

Components: Vulkan

VK-GL-CTS issue: 199

Change-Id: I9112fc0c44c6516e5e65d53535c9b0247f91e272
(cherry picked from commit 59b5bb0016f0f0bc6a2e3973016ae6f90655ac7c)

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Alexander Galazin [Thu, 31 Aug 2017 17:02:20 +0000 (19:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I5dfa06e462512838179803963ddd04094679aa4f

7 years agoMake create_buffer test use platform limits
Alex Walters [Thu, 17 Aug 2017 14:53:01 +0000 (15:53 +0100)]
Make create_buffer test use platform limits

The create_buffer tests use a maximum buffer size of half the heap size
as reported by vkGetPhysicalDeviceMemoryProperties. On systems where
device memory comes out of system memory, due to the memory in use in
the system the selected buffer size may be too large.

The heap size is checked against the platform limits, the min is taken
and that is used as the basis for calculating the buffer size to test

Affects:

dEQP-VK.api.buffer.createBuffer_*

Components: Vulkan

VK-GL-CTS issue: 362

Change-Id: I7a644e8e48b961dad0d19675e3d54add4b11d99c

7 years agodEQP-VK.geometry: use proper layout for sampling the image
Slawomir Cygan [Wed, 30 Aug 2017 13:36:27 +0000 (15:36 +0200)]
dEQP-VK.geometry: use proper layout for sampling the image

While 'GENERAL' layout is acceptable layout for sampling image, the barrier in
geometry\vktGeometryBasicGeometryShaderTests.cpp:235
transitions the image to `SHADER_READ_ONLY_OPTIMAL` layout.

Both layout must much, otherwise the behavior is undefined.

Affects:
dEQP-VK.geometry.basic.output_vary_by_texture_instancing
dEQP-VK.geometry.basic.output_vary_by_texture

Components: Vulkan

VK-GL-CTS issue: 648

Change-Id: I2b947a150173f0a060cfbf851d117ef91097c1d8

7 years agoFix flakiness in mailbox.display_timing
Ian Elliott [Wed, 16 Aug 2017 21:11:57 +0000 (15:11 -0600)]
Fix flakiness in mailbox.display_timing

The "vktWsiDisplayTimingTests.cpp" file was originally written just for
a present mode of VK_PRESENT_MODE_FIFO_KHR.  It has a case at image 80,
where it changes the desiredPresentTime to be 1 second earlier, and then
checks that later.  Such a check doesn't work with
VK_PRESENT_MODE_MAILBOX_KHR, which can throw off the timing of images
(because some images may not be presented).  This has resulted in the
test having random failures.  The "image 80 test" wasn't intended to
occur with MAILBOX, and so it's now being removed.

VK-GL-CTS issue: 622
Components: Vulkan
Affects: dEQP-VK.wsi.*.display_timing.mailbox.display_timing

Change-Id: I9fbd2254b4e6fc1c7bff077c8c0a5229a6d74800

7 years agoAdd more allowed 'dot' alternatives
Alexander Galazin [Thu, 17 Aug 2017 14:16:09 +0000 (16:16 +0200)]
Add more allowed 'dot' alternatives

Expanded dot may be re-associated in multiple ways.
Add all possible alternatives to prevent precision failures.

Components: Vulkan

VK-GL-CTS issue: 634

Affects:
dEQP-VK.glsl.builtin.precision.dot.*
dEQP-VK.glsl.builtin.precision.reflect.*

Change-Id: I7fecbfa1cde04eab95bb3d418972631727d6d6af

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Alexander Galazin [Fri, 11 Aug 2017 16:32:00 +0000 (18:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: Iae127509ee1d187291e37c0ee9da7d331b070646

7 years agoKeep buffer memory alive through BufferView creation
Gary Sweet [Wed, 26 Jul 2017 09:50:31 +0000 (10:50 +0100)]
Keep buffer memory alive through BufferView creation

The device memory used to create a buffer was going out
of scope and being freed too early. A buffer view was
subsequently made using the buffer. This is invalid.

This change extends the lifetime of the buffer memory to
match the buffer.

Affects:

dEQP-VK.api.buffer_view.create.*

Components: Vulkan

VK-GL-CTS issue: 574

Change-Id: I6605da750d6494587781285447a157ef12018459

7 years agoFix combined depth/stencil clear colors.
Dave Airlie [Thu, 27 Jul 2017 19:43:53 +0000 (05:43 +1000)]
Fix combined depth/stencil clear colors.

This test was clearing depth to 256.0, values > 1.0 are undefined.

This fixes the the combined depth/stencil clears to use valid values
for depth and stencil.

Affects:
dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.depth_stencil.*

VK-GL-CTS Issue: 591

Change-Id: I75fd7e2bf17a84f7a2730f36b4bcdc066af1177c

7 years agoFixed incorrect calculation of GCD
Oivind Boge [Thu, 10 Aug 2017 10:24:02 +0000 (12:24 +0200)]
Fixed incorrect calculation of GCD

The calculation of greatest common divisor was
implemented incorrect when first added.
The function was using the input parameter instead
of its local copy of the input, which is updated
for each iteration of the calculation.

Affects:

dEQP-VK.api.image_clearing.*

Components: Vulkan

VK-GL-CTS issue: 625

Change-Id: I6619e4a30d89148d2567a725dbd27161fcf29a47

7 years agoFix layout transition for WSI tests
Oivind Boge [Sat, 8 Jul 2017 12:09:12 +0000 (14:09 +0200)]
Fix layout transition for WSI tests

The initial layout of the renderpass can't be
COLOR_ATTACHMENT_OPTIMAL without any transition
happening upfront.

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

Components: Vulkan

VK-GL-CTS issue: 565

Change-Id: Ie62f7aee21c52145090bf228db7031c0e4afb347

7 years agoRespect sampleRateShading availability in interpolate tests
Gary Sweet [Thu, 27 Jul 2017 10:42:40 +0000 (11:42 +0100)]
Respect sampleRateShading availability in interpolate tests

Most of the tests in the dEQP-VK.pipeline.multisample_interpolation
group use one of the interpolatAt*() functions in their shaders.
These are only valid if sampleRateShading is available.

The multisampleStateInfo also blindly sets sampleShadingEnable
to true without checking.

Affects:

dEQP-VK.pipeline.multisample_interpolation.*

Components: Vulkan

VK-GL-CTS issue: 600

Change-Id: I95f91af9a7abb1e55ff2a3da0c0daefb819226f9

7 years agoFix regressions in synchronization tests for dedicated allocations
Slawomir Cygan [Mon, 31 Jul 2017 12:22:50 +0000 (14:22 +0200)]
Fix regressions in synchronization tests for dedicated allocations

Pass image memory requirements to allocation routine in allocateAndBindMemory.

VK_KHR_get_memory_requirements2 is a device extension (not instance).

Throw NotSupported when external handle requires dedicated allocation,
but 'suballocated' variant of test is being run.

Affects:
dEQP-VK.synchronization.cross_instance.*

Components: Vulkan

VK-GL-CTS issue: 604

Change-Id: I3636779459300f5dee2e22b0a2e04762eb7b0601

7 years agoRespect maximum workgroup count in SpvAsmInstructionTests
Gary Sweet [Tue, 8 Aug 2017 08:44:35 +0000 (09:44 +0100)]
Respect maximum workgroup count in SpvAsmInstructionTests

The createOpAtomic group was using a hard-coded 1000000
for numElements which is later used as the workgroup count.
The minimum mandatory workgroup count is 65535, far less
than the 1000000 being used.

Affects:

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

Components: Vulkan

VK-GL-CTS issue: 613

Change-Id: I523451d33dbb116e6ca2aaa00a948ec6782382b3

7 years agoSparse buffer test: allocate memory in one big chunk
Maciej Jesionowski [Wed, 26 Jul 2017 13:33:59 +0000 (15:33 +0200)]
Sparse buffer test: allocate memory in one big chunk

The test made excessive small memory allocations breaking the
maxMemoryAllocationCount limit.

Affects:

dEQP-VK.sparse_resources.buffer.transfer.sparse_binding.buffer_size_2_24

Components: Vulkan
VK-GL-CTS issue: 592

Change-Id: Ic7c1c07db2b805806e2c940d3fd4d96e12043aaf

7 years agoAllow VK_KHR_relaxed_block_layout extension
Daniel Koch [Wed, 26 Jul 2017 17:38:21 +0000 (13:38 -0400)]
Allow VK_KHR_relaxed_block_layout extension

VK-GL-CTS Issue: 596

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

Change-Id: I25395cbc76e2a4a176c74e9d46f16f3e105c4669
Component: Vulkan

7 years agoSparse buffer test: allocate memory in one big chunk
Maciej Jesionowski [Wed, 26 Jul 2017 13:33:59 +0000 (15:33 +0200)]
Sparse buffer test: allocate memory in one big chunk

The test made excessive small memory allocations breaking the
maxMemoryAllocationCount limit.

Affects:

dEQP-VK.sparse_resources.buffer.transfer.sparse_binding.buffer_size_2_24

Components: Vulkan
VK-GL-CTS issue: 592

Change-Id: Ic7c1c07db2b805806e2c940d3fd4d96e12043aaf

7 years agoAdd VK_KHR_relaxed_block_layout
Arkadiusz Sarwa [Wed, 15 Mar 2017 15:02:07 +0000 (16:02 +0100)]
Add VK_KHR_relaxed_block_layout

New tests:

dEQP-VK.ssbo.layout.multi_basic_types.*.relaxed_block*
dEQP-VK.ssbo.layout.random.relaxed.*

VK-GL-CTS issue: 117
Components: Vulkan

Change-Id: Ieda2aa291dcbff250b81e0da06c39781800f4af7
(cherry picked from commit 2a11db7c2e23afd4bef2f9a0eab84356d912ff3c)

7 years agoAdd GlslBuildOptions::FLAG_ALLOW_RELAXED_OFFSETS
Arkadiusz Sarwa [Tue, 9 May 2017 14:45:32 +0000 (16:45 +0200)]
Add GlslBuildOptions::FLAG_ALLOW_RELAXED_OFFSETS

Enabling the flag allows GLSL to use layout(offset = N) qualifiers that
follow VK_KHR_relaxed_block_layout rules instead of GLSL std140/std430
rules.

Components: Vulkan

Change-Id: I4f168b04ad0916b740891b603ddde2de0f4bcf50
(cherry picked from commit 4b82e12d3a7bf0947887e0b9d586d0ab63bd4888)

7 years agoSelect correct memory heap index for memory import
Tony Zlatinski [Wed, 19 Jul 2017 21:21:53 +0000 (16:21 -0500)]
Select correct memory heap index for memory import

When importing memory, the application (CTS) should follow
the spec rules about memory imports. I.e. The application must use the
same memory heap index for the import that has been used for the
exported memory. In addition, the application can't
import a buffer or image to a heap that does not support CPU mapping and
expect the memory to be CPU mappable/accessible.

This change modifies the export memory routines, now, returning the
index of the heap memory used for the export. Then the import routines are
modified to use those indexes for the memory import operations.

Components: Vulkan

Affects:
    dEQP-VK.api.external.memory.*
    dEQP-VK.synchronization.cross_instance.*

VK-GL-CTS issue: 585

Change-Id: I48ab85b7fd2b67655163f055fb03e8f2a3a42fd6

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Alexander Galazin [Fri, 21 Jul 2017 17:51:48 +0000 (19:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: Ifac39caba5598cbb75d5fb25d271ad0b709140a6

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1
Alexander Galazin [Fri, 21 Jul 2017 17:44:17 +0000 (19:44 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.0 into vk-gl-cts/vulkan-cts-1.0.1

Change-Id: If1266ef43a81d4d015c3f656315ea629acbbd55e

7 years agoMerge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2
Alexander Galazin [Fri, 21 Jul 2017 16:55:45 +0000 (18:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.1 into vk-gl-cts/vulkan-cts-1.0.2

Change-Id: I65f618365df474653f68d311647f601f91a38e4b

7 years agoFix layout transition in blitting tests
Igor Ostrowski [Tue, 4 Jul 2017 16:01:23 +0000 (18:01 +0200)]
Fix layout transition in blitting tests

Affects:
dEQP-VK.api.copy_and_blit.*.blit_image.*

Components: Vulkan
VK-GL-CTS issue: 571

Change-Id: I780374a8fbff336a7789bd6a745e635ac1202b62

7 years agoAdd metadata bindings in sparse tests
Igor Ostrowski [Wed, 12 Jul 2017 13:15:14 +0000 (15:15 +0200)]
Add metadata bindings in sparse tests

All metadata must be bound prior to device use of the sparse image

Affects:
dEQP-VK.sparse_resources.image_sparse_residency.*
dEQP-VK.sparse_resources.mipmap_sparse_residency.*
dEQP-VK.sparse_resources.shader_intrinsics.*

dEQP-VK.glsl.texture_functions.*sparse*
dEQP-VK.glsl.texture_gather.*sparse*

Components: Vulkan
VK-GL-CTS issue: 572

Change-Id: I4bbf2b74ed7fc0cea000084769cbed0dbe4a802e

7 years agoFix incorrect scale in pipeline_barrier tests
JarredDavies [Fri, 14 Jul 2017 14:55:46 +0000 (15:55 +0100)]
Fix incorrect scale in pipeline_barrier tests

The ImageBlitFromImage verfication code incorrectly scales the refrence image it creates.
The test should add 0.5 to the x and y coords before scaling them.

Affects:
dEQP-VK.memory.pipeline_barrier.*

Components: Vulkan

VK-GL-CTS issue: 577

Change-Id: I28d0b4deec0f1837c21cdc2dc68a9169ca8ae96b

7 years agocopies_and_blitting: fix ambiguous signed normalized 1.0 value
Slawomir Cygan [Thu, 6 Jul 2017 17:24:18 +0000 (19:24 +0200)]
copies_and_blitting: fix ambiguous signed normalized 1.0 value

Below tests copy floats to signed normalized 8-bit values.
In that process it happens that 1.0 float value is copied to 8_snorm
elements as: {0x00, 0x00, 0x80, 0x3f}

According to spec, on SNORM values:

"Note that while zero is exactly expressible in this representation,
one value (-128 in the example) is outside the representable range,
and must be clamped before use."

The problem occurs when 0x80 == 128 value is copied to buffer:
as it falls outside of <-1,1> range, it may be clamped to 0x81 (both values
represent -1.0 SNORM value).

The change here processes all result and expected data buffers to remove
all ambiguites by converting to float and back to signed normalized format.

Affects:
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.r32_sfloat.a8b8g8r8_snorm_pack32.*
dEQP-VK.api.copy_and_blit.*.image_to_image.all_formats.color.r32_sfloat.r8g8b8a8_snorm.*

Components: Vulkan

VK-GL-CTS issue: 563

Change-Id: I175665f39811cf6a80862967ad0a9bb8e13527e9

7 years agoRelax threshold in cube map filtering tests
Yanjun Zhang [Fri, 7 Jul 2017 20:45:59 +0000 (13:45 -0700)]
Relax threshold in cube map filtering tests

Use the same colorThreshold calculation as GLES CTS so Vulkan CTS
has the same behavior as GLES CTS.

Components: Vulkan

Affects:
dEQP-VK.pipeline.sampler.view_type.cube.format.r5g6b5_unorm_pack16.*

VK-GL-CTS issue: 561

Change-Id: I9bd632bb242f653b1f2d8bb50ee9867da926e95b

7 years agocross_instance sync: run without VK_KHR_get_memory_requirements2
Slawomir Cygan [Fri, 7 Jul 2017 14:41:30 +0000 (16:41 +0200)]
cross_instance sync: run without VK_KHR_get_memory_requirements2

This extension is used in the test, to check if resource needs dedicated
allocations (to be used created by dependent VK_KHR_dedicated_allocation
extension).

If the extension is not supported assume there is no need for dedicated
allocations.

Affects: dEQP-VK.synchronization.cross_instance.*

VK-GL-CTS issue: 548
Components: Vulkan

Change-Id: Icb4f5a34b98da213d0cb665bcc4e6b048d7b8a3c

7 years agoRefactor synchronization test code to avoid compiler warning
gkbldval [Fri, 14 Jul 2017 16:49:26 +0000 (18:49 +0200)]
Refactor synchronization test code to avoid compiler warning

vkt::synchronization::s_resources is unused in recently
added file, causing -Wunused warning (treated as error).

Affects: dEQP-VK.synchronization.*

Components: Vulkan

VK-GL-CTS issue: 578

Change-Id: Ifd8ce0812673e6b2da7c28bacb4384b3c80f65d1

7 years agoFix gcc 5.4 warnings
Alexander Galazin [Wed, 5 Jul 2017 15:09:38 +0000 (17:09 +0200)]
Fix gcc 5.4 warnings

gcc 5.4 (default in Ubuntu 16.04) reports conversion to int
warnings/errors for bitwise or and assign operator.

GCC bug: 40752

Components: Framework, Vulkan

Change-Id: Ia857c44cf54d5571d857e1fada0e2aaa8f4b950d
(cherry picked from commit 0bd8828618d95d2a83bc7475179a9227bfd22f5f)