Alexander Galazin [Mon, 28 Oct 2019 20:36:18 +0000 (21:36 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: I67e8f8fc2b64060fca9e5a8016cf7d5b53ec5477
Alexander Galazin [Mon, 28 Oct 2019 18:51:20 +0000 (19:51 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: I3fd2e50726e016645834052ba95fa761f84c5686
Piotr Byszewski [Mon, 28 Oct 2019 15:09:36 +0000 (16:09 +0100)]
Fix check in testMandatoryExtensions
Affects:
dEQP-VK.api.info.android.mandatory_extensions
Change-Id: Iec3b405cb168daa7dd7fc2183963778ef7d6eb0b
Components: Vulkan
Pawel Ksiezopolski [Mon, 28 Oct 2019 14:03:51 +0000 (15:03 +0100)]
Remove deprecated std::bind2nd() call
std::bind2nd() was deprecated in C++11 and removed in C++17.
Affects:
dEQP-VK.descriptor_indexing.*
Components: Vulkan
VK-GL-CTS issue: 2074
Change-Id: I408a39ce9f1632515e3ff6bcfb95966e19aa4b22
Boris Zanin [Mon, 30 Sep 2019 12:22:24 +0000 (14:22 +0200)]
Test multiple overlapping cube maps
Test cube map images containing multiple overlapping cube maps.
Add tests:
* dEQP-VK.image.misaligned_cube.*
Components: vulkan
VK-GL-CTS issue: 1889
Change-Id: I24eeba1eea1513e51cc3c4cd0b23d18e3ce8234d
Chris Forbes [Wed, 9 Oct 2019 23:27:01 +0000 (16:27 -0700)]
Special-case RenderbufferStorageMultisampleEXT in codegen
Android has additional tests for this ES extension, which we had
observed was shipping broken on various Android devices. Unfortunately,
the ES extension which introduces this function specifies very different
semantics from the same-named function in desktop GL. In desktop GL,
this function is also defined to alias the core
RenderbufferStorageMultisample, and is assigned the same GLX opcode.
We had previously tried to unalias the function in the registry, but
that proved unworkable due to the GLX opcode aliasing.
Instead, add a special case in the CTS code generation.
Change-Id: Id62394cae2b2f01e0a91fdc4d9d357b634a26cf1
Components: Framework
Alexander Galazin [Sun, 27 Oct 2019 18:28:49 +0000 (19:28 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: I21178b89019aad73d0b1862e10d5590361fcdcc8
Slawomir Cygan [Thu, 24 Oct 2019 15:45:28 +0000 (17:45 +0200)]
Add scissor matching renderArea to descriptor indexing tests
This fixes rendering outside of render area, what
is forbidden by spec.
This also fixes regression from
7b7ba4e0, where
looping the RenderPass caused workload execution time
to increase and trigger OS-specific device timeout.
Components: Vulkan
VK-GL-CTS Issue: 2069
Affects: dEQP-VK.descriptor_indexing.*
Change-Id: I40f665ff892d03004860583029eb393e09c1ae95
Alexander Galazin [Fri, 25 Oct 2019 19:01:47 +0000 (21:01 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: I563fc81549024a61aadc779285e8d4686c9c931a
Alexander Galazin [Fri, 25 Oct 2019 16:07:46 +0000 (18:07 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: I365220265de5dd5b239cca76b1ffcd0221404824
Alan Baker [Sun, 25 Aug 2019 18:32:09 +0000 (14:32 -0400)]
Remove 16-bit storage from float16 vector tests
Replace loads and stores of float16s with specialized function to
reinterpret as appropriate uints for vector extract dynamic, vector
insert dynamic and vector shuffle tests.
Component: Vulkan
VK-GL-CTS Issue: 1931
Affects:
dEQP-VK.spirv_assembly.instruction.*.float16.opvectorextractdynamic*
dEQP-VK.spirv_assembly.instruction.*.float16.opvectorinsertdynamic*
dEQP-VK.spirv_assembly.instruction.*.float16.opvectorshuffle*
Change-Id: I1757d2dc3dd8a45098b79ce519d26b351f298a00
Paul Thomson [Tue, 8 Oct 2019 15:24:24 +0000 (16:24 +0100)]
dEQP-VK.graphicsfuzz.loop-dead-if-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.loop-dead-if-loop
Change-Id: Ib621527105a57eabea346f7184d210ec8d66c5c1
Paul Thomson [Mon, 9 Sep 2019 16:13:49 +0000 (17:13 +0100)]
dEQP-VK.graphicsfuzz.complex-nested-loops-and-call
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.complex-nested-loops-and-call
Change-Id: Idc47ce81d4bc24c8c09b9b9a4b0ebff2f86aabcd
Venni Ihanakangas [Tue, 10 Sep 2019 07:22:56 +0000 (10:22 +0300)]
Add tests for formats with mandatory feature bits
Some formats were missing from color attachment and blend tests.
New tests:
dEQP-VK.pipeline.blend.format.a2b10g10r10_unorm_pack32.*
dEQP-VK.pipeline.blend.format.a1r5g5b5_unorm_pack16.*
dEQP-VK.pipeline.image.suballocation.sampling_type.*.format.a2b10g10r10_unorm_pack32.*
dEQP-VK.pipeline.render_to_image.*.a1r5g5b5_unorm_pack16*
dEQP-VK.pipeline.render_to_image.*.r5g6b5_unorm_pack16*
dEQP-VK.pipeline.render_to_image.*.a2b10g10r10_uint_pack32*
dEQP-VK.pipeline.render_to_image.*.a2b10g10r10_unorm_pack32*
Components: Vulkan
VK-GL-CTS issue: 1921
Change-Id: Id300e3946f4e8753d29b405cee36039884ba062b
Alastair Donaldson [Thu, 19 Sep 2019 11:31:41 +0000 (12:31 +0100)]
dEQP-VK.graphicsfuzz.discard-in-array-manipulating-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.discard-in-array-manipulating-loop
Change-Id: I40c19f241955caa3b2168218a400f766bb2d4a82
Venni Ihanakangas [Thu, 19 Sep 2019 13:19:36 +0000 (16:19 +0300)]
dEQP-VK.graphicsfuzz.two-for-loops-with-barrier-function
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.two-for-loops-with-barrier-function
Change-Id: Ie5de54846997779caac7db94f9eddf5be77404c0
Venni Ihanakangas [Wed, 25 Sep 2019 06:05:20 +0000 (09:05 +0300)]
dEQP-VK.graphicsfuzz.loops-breaks-returns
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.loops-breaks-returns
Change-Id: Ie6f3b52f4466245981e46bf6448959c5e4e2f140
Venni Ihanakangas [Thu, 26 Sep 2019 12:25:45 +0000 (15:25 +0300)]
dEQP-VK.graphicsfuzz.do-while-with-always-true-if
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.do-while-with-always-true-if
Change-Id: Ibb8f3aeac2ca2bb328ad406bbe4cea7c67aee065
Venni Ihanakangas [Wed, 2 Oct 2019 06:58:18 +0000 (09:58 +0300)]
dEQP-VK.graphicsfuzz.unreachable-discard-statement
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.unreachable-discard-statement
Change-Id: If693c48dbeee308c613c110bab93ed22c8282d8f
Venni Ihanakangas [Wed, 9 Oct 2019 06:24:38 +0000 (09:24 +0300)]
dEQP-VK.graphicsfuzz.two-nested-do-whiles
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.two-nested-do-whiles
Change-Id: Ib3c16de65acb79e1764b815edd8d016907635ae8
Venni Ihanakangas [Wed, 9 Oct 2019 06:51:49 +0000 (09:51 +0300)]
dEQP-VK.graphicsfuzz.return-before-writing-wrong-color
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.return-before-writing-wrong-color
Change-Id: Id37174663e6573c0c17c9b2141570cacff52bff9
Venni Ihanakangas [Mon, 14 Oct 2019 12:29:31 +0000 (15:29 +0300)]
dEQP-VK.graphicsfuzz.wrong-color-in-always-false-if
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.wrong-color-in-always-false-if
Change-Id: I157cca21c7083238826c5bf7837386d657c1f29d
Piotr Byszewski [Tue, 15 Oct 2019 15:12:54 +0000 (17:12 +0200)]
Improve image atomic tests
Image atomic tests were operating only on positive numbers which
potentially could hide issues related to min/max operations
on negative numbers. This change makes half of input data for
min/max negative and properly performs verification depending on
tested format (whether its signed format or unsigned).
Components: Vulkan
VK-GL-CTS issue: 1940
Affects:
dEQP-VK.image.atomic_operations.*
Change-Id: I8c6ad882cab330a1b1d17921fd2fca097e24721c
Ricardo Garcia [Fri, 11 Oct 2019 12:28:30 +0000 (14:28 +0200)]
Add OpFConvert precision tests
This commit adds tests to verify OpFConvert works as expected to convert
to and from 16, 32 and 64-bit wide floats in scalar and vector forms.
It does not use the existing precision tests framework due to the strict
precision requirements of OpFConvert, which require knowing the original
number exactly and are not suited for working with intervals.
New tests:
dEQP-VK.glsl.builtin.precision_fconvert.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1868
Change-Id: I4161dae9d9f2c494cc873d5d11b40286bdfb6466
Alexander Galazin [Fri, 25 Oct 2019 14:29:30 +0000 (16:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: Id21fae15bb0fad00a22e2d5798f958e6640804e2
Alexander Galazin [Fri, 25 Oct 2019 11:58:22 +0000 (13:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I58c329c990cacdb992c4c9be0b95cb65aa469a80
Graeme Leese [Tue, 1 Oct 2019 17:05:18 +0000 (18:05 +0100)]
Remove magic numbers from subgroupElect tests
Most of these tests use defined constants for the elected and unelected
values for the tess_e version of the tests mysteriously used hardcoded
values. Obviously any attempt to change the constants would have been
broken.
Also, only keep one copy of the loop over stages in the framebuffer
tests. Two was extravagant.
Components: OpenGL, Vulkan
Affects: KHR-Single-*.subgroups.basic.framebuffer.subgroupelect_tess_eval
Change-Id: I6f9c7e02d04c75c5dcfee290a21a85bb97124be6
Tomek Bury [Mon, 7 Oct 2019 11:37:48 +0000 (12:37 +0100)]
Fix EGL config incompatibility in negative_partial_update tests
Choosing 2 separate EGL configs, one for a window and a different one for
a pbuffer surface doesn't guarantee that those configs are compatible.
The dummyPbuffer surface may use different bit depths than the window
surface. This causes an unintended failure in eglMakeCurrent().
Choose a single EGL config suitable for both: the window and the pbuffer,
if both are being used.
Components: EGL
VK-GL-CTS issue: 2037
Affects: dEQP-EGL.functional.negative_partial_update.*
Change-Id: I676f760cbe2df3c906c376304efefa3170760438
Signed-off-by: Tomek Bury <tomek.bury@broadcom.com>
Alexander Galazin [Fri, 18 Oct 2019 08:36:23 +0000 (10:36 +0200)]
Remove use of ANDROID_NDK_HOST_OS
The CMake variable is not needed after removal of the NDK r11 cmake files
Component: Framework
VK-GL-CTS issue: 2056
Change-Id: I6993d48e098dc567c7fc9edcfc13d0f39e6f04ad
Piers Daniell [Thu, 26 Sep 2019 21:42:31 +0000 (15:42 -0600)]
Use the new VK_LAYER_KHRONOS_validation layer
In more recent SDKs the VK_LAYER_LUNARG_standard_validation
meta layer has been replaced by the VK_LAYER_KHRONOS_validation
layer.
The latest SDK documentation about this can be found here:
https://vulkan.lunarg.com/doc/sdk/1.1.121.2/windows/validation_layers.html
It also notes that a bunch of the other individual validation layers
have also been deprecated. I've commented this fact in CTS, but
have not removed them because CTS might be used with older SDKs.
Affects all CTS with --deqp-validation=enable:
dEQP-VK.*
Components: Framework, Vulkan
VK-GL-CTS issue: -1
Change-Id: I6925f7dc55f10d7a00d1089effe491b9caebe909
Ricardo Garcia [Wed, 18 Sep 2019 13:53:19 +0000 (15:53 +0200)]
Fix time calibration tests so they use all host time domains
When using std::set_intersection to check which time domains are
available, the input sets are not guaranteed to be sorted. This makes
the code skip some host time domains under Linux-like systems, which may
have more than one host time domain available.
Affected tests:
dEQP-VK.pipeline.timestamp.calibrated.*
Components: Vulkan
VK-GL-CTS issue: 2010
Change-Id: Iea9f0e375d675f9a63671165a78218ca04c6cde9
Piotr Byszewski [Tue, 15 Oct 2019 09:06:51 +0000 (11:06 +0200)]
Check available functionality with context method
This change adds Context::isDeviceFunctionalitySupported and
Context::isInstanceFunctionalitySupported methods that replace
isDeviceExtensionSupported/isInstanceExtensionSupported.
Components: Framework
VK-GL-CTS issue: 2005
Affects:
dEQP-VK.*
Change-Id: If796fc31fe6e769495cdf1ccefa4ae8192caf2b5
Ari Suonpaa [Wed, 23 Oct 2019 04:45:27 +0000 (07:45 +0300)]
Update Amber
Updated Amber to get support for new image comparison features.
Components: Framework
Change-Id: I9b750912dd0324395a5b8c43f6317f341121e9e9
Ricardo Garcia [Wed, 23 Oct 2019 16:11:52 +0000 (18:11 +0200)]
Remove NaNs from double compare tests
Affected tests:
dEQP-VK.spirv_assembly.instruction.*.64bit_compare.double.*
Components: Vulkan
VK-GL-CTS issue: 2066
Change-Id: I8d735bbffe2db5d2c8cfac5a616efd6010057408
Arkadiusz Sarwa [Wed, 23 Oct 2019 15:15:12 +0000 (17:15 +0200)]
Fix incorrect assumption for pipeline cache hit
The test incorrectly assumes that adding a pipeline creation flag bit
VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT to only one pipeline
still should cause a cache hit. Fixed the problem by adding the
VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT flag bit to both pipelines.
Affects:
dEQP-VK.pipeline.creation_feedback.compute_tests.compute_stage
Components: Vulkan
VK-GL-CTS issue: 2068
Change-Id: Idb963219a4e894eee6a0bb3b1fc20797d5b0323e
Alexander Galazin [Wed, 23 Oct 2019 10:40:52 +0000 (12:40 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: Id91cbdafbce603e6cd681035b8a535e3aaa294dd
Courtney Goeltzenleuchter [Tue, 13 Aug 2019 00:10:39 +0000 (18:10 -0600)]
Add tests for uploading depth/stencil
Components: Vulkan
Affects:
dEQP-VK.api.copy_and_blit.core.buffer_to_depthstencil.*
dEQP-VK.api.copy_and_blit.dedicated_allocation.buffer_to_depthstencil.*
VK-GL-CTS issue: 1888
Change-Id: Id2153ef90014175f5b52811c80a905164e491735
Alexander Galazin [Tue, 22 Oct 2019 16:59:45 +0000 (18:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: Ic9de3ec00dbd38b2106f1c497059e40d4d361297
Lionel Landwerlin [Wed, 16 Oct 2019 18:39:50 +0000 (21:39 +0300)]
Fix waitSemaphoreCount value in signal ordering tests
VK-GL-CTS Issue: 2059
Components: Vulkan
Affects: dEQP-VK.synchronization.signal_order.*timeline_semaphore.*
Change-Id: I25b86f1ae2b8e3650e061f9f2e345147c01419c6
Arkadiusz Sarwa [Thu, 17 Oct 2019 15:02:40 +0000 (17:02 +0200)]
Fix external memory import
Fix adds checking for flag
VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT
when external memory is being imported.
Affects:
dEQP-VK.synchronization.signal_order.*
Components: Vulkan
VK-GL-CTS issue: 2063
Change-Id: Iebc72ba0ed89ba3ca2b83a5b97d6b24ab7871edb
Matthew Netsch [Mon, 21 Oct 2019 15:58:29 +0000 (11:58 -0400)]
Fixes VS num instances assumption
Components: Vulkan
VK-GL-CTS Issue: 2022
Affects:
dEQP-VK.spirv_assembly.instruction.*
Change-Id: Ibb0a17d8843c03cd1cf15d2c5af1f547481e8452
Jeff Bolz [Fri, 18 Oct 2019 17:05:46 +0000 (12:05 -0500)]
Fix LAYOUT_UNDEFINED transitions in descriptor_indexing tests
Commit
7b7ba4e0 caused the UNDEFINED->COLOR layout transition to be applied four
times, corrupting 3/4 of the image. Change the tests to do the layout transition
once, right after the framebuffer is created.
VK-GL-CTS Issue: 2064
Components: Vulkan
Affects: dEQP-VK.descriptor_indexing.*
Change-Id: Ie599ba76ba75af6fee1f4163bd96ea2bd6e4c145
Ricardo Garcia [Fri, 18 Oct 2019 15:35:37 +0000 (17:35 +0200)]
Fix name shadowing warning in SurfaceCountersError
This is a simple warning fix that should not affect any test results,
related to the previous solution to the issue below.
Components: Vulkan
VK-GL-CTS issue: 1683
Change-Id: Ifa702330768f87e25d73f7489a306b4d4a1bbfb3
Alexander Galazin [Fri, 18 Oct 2019 15:07:42 +0000 (17:07 +0200)]
Fix build issues
Change-Id: I0b0da0af71d3d91e38eddf8e9c60be27b4d6ab11
Paul Thomson [Fri, 18 Oct 2019 15:51:21 +0000 (16:51 +0100)]
dEQP-VK.graphicsfuzz.switch-if-discard
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.switch-if-discard
Change-Id: I055c4d205c0a6ce66289a1249dd8a025d4e01aa6
Samuel Iglesias Gonsálvez [Thu, 26 Sep 2019 13:41:43 +0000 (15:41 +0200)]
Reduce number of created pipelines in compute subgroups tests
Some drivers are taking too much time to execute compute subgroups
tests, mostly because they need to build N times the same pipeline
where the only difference is the local size values passed via
specialization constants.
As there are drivers that don't take advantage of pipeline derivatives,
reducing the number of pipeline creations helps to reduce execution time.
Affected tests:
dEQP-VK.subgroups.*compute*
Components: Vulkan
VK-GL-CTS issue: 2019
Change-Id: Ie3ccbc53390bdba691c16d51c173b0a8a16119d9
Jari Komppa [Mon, 23 Sep 2019 12:35:11 +0000 (15:35 +0300)]
Added script to list changed tests
Added script which reads git log and lists changed tests since specified
version or date.
Affects: none
Change-Id: I64e6403ed9a3bd9531c01ddb0007139950e4dda0
Components: Framework
Samuel Iglesias Gonsálvez [Fri, 28 Jun 2019 07:20:39 +0000 (09:20 +0200)]
Add tests for VK_EXT_blend_operation_advanced
There at three types of tests:
* Ops: they check that all the defined operations work
for a different set of source and destination colors, iterating over
(non)premultiplied colors and uncorrelate/disjoint/conjoint alpha
values. The tests run on different number of color attachment as well.
* Independent: it checks that color attachments with different depth
operations do not affect the others.
* Coherent: it checks if (non)coherent blend operations work as
expected. It creates two pipelines with 2 different advanced blend ops,
first draw clears the pixel with a specified destination color and do
the blending; the second draw reuses the result of the first one as
destination color and do blending on top. In the case of noncoherent
blending, it adds a memory dependency between both advanced blend
operations.
Added tests:
dEQP-VK.pipeline.blend_operation_advanced.*
Components: Vulkan
VK-GL-CTS issue: 1673
Change-Id: I4417e6a22e0c2882849f8bf59233c266c60e45c6
Pawel Ksiezopolski [Wed, 24 Apr 2019 16:09:08 +0000 (18:09 +0200)]
Add tests for sparse images using YCbCr formats
Sparse image tests include YCbCr image formats including multiplanar
formats and a group of previously ommited non-YCbCr image formats.
Affects tests:
dEQP-VK.sparse_resources.image_sparse_binding.*
dEQP-VK.sparse_resources.device_group_image_sparse_binding.*
dEQP-VK.sparse_resources.aligned_mip_size.*
dEQP-VK.sparse_resources.image_block_shapes.*
dEQP-VK.sparse_resources.image_sparse_residency.*
dEQP-VK.sparse_resources.mipmap_sparse_residency.*
dEQP-VK.sparse_resources.image_sparse_memory_aliasing.*
dEQP-VK.sparse_resources.shader_intrinsics.*
dEQP-VK.ycbcr.*
New tests:
dEQP-VK.sparse_resources.image_sparse_binding.*
dEQP-VK.sparse_resources.device_group_image_sparse_binding.*
dEQP-VK.sparse_resources.aligned_mip_size.*
dEQP-VK.sparse_resources.image_block_shapes.*
dEQP-VK.sparse_resources.image_sparse_residency.*
dEQP-VK.sparse_resources.mipmap_sparse_residency.*
dEQP-VK.sparse_resources.image_sparse_memory_aliasing.*
dEQP-VK.sparse_resources.shader_intrinsics.*
dEQP-VK.ycbcr.storage_image_write.*
Components: Vulkan Framework
VK-GL-CTS issue: 1419
VK-GL-CTS issue: 1084
Change-Id: I3e335840efbbabc2fc320629f5a165becdbb4f26
Piotr Byszewski [Fri, 11 Oct 2019 09:43:19 +0000 (11:43 +0200)]
Handle LPCWSTR in framework
Components: Framework
VK-GL-CTS issue: 1703
Affects:
dEQP-VK.*
Change-Id: I2061de4eac657aa9453bc3143306d1670eb271aa
Graeme Leese [Wed, 9 Oct 2019 09:31:55 +0000 (10:31 +0100)]
Reenable checking for core ballot functions
All the subgroup ballot tests were mistakenly created as extension
tests, so none of them were testing the core functionality.
Components: Vulkan
Affect: dEQP-VK.subgroups.ballot.framebuffer.*
Change-Id: I2876ed3e04c831e90d7d605019cdcfd8ecb8e375
Graeme Leese [Mon, 30 Sep 2019 16:51:41 +0000 (17:51 +0100)]
Use buildOptions consistently
Backport the changes to buildOptions. This makes it easier to change the
build options for all the tests at the same time.
Components: Vulkan
Affects: dEQP-VK.subgroups.ballot_broadcast.*
Change-Id: Idf75d3fac002da85e800634078c11f1797ba4812
Alexander Galazin [Thu, 17 Oct 2019 19:15:25 +0000 (21:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: Iae396c7a296389d754c462f1047329a70d619a7a
Alexander Galazin [Thu, 17 Oct 2019 18:31:35 +0000 (20:31 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: Ib3cab2c6bc13dee32caf2403b9dc52492f660082
Alexander Galazin [Thu, 17 Oct 2019 17:58:35 +0000 (19:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I2aa94658d6c8b6543fd9c4899f7da481ba1120a1
Alexander Galazin [Thu, 17 Oct 2019 15:46:59 +0000 (17:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I0954d6799d7b0e4a527cd0fbbdcf61237ca7e9a7
Alan Baker [Sun, 25 Aug 2019 17:57:24 +0000 (13:57 -0400)]
Remove float16 derivatives tests
SPIR-V restricts derivatives to 32-floating point scalars and vectors
only.
Component: Vulkan
VK-GL-CTS Issue: 1931
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_*.*
Change-Id: Icc5341e697b797045080cc55428dbc2c02d71def
(cherry picked from commit
436d6dd5e7a0c0811bf1b6059542d1cdbccb9566)
Alan Baker [Sun, 25 Aug 2019 17:57:24 +0000 (13:57 -0400)]
Remove float16 derivatives tests
SPIR-V restricts derivatives to 32-floating point scalars and vectors
only.
Component: Vulkan
VK-GL-CTS Issue: 1931
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_*.*
Change-Id: Icc5341e697b797045080cc55428dbc2c02d71def
Alex Walters [Mon, 14 Oct 2019 16:32:12 +0000 (17:32 +0100)]
Make texture aniso basic self tests less sensitive
The tests cases first check with a fuzzy diff that the images are more
or less the same.
The second diff then checks with a standard image comparison + tolerance
that the images are not identical.
Some of IMG's implementations produce a closer image than the test is
currently expecting - we need to lower the tolerance from 0.05 to 0.02
in order for the diff algorithm to detect that the images are
different 'enough'.
Though there is no actual spec requirement, it is 'generally going to
be the case', for any implementation, that the images will have some
amount of difference. It is potentially useful to still have this test
inplace to check againsty aniso being accidently disabled in the tested
implementation, rather than remove it altogether.
Affects:
dEQP-VK.texture.filtering_anisotropy.basic.*
Components: Vulkan
VK-GL-CTS Issue: 2047
Change-Id: Ia9148e12172ac1c4757f5007e57b3a2b3a3434eb
Matthew Netsch [Fri, 4 Oct 2019 18:57:40 +0000 (14:57 -0400)]
Relaxes line rasterization tolerances
Components: Framework
VK-GL-CTS Issue: 2033
Affects:
dEQP-VK.rasterization.*
Change-Id: Ib41552b1bb6d9aa2b25d0cbc6f02d51ce997f4e3
Alexander Galazin [Thu, 17 Oct 2019 15:11:04 +0000 (11:11 -0400)]
Revert "Fixes VS num instances assumption"
This reverts commit
bac8df251bb6103d7844bfeacbb29bf14011b7cb.
Change-Id: I60aa83d860b0b11ec7fc58fb97806635a1eebdca
Alejandro Piñeiro [Fri, 11 Oct 2019 09:40:16 +0000 (11:40 +0200)]
Remove tests that check non-zero values for reservedMustBeZero on all APIs
Although initially it was agreed to keep them for the APIs that still
include that field as reserved, and only remove them when the API
defines the field (baseInstance), in the end it was agreed to remove
it completely, as it is testing an undefined behaviour.
Components: OpenGL, OpenGL ES
VK-GL-CTS issue: 2029
Affects:
KHR-GL40.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL40.draw_indirect.misc-reservedMustBeZero-elements
KHR-GL41.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GL41.draw_indirect.misc-reservedMustBeZero-elements
KHR-GLES31.core.draw_indirect.misc-reservedMustBeZero-arrays
KHR-GLES31.core.draw_indirect.misc-reservedMustBeZero-elements
Change-Id: Iafe3e711107da818a392ebcdfe50379cf3790d17
Alexander Galazin [Thu, 17 Oct 2019 10:45:38 +0000 (06:45 -0400)]
Merge "Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master"
Alejandro Piñeiro [Wed, 25 Sep 2019 08:15:36 +0000 (10:15 +0200)]
Replace imageAtomicExchange with imageAtomicCompSwap in vertex shader
Recently the test was changed in order to replace a imageAtomicAdd for
a imageAtomicExchange, as the test can't assume that the vertex shader
will be executed exactly one per vertex shader (see VK-GL-CTS issue
1910).
But imageAtomicExchange is also problematic because in some
architecture/driver, specially tile-based, the test can't also assume
that all the vertex shader executions would finish before
rasterization starts (so fragment shader execution). So when using
imageAtomicExchange could happend that a vertex shader execution would
override the value that the fragment shader already started to update.
Due this two restrictions, this patch changes the atomic operation on
the vertex shader to imageAtomicCompSwap, that sets the value of the
image at the vertex shader only if it is the initial value (so
zero). That would prevent any possible execution when the
rasterization already started to override the value of such image.
This patch also adds a comment on the code explaining the situation,
to avoid any possible future change to a simpler atomic operation by
mistake.
Components: OpenGL ES
VK-GL-CTS issue: 1997
Affects:
KHR-GLES31.core.shader_image_load_store.advanced-allStages-oneImage
Change-Id: Icbc34662f33839a1ced9f728cee45a1198e4b495
Courtney Goeltzenleuchter [Wed, 11 Sep 2019 15:01:22 +0000 (09:01 -0600)]
Fix use of invalid HALF_FLOAT enum
GLES 2.0 supports GL_HALF_FLOAT_OES via the OES_texture_half_float
extension. When the enum GL_HALF_FLOAT was added in GLES 3.0,
unfortunately it did not use the same enum value as GL_HALF_FLOAT_OES.
Technically, GL_HALF_FLOAT is not supported on a GLES 2.0 implementation
even with OES_texture_half_float. Fix GLES 2.0 tests to always use
GL_HALF_FLOAT_OES to avoid the issue.
Affects:
KHR-GLES2.core.internalformat.texture2d.*_half_float_*
KHR-GLES3*.core.internalformat.texture2d.*_half_float_*
Components: OpenGL
VK-GL-CTS issue: 1923
Change-Id: I9b43091382341798a0d62b9a4ec09153e915dc5c
Alexander Galazin [Thu, 17 Oct 2019 08:58:26 +0000 (10:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: I2df30e7152844ece359dd9d4bfb90eca990a1bd8
Piers Daniell [Fri, 6 Sep 2019 18:27:31 +0000 (12:27 -0600)]
Generate a non-zero exit code on test failure
If there are any failed tests, or the test run was not
compelte, the process will now generate EXIT_FAILURE (1)
instead of EXIT_SUCCESS (0).
Affects:
dEQP-VK.*
Components: Framework
VK-GL-CTS issue: 1982
Change-Id: I061d9a3b6703e1f23c48ce8a31e943744f915c92
(cherry picked from commit
cfa72a70ef8371eab29da003dbb4d932adba189a)
Piers Daniell [Fri, 6 Sep 2019 18:27:31 +0000 (12:27 -0600)]
Generate a non-zero exit code on test failure
If there are any failed tests, or the test run was not
compelte, the process will now generate EXIT_FAILURE (1)
instead of EXIT_SUCCESS (0).
Affects:
dEQP-VK.*
Components: Framework
VK-GL-CTS issue: 1982
Change-Id: I061d9a3b6703e1f23c48ce8a31e943744f915c92
Venni Ihanakangas [Wed, 18 Sep 2019 09:40:43 +0000 (12:40 +0300)]
dEQP-VK.graphicsfuzz.always-false-if-with-discard-return
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.always-false-if-with-discard-return
Change-Id: Ib49084f32085d7a620e305637a8e75e062d7ad83
Jari Komppa [Wed, 18 Sep 2019 10:22:44 +0000 (13:22 +0300)]
Postpone .amber file parsing
All .amber files were parsed during test indexing, so they were parsed
even if none of the tests were executed. This wasn't a big performance
hit yet, but we're likely to increase the use of amber.
Due to some chicken-and-egg issues part of the capability check was
moved to the start of iterate, but since that throws InternalError if
the check fails this shouldn't be a performance issue.
The tests themselves have not changed, just the order of when to parse
the file.
Affects: None
Components: Vulkan, Framework
VK-GL-CTS issue: 899
Change-Id: Iacdfd9a61d439e3f5dec952b2426386a2eb3451c
Ricardo Garcia [Thu, 19 Sep 2019 16:31:25 +0000 (18:31 +0200)]
Test VkCopyDescriptorSet with inline uniform blocks
Use VkCopyDescriptorSet to copy data between inline uniform blocks
during vkUpdateDescriptorSets if VK_EXT_inline_uniform_block is
supported by the implementation.
New tests:
dEQP-VK.binding_model.descriptor_copy.*.inline_uniform_block_*
dEQP-VK.binding_model.descriptor_copy.*.mix_3
dEQP-VK.binding_model.descriptor_copy.*.mix_array1
Components: Vulkan
VK-GL-CTS issue: 2012
Change-Id: I3898f5c2f236ef62a392409791a870633b572e12
Ricardo Garcia [Tue, 24 Sep 2019 15:45:37 +0000 (17:45 +0200)]
Add tests for VK_EXT_display_surface_counter
This commit adds tests for VK_EXT_display_surface_counter that try to
verify vkGetPhysicalDeviceSurfaceCapabilities2EXT returns the same set
of capabilities as vkGetPhysicalDeviceSurfaceCapabilitiesKHR and the
supportedSurfaceCounters field has coherent values for display surfaces
and non-display surfaces.
Affected tests:
dEQP-VK.wsi.display.create_display_plane_surface
New tests:
dEQP-VK.wsi.*.surface.query_surface_counters
dEQP-VK.wsi.display.surface_counters
Components: Vulkan
VK-GL-CTS issue: 1683
Change-Id: I7754411c7b458201e9a7f5e8a99dfada388124d7
Venni Ihanakangas [Wed, 25 Sep 2019 10:44:48 +0000 (13:44 +0300)]
dEQP-VK.graphicsfuzz.switch-with-empty-if-false
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.switch-with-empty-if-false
Change-Id: I42790dbee5975b301126a268c801c6a616aab721
Mika Väinölä [Thu, 3 Oct 2019 13:02:09 +0000 (16:02 +0300)]
dEQP-VK.graphicsfuzz.unreachable-return-in-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.unreachable-return-in-loop
Change-Id: I339de39006859f5396dc7397b722323f56a2222d
Mika Väinölä [Thu, 3 Oct 2019 13:17:43 +0000 (16:17 +0300)]
dEQP-VK.graphicsfuzz.disc-and-add-in-func-in-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.disc-and-add-in-func-in-loop
Change-Id: I87cbd5e5f9b0d27f9d875a1ca31d3c7aa12cb433
Alan Baker [Fri, 4 Oct 2019 19:15:15 +0000 (15:15 -0400)]
Disentangle storage and arithmetic from conversions
Remove the requirement for 16-bit storage from float16 conversions
tests. Add f16 -> f32 and f32 -> f16 tests using only 16-bit storage.
Component: Vulkan
VK-GL-CTS Issue: 1931
Affects:
dEQP-VK.spirv_assembly.instruction.*.fconvert.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertftou.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertftos.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertutof.*float16*
dEQP-VK.spirv_assembly.instruction.*.convertstof.*float16*
Change-Id: I993bdb7a6313cf19ce59b5fa43645f5168ea3cbc
Alexander Galazin [Thu, 17 Oct 2019 07:28:06 +0000 (09:28 +0200)]
Whitelist VK_KHR_shader_subgroup_extended_types
Components: Vulkan
Change-Id: Ie68fd0fd2606aac29ddf1e1a0c6668504a42a91a
Alexander Galazin [Wed, 16 Oct 2019 14:02:09 +0000 (16:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: I7a8febada6ebf7ad2de0f9727a5efbbcc729c3d0
Alexander Galazin [Wed, 16 Oct 2019 13:00:14 +0000 (15:00 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: I3b96cb8cde6cbfc585d717a94f2164739887726f
Alexander Galazin [Wed, 16 Oct 2019 11:44:00 +0000 (13:44 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: Iea7706e036758d8a648ef7938b3d08e21321a087
Bas Nieuwenhuizen [Fri, 11 Oct 2019 01:50:02 +0000 (03:50 +0200)]
Use the correct imageType for image support checks.
Components: Vulkan
Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.depth_stencil.{1d,3d}*
VK-GL-CTS issue: 2050
Change-Id: If73d9ff3e026ae4c32fd00fcc546734eebf9990e
Joerg Wagner [Wed, 9 Oct 2019 18:53:46 +0000 (20:53 +0200)]
Fix wrong wait stage mask
The wait stage mask wasn't accounting for the
stages the readers actually operate in, hence
being effectless.
Track the union of the reader's stage masks
and use that to block execution on the semaphore.
Affects:
dEQP-VK.synchronization.signal_order.*
Components: Vulkan
VK-GL-CTS issue: 2044
Change-Id: Ia4d5c7bcb9dd6eec25e7245dc41754acccd1b995
Panagiotis Apostolou [Thu, 10 Oct 2019 13:33:32 +0000 (15:33 +0200)]
Fix in shadercacheLoad
There is a slim chance that function shadercacheLoad() can pass a null
pointer into the std::string constructor, causing an exception. This can
happen in the case there is a mismatch between the calculated hash and
the one stored in the cache file.
This commit makes the code more robust, handling this case as a miss.
Components: Vulkan
VK-GL-CTS issue: 2052
Change-Id: I84a382dec51f487314304ec9057cefdff22920c3
Pawel Ksiezopolski [Tue, 15 Oct 2019 10:09:27 +0000 (12:09 +0200)]
Fixed mandatory caselist for parallel CTS run
Duplicate tests listed in deqp-fraction-mandatory-caselist-file
command line option are now skipped during test tree parsing,
when parallel CTS run is configured.
Components: Framework
VK-GL-CTS issue: 2053
Change-Id: I4ce2b6f33fd22c7ddc3aba0adbe9f7e761237e51
Alexander Galazin [Tue, 15 Oct 2019 07:14:46 +0000 (09:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/master
Change-Id: If68c0cb9516bb0bb1f441c9fde8bfd5456cee76d
Alexander Galazin [Fri, 11 Oct 2019 10:39:11 +0000 (12:39 +0200)]
Remove superfluous call to createCustomDevice
Components: Vulkan
Change-Id: I7982ff1203b8eaeccfdd4b3a6b9bc3ab0b688721
Alexander Galazin [Fri, 11 Oct 2019 09:58:07 +0000 (11:58 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: Ife971c6779bf35094b5a72a87abaa47a6901530b
Alexander Galazin [Fri, 11 Oct 2019 09:52:19 +0000 (11:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: Ibb2b736bbe1c62688044aa21dc75205f6fa32f1c
Alexander Galazin [Fri, 11 Oct 2019 09:50:16 +0000 (11:50 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I79fdf16146cf659aeae510fb6fb2ad72f641ba3e
Alexander Galazin [Fri, 11 Oct 2019 09:48:34 +0000 (11:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: Ia0d88c0631e427241c7795931a834d9baf43e5a3
Graeme Leese [Mon, 7 Oct 2019 17:23:10 +0000 (18:23 +0100)]
RelaxedPrecision tests for image extend operands
Where the decoration makes sense (that is, for images with fewer than 16
bits per channel), add test that use the RelaxedPrecision decoration.
Components: Vulkan
VK-GL-CTS issue: 2038
New tests: dEQP-VK.image.extend_operands_spirv1p4.*_relaxed_*
Change-Id: I26e42a1d7bb807616ac50ce461dd37a55effd6f8
(cherry picked from commit
aaf3d22fa09cc800af076dd2d47124dd1659bcd1)
Boris Zanin [Fri, 13 Sep 2019 10:49:24 +0000 (12:49 +0200)]
UConvert tests for signed int operand type
OpUConvert where the operand type is a signed integer type.
Add tests:
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.int*
* dEQP-VK.spirv_assembly.instruction.graphics.uconvert.int*
Affects:
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
Components: Vulkan
VK-GL-CTS issue: 1876
Change-Id: I0cee4fa43fab995ef20dcc30454d910ce371bb6e
(cherry picked from commit
b0eda2776125d76c3ef3df394d6c224271f90f95)
Graeme Leese [Mon, 7 Oct 2019 12:43:19 +0000 (13:43 +0100)]
Add tests for SignExtend with 'unsigned' types
SPIR-V wants to allow 'unsigned' as meaning 'unknown-signedness', in
which case a signed access will have an unsigned SampledType and the
SignExtend operand. Add tests for this combination.
Components: Vulkan
VK-GL-CTS issue: 2038
Affects: dEQP-VK.image.extend_operands_spirv1p4.*
Change-Id: Icd2ea0f41fcaab36d03ea3cff919449db3bd469a
(cherry picked from commit
b76f0d042c3587221daa77fef55b2642204a7ca3)
Boris Zanin [Fri, 13 Sep 2019 10:49:24 +0000 (12:49 +0200)]
UConvert tests for signed int operand type
OpUConvert where the operand type is a signed integer type.
Add tests:
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.int*
* dEQP-VK.spirv_assembly.instruction.graphics.uconvert.int*
Affects:
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
* dEQP-VK.spirv_assembly.instruction.compute.uconvert.*
Components: Vulkan
VK-GL-CTS issue: 1876
Change-Id: I0cee4fa43fab995ef20dcc30454d910ce371bb6e
Lionel Landwerlin [Fri, 27 Sep 2019 11:28:23 +0000 (14:28 +0300)]
Skip test with no display plane is available
Similarly to dEQP-VK.wsi.display.get_display_properties that skips
when no display available.
Components: Vulkan
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities2
Change-Id: I46af976a9ba3e77e250504d0164dec6ac4cdd607
(cherry picked from commit
fd915c2d0ec7b544b670192447223061fe4b6cf3)
Lionel Landwerlin [Fri, 27 Sep 2019 11:28:23 +0000 (14:28 +0300)]
Skip test with no display plane is available
Similarly to dEQP-VK.wsi.display.get_display_properties that skips
when no display available.
Components: Vulkan
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities2
Change-Id: I46af976a9ba3e77e250504d0164dec6ac4cdd607
(cherry picked from commit
fd915c2d0ec7b544b670192447223061fe4b6cf3)
Lionel Landwerlin [Fri, 27 Sep 2019 11:28:23 +0000 (14:28 +0300)]
Skip test with no display plane is available
Similarly to dEQP-VK.wsi.display.get_display_properties that skips
when no display available.
Components: Vulkan
Affects: dEQP-VK.wsi.display.get_display_plane_capabilities2
Change-Id: I46af976a9ba3e77e250504d0164dec6ac4cdd607
Ricardo Garcia [Thu, 3 Oct 2019 15:51:07 +0000 (17:51 +0200)]
Fix subnormal floats in extended image usage tests
When transcoding images in the extended image usage bit tests, Inf and
NaN were correctly taken into account and removed from input data.
However, subnormal floats were only being taken into account in the
32-bit float case.
The Vulkan spec regarding the precision and operation of SPIR-V
instructions mentions subnormal values may be flushed to zero in any
shader instruction, including the shader code to transcode images, and
have to be taken into account for half floats too.
Afffected tests:
dEQP-VK.image.extended_usage_bit.*
Components: Vulkan
VK-GL-CTS issue: 1747
Change-Id: I74a5d27b40f773f8d85e86a0a5d04eb0b4f16194
(cherry picked from commit
300b27043f8c93dcce4b3c788b33688ab59867af)
Ricardo Garcia [Thu, 3 Oct 2019 15:51:07 +0000 (17:51 +0200)]
Fix subnormal floats in extended image usage tests
When transcoding images in the extended image usage bit tests, Inf and
NaN were correctly taken into account and removed from input data.
However, subnormal floats were only being taken into account in the
32-bit float case.
The Vulkan spec regarding the precision and operation of SPIR-V
instructions mentions subnormal values may be flushed to zero in any
shader instruction, including the shader code to transcode images, and
have to be taken into account for half floats too.
Afffected tests:
dEQP-VK.image.extended_usage_bit.*
Components: Vulkan
VK-GL-CTS issue: 1747
Change-Id: I74a5d27b40f773f8d85e86a0a5d04eb0b4f16194
Boris Zanin [Fri, 4 Oct 2019 09:52:09 +0000 (11:52 +0200)]
Remove uses of strstr in vktSpvAsmFloatControlsTests.cpp
Add flags to detect usage of types and/or constants using bit
flags instead of expensive string lookup operations (like strstr).
Affects:
* dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
* dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
Components: vulkan
VK-GL-CTS issue: 1927
Change-Id: I9635c81c056a8c8d83a832eddf2e371d1fcec885
(cherry picked from commit
4e2e58f4f53df69a295182a837f385ea8f8d1929)