Alexander Galazin [Tue, 6 Nov 2018 13:01:44 +0000 (08:01 -0500)]
Merge "Merge vk-gl-cts/github-master into vk-gl-cts/master"
Alexander Galazin [Tue, 6 Nov 2018 12:12:37 +0000 (13:12 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master
Change-Id: I6e7da6cfd1fe7d69bccf4231f4b04d9d3fdbd30b
Alexander Galazin [Tue, 6 Nov 2018 11:44:00 +0000 (12:44 +0100)]
Merge pull request #131 from werman/vulkan/VK_EXT_conditional_rendering
Add tests for VK_EXT_conditional_rendering
Alexander Galazin [Tue, 6 Nov 2018 11:41:45 +0000 (12:41 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I0bc9d40f5467c3fcef1840984651ed3cdb953e5c
Alexander Galazin [Tue, 6 Nov 2018 10:59:01 +0000 (11:59 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ia532a2dca73418c4dda309ff8f3b58c5d7da15e7
Alexander Galazin [Thu, 1 Nov 2018 10:24:35 +0000 (11:24 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I5874225ecf8aae48bd833a15492668a83f985f38
Yogesh Gole [Wed, 17 Oct 2018 11:21:19 +0000 (16:51 +0530)]
Terminate EGL display after use
Previously function getDefaultEglConfigList destroyed native
display but did not terminate the EGL display. It may happen
that next create call will allocate native display at same
address as previous and as per spec multiple calls made to
eglGetPlatformDisplayEXT with the same <platform> and
<native_display> will return the same EGLDisplay handle. But
returned EGLDisplay will have references to stale data.
To fix this destroy the EGL Display along with native display.
Affects: CTS-Configs.*
Components: OpenGL and Framework
VK-GL-CTS Issue: 1426
Change-Id: I8e4c7d693d26bd9be6d7f892d0b5162d9b2b245c
Alexander Galazin [Thu, 1 Nov 2018 09:53:29 +0000 (10:53 +0100)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I587d40c09a99e93dd4cccf359ceba1dbf9ff47a9
Slawomir Cygan [Tue, 4 Sep 2018 10:16:20 +0000 (12:16 +0200)]
Extend push desriptors test to 128 compute dispatches
This adds new test case with 128 compute dispatches,
each with different pushed descriptor offset being pushed.
Component: Vulkan
VK-GL-CTS Issue: 1429
New Tests: dEQP-VK.pipeline.push_descriptor.compute.binding1_numcalls128_storage_buffer
Change-Id: Ib5914e034679c962fadf6dcadfb722a85a468c6d
Piotr Byszewski [Thu, 25 Oct 2018 14:50:20 +0000 (16:50 +0200)]
Correct vertex input tests on null driver
On Null driver all features are enabled and this triggered execution
of tests for 128 vertex attributes that are not commonly supported.
Tests allocate buffer for verification which is not big enough for
128 attributes. This causes memory corruption and crash.
This change resolves those issues.
Components: Vulkan
VK-GL-CTS issue: 1443
Affects:
dEQP-VK.pipeline.vertex_input.*
Change-Id: I9a89cc62fdd34f9da40ebf9d84e6cf5b5aed07d5
Slawomir Cygan [Wed, 24 Oct 2018 14:19:20 +0000 (16:19 +0200)]
Use GENERAL image layout for images used as STORAGE image
The test was using VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
which is not valid for STORAGE images.
Components: Vulkan
VK-GL-CTS Issue: 1441
Affects:
dEQP-VK.pipeline.push_descriptor.*
Change-Id: Ic858ba32ce04601541a224aecbc105f42a36687d
Piotr Byszewski [Tue, 23 Oct 2018 09:42:49 +0000 (11:42 +0200)]
Correct image properties tests on Null driver
On Null driver all features are enabled and this trigered some issues
with YCBCR format in image_format_properties tests. This change
resolves those issues.
VK-GL-CTS issue: 1438
Components: Vulkan
Change-Id: I3d1707438909ae4f5e828092a97a6380b615beca
Affects: dEQP-VK.api.info.image_format_properties.*
Jari Komppa [Wed, 24 Oct 2018 09:18:40 +0000 (12:18 +0300)]
Fix for unnormalized coordinate test using mipmaps
The unnormalized coodinate test used textures with mipmaps, while
unnormalized coordinates are only defined for single mip level textures.
This required adding new constructors to the texture framework that
allow explicit setting of mip levels.
Affects:
dEQP-VK.texture.filtering.unnormal.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1390
Change-Id: Ibd049a04d143979624d10148e3911728579b3a2c
Ilkka Saarelainen [Thu, 25 Oct 2018 13:06:58 +0000 (16:06 +0300)]
Fix API usage errors in dEQP-VK.geometry.basic.*
Fixes API usage errors caused by unsafe memory flush
and unsupported combinations of image memory barrier
dstAccessMask and dstStageMask.
Components: Vulkan
Affects:
dEQP-VK.geometry.basic.*
VK-GL-CTS issue: 1418
Change-Id: Iaa226bff5728a711b79f863b990b950cf95dd1c6
Chad Versace [Mon, 15 Oct 2018 19:45:46 +0000 (12:45 -0700)]
Fix swapchain creation in dEQP-VK.wsi.*.swapchain.*
In the Vulkan 1.1.87 spec release, the release fixed a bug in
VkSwapchainCreateInfoKHR by adding the following VU:
* imageFormat, imageUsage, imageExtent, and imageArrayLayers must be
supported for VK_IMAGE_TYPE_2D VK_IMAGE_TILING_OPTIMAL images as
reported by vkGetPhysicalDeviceImageFormatProperties.
Jesse Hall authored the fix in response to behavior discovered by Chad
Versace while debugging failures in dEQP-VK.wsi.android.swapchain.* on
Intel Chrome OS devices. This patch fixes the failing tests to comply
with the spec bugfix.
Components: Vulkan
VK-GL-CTS Issue: 1395
Affects: dEQP-VK.wsi.*.swapchain.*
See-Also: https://gitlab.khronos.org/vulkan/vulkan/issues/1029
Change-Id: I959774833d03b63eb6e23fbd3a7ff33378b44110
Danylo Piliaiev [Fri, 12 Oct 2018 15:19:55 +0000 (18:19 +0300)]
Add tests for VK_EXT_conditional_rendering
All functions affected by VK_EXT_conditional_rendering are tested:
- vkCmdDraw, vkCmdDrawIndexed, vkCmdDrawIndirect, vkCmdDrawIndexedIndirect
- vkCmdDrawIndirectCountKHR, vkCmdDrawIndexedIndirectCountKHR (VK_KHR_draw_indirect_count)
- vkCmdDispatch, vkCmdDispatchIndirect, vkCmdDispatchBase
- vkCmdClearAttachments
The only limitation of these tests is that combination of different functions in one render
pass are not tested - only several calls of the same functions. Due to the different hardware
specific support of conditional rendering some implementations may have exhibit issues in such cases,
especially when combining conditional rendering with functions from VK_KHR_draw_indirect_count.
Components: Vulkan
New Tests: dEQP-VK.conditional_rendering.*
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Tim Van Patten [Fri, 5 Oct 2018 22:14:47 +0000 (16:14 -0600)]
Add option for Android dEQP builds to link against and embed ANGLE shared object libraries
Add the option '--angle-path' to scripts/android/build_apk.py to point
to the directory containing ANGLE shared object libraries for the
specified ABI. This will cause dEQP to link against and embed the ANGLE
shared object libraries and use them during the dEQP test execution.
Components: Android dEQP
Google bug:
80239516
Change-Id: I04043d03b7837601656690126296e61b8ed9e658
Jeff Bolz [Fri, 19 Oct 2018 04:00:34 +0000 (23:00 -0500)]
Use precompiled headers on MSVC
This is a significant improvement in build time on MSVC,
maybe 25% overall. Qualitatively, compile time is about 2x
faster, but link time, lack of parallelism for the whole
duration of the build, and some unaccelerated components
(e.g. glslang and some internal modules) reduce the total
wall clock time improvement from 50% down to that 25%.
This also helps a lot with performance of the builds for
generating mustpass lists.
Components: Vulkan, OpenGL, Framework
Change-Id: I6013d9728444d9892e9a5ec8f31a574c10ca06b2
Piotr Byszewski [Fri, 24 Aug 2018 16:05:26 +0000 (18:05 +0200)]
Extend transcoding tests to 1D/3D images
Previously implementation assumed that
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT feature is
only for 2D images. This change executes most of the tests
aslo for 1D and 3D images.
Components: Vulkan
VK-GL-CTS issue: 1209
Affects:
dEQP-VK.image.texel_view_compatible.*
Change-Id: Iefc2b4f5658b39836cb28a62e9d38d3c4662cfbe
Alexander Galazin [Thu, 25 Oct 2018 19:17:25 +0000 (21:17 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: Idfc653d433d9eaadcf155da6e3ab94f76662e8e9
Alexander Galazin [Thu, 25 Oct 2018 15:27:30 +0000 (17:27 +0200)]
Add 1.1.2.2 to known conformance versions
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: I4bcd1140981c7eac4b5e3a97da3cfc8458520448
Steve Hill [Thu, 25 Oct 2018 09:36:50 +0000 (10:36 +0100)]
Fix uninitialised variable warning for some compilers
Some compilers seem to get confused as to whether the scope
string-variable is initialised properly.
This change makes the switch that sets it up consistent with the
other switches and pacifies those compilers.
Components: Vulkan
Affects: dEQP-VK.memory_model.*
VK-GL-CTS issue: 1442
Change-Id: Id5ff742c85510af173020cf1bbfc16429a33f29f
Alexander Galazin [Thu, 25 Oct 2018 16:33:14 +0000 (18:33 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ic2ef309419e39a4b2baf634017e25979d743a607
Mika Väinölä [Thu, 27 Sep 2018 14:03:15 +0000 (17:03 +0300)]
Test 2D texture swizzles with VkComponentMappings
Add an optional VkComponentMapping parameter to TextureRenderer and
new tests that verify quads rendered with given component mapping are
swizzled correctly.
New tests:
dEQP-VK.texture.swizzle.component_mapping.*
Components: Vulkan
VK-GL-CTS issue: 1394
Change-Id: I33601e8eaed134462defabfa007fe0c9103c869a
Alexander Galazin [Thu, 25 Oct 2018 15:03:10 +0000 (17:03 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I2d8288ee3b75ef786496453b0efa6591f4f5c0ad
Alexander Galazin [Thu, 25 Oct 2018 13:52:47 +0000 (15:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: Ic87368f606cb8ec126d42ec9f72b1baffcdcf950
Noah Fredriks [Wed, 11 Jul 2018 21:56:05 +0000 (17:56 -0400)]
Fix incomplete VkImageSubresourceRange
Pipeline image barrier arraySize doesn't include the entire image.
Affects: dEQP-VK.api.copy_and_blit.core.resolve_image.whole_array*
Components: Vulkan
VK-GL-CTS Issue: 910
Change-Id: I9974c9390478cf70f2238e03a7180fc81166f84e
Alexander Galazin [Thu, 25 Oct 2018 12:46:24 +0000 (14:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I52a560f1c5cbd065182b36b6e8bff7d3a9c81879
Alexander Galazin [Thu, 25 Oct 2018 12:20:14 +0000 (14:20 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Ie74a921aba656d271738734379ad7bf5ff596fa4
Alexander Galazin [Thu, 25 Oct 2018 11:51:47 +0000 (13:51 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I116b300bfdd3ee78827aa671a737de007eb241ef
Slawomir Cygan [Mon, 22 Oct 2018 11:12:16 +0000 (13:12 +0200)]
Fix spelling on NotSupported error message
Components: Vulkan
VK-GL-CTS Issue: 1433
Affects: dEQP-VK.api.info.device_group.peer_memory_features
Change-Id: I42e2d7a50d2f74d706e42f0f196ff76c8446fa1c
Ari Suonpaa [Wed, 17 Oct 2018 10:33:03 +0000 (13:33 +0300)]
Added tests for out-of-order attribute locations
Extended vertex input tests to issue attribute locations
out-of-order.
New tests:
dEQP-VK.pipeline.vertex_input.*.out_of_order.*
Components: Vulkan
VK-GL-CTS issue: 1416
Change-Id: I2e0a90a14c3c663bbf4dd3b4d0b9a73cbdb859a3
Connor Abbott [Thu, 18 Oct 2018 12:20:31 +0000 (14:20 +0200)]
Make VK_KHR_shader_subgroup_vote tests work with sparse dispatch
The voteallequal tests created a value which was supposed to be
different for some threads in the subgroup, and then called
voteAllEqual() on it expecting it to return false. However, because the
entire expression was reduced modulo 2, if the implementation dispatched
threads in a sparse manner so that some subgroup indices were skipped,
then all the active threads could have wound up with the same value. In
particular, this caused the graphics voteallequal tests to fail in the
fragment stage on AMD due to how the hardware dispatches single-pixel
point sprites.
Fix this by just using gl_SubgroupIndex directly, so that every thread
is guaranteed to get a unique value. Some care has to be taken for
boolean values -- I've just made them use subgroupElect() instead, as
that's the simplest way to get a guaranteed-divergent boolean value.
Affected tests:
dEQP-VK.subgroups.vote.*
Components: Vulkan
VK-GL-CTS Issue: 1437
Change-Id: I10ddc438db4cd4925bdbc4f458a082fcab9c9155
Gary Sweet [Mon, 22 Oct 2018 11:39:09 +0000 (12:39 +0100)]
Fix unaligned host accesses in UBO and SSBO tests
Prevent uniform blocks from starting unaligned.
Previously these tests would end up casting
non-4-byte aligned addresses to float*. On 32-bit
ARM CPUs this can cause unaligned access faults.
Components: Vulkan
Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*
VK-GL-CTS issue: 1434
Change-Id: Ied437b150b61f11630b5c1511ccedd410308b004
Steve Hill [Mon, 22 Oct 2018 08:48:57 +0000 (09:48 +0100)]
Add flush to binding descriptor set random tests
Components: Vulkan
Affects: dEQP-VK.binding_model.descriptorset_random.*
VK-GL-CTS issue: 1432
Change-Id: I56df9fefbeb511e441310df9f52d0e9a897bcbef
Mohd Faisal [Fri, 19 Oct 2018 09:35:36 +0000 (10:35 +0100)]
Fix the device_group test failure by allowing same number of tries to
create object as device test.
Components: Vulkan
Affects: dEQP-VK.api.object_management.alloc_callback_fail.device_group
VK-GL-CTS Issue: 1431
Change-Id: I099a05f3109c1997cad323a0577f66c95755b151
crohde [Wed, 17 Oct 2018 10:33:35 +0000 (12:33 +0200)]
Import dedicated allocs w/ importDedicatedMemory
When exported memory was a dedicated allocation,
the memory must be imported also as dedicated allocation.
This was already implemented for images,
this change does it for buffers, too.
Affects:
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_twice
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_multiple_times
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup2
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup3
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.send_over_socket
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.bind_export_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_bind_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_import_bind_bind
Components: Vulkan
VK-GL-CTS issue: 1422
Change-Id: I782aeb256151dd98cc6a91b8a6942cd916d3f7b7
crohde [Wed, 17 Oct 2018 10:33:35 +0000 (12:33 +0200)]
Import dedicated allocs w/ importDedicatedMemory
When exported memory was a dedicated allocation,
the memory must be imported also as dedicated allocation.
This was already implemented for images,
this change does it for buffers, too.
Affects:
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_twice
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.import_multiple_times
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup2
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.dup3
dEQP-VK.api.external.memory.opaque_fd.dedicated.device_only.send_over_socket
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.bind_export_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_bind_import_bind
dEQP-VK.api.external.memory.opaque_fd.dedicated.buffer.export_import_bind_bind
Components: Vulkan
VK-GL-CTS issue: 1422
Change-Id: I782aeb256151dd98cc6a91b8a6942cd916d3f7b7
Graeme Leese [Tue, 9 Oct 2018 08:39:10 +0000 (09:39 +0100)]
Validation fixes for device group tests
Flush and invalidate whole allocations and fix a stray pipeline barrier
stage.
Components: Vulkan
Affects: dEQP-VK.device_group.*
Change-Id: I0e214ccde2dff72a6d004702aa362bb88c47d977
Slawomir Cygan [Thu, 2 Aug 2018 16:01:57 +0000 (18:01 +0200)]
Fix asserts and check for base image format support in image.mutable tests
This adds a check if base image can be created given the format.
It is required for implementations supporting VK_KHR_maintenance2 or 1.1:
if these are supported, the exisiting VkImageView format support does not
cover base image format support.
Additionally, fix malformed asserts and missign case switches in this test.
Components: Vulkan
Affects: dEQP-VK.image.mutable
VK-GL-CTS Issue: 1295, 1294
(cherry picked from commit
eaaa3979b015e2a923b3250b4269d3c9d21137cc)
Change-Id: I7a4afbb624d73aadca4f9a6edf955b3cdc2d863e
Slawomir Cygan [Thu, 2 Aug 2018 16:01:57 +0000 (18:01 +0200)]
Fix asserts in image.mutable tests
Fix malformed asserts and missing case switches in this test.
Components: Vulkan
Affects: dEQP-VK.image.mutable
VK-GL-CTS Issue: 1294
(cherry picked from commit
29c222eaa9cc5aeac37886b3cc25330ddc31689b)
Change-Id: I1a49f615e843c33d5483cd7bba4773370377dde7
Graeme Leese [Tue, 16 Oct 2018 10:24:17 +0000 (11:24 +0100)]
Fix validation in dynamic offset tests
Correct memory flush/invalidate ranges and use "readonly" on buffers.
Components: Vulkan
Affects: dEQP-VK.pipeline.dynamic_offset.graphics.*
Change-Id: Ie76a9a08f3b852560771e77eacd7b00a0ec42601
Graeme Leese [Tue, 16 Oct 2018 10:08:33 +0000 (11:08 +0100)]
Mark storage buffer as readonly
Since the test only reads it, mark the buffer as readonly. Without the
qualifier the test is invalid on implementations that don't support
vertexPipelineStoresAndAtomics.
Components: Vulkan
Affects: dEQP-VK.memory.pipeline_barrier.host_write_storage_buffer.*
dEQP-VK.memory.pipeline_barrier.all.*
Change-Id: Ia92553415bc4b24812f5993c79d3ba2cd7fad0a9
Graeme Leese [Wed, 3 Oct 2018 10:35:44 +0000 (11:35 +0100)]
Fix validation in renderpass tests
Correct alignments for flush/invalidate, pipeline stages for subpass
dependencies, and image layouts in pipeline barriers.
Components: Vulkan
Affects: dEQP-VK.renderpass.*
dEQP-VK.renderpass2.*
Change-Id: Icf5bd5c0b88a34a8c4c131d47f12874ca660253e
Dave Airlie [Mon, 26 Mar 2018 00:36:12 +0000 (10:36 +1000)]
test layered resolves with a single region convering all layers.
We have a test that does a layer resolve using one region and resolve call
per layer, this does one region/resolve call for all the layers.
v2: add missing extent update.
Components: Vulkan
VK-GL-CTS issue: 1379
New Tests:
dEQP-VK.api.copy_and_blit.*whole_array_image_one_region*
Change-Id: I283aa0291aba84b172f655fa7675c1f34087d957
Piotr Byszewski [Thu, 18 Oct 2018 09:55:56 +0000 (11:55 +0200)]
Correct copy_and_blit on Null driver
On Null driver all features are enabled which leads copy_and_blit
tests to be executed for incompatible image formats. This change
detects that and fails the verification to prevent hiting assertions
in the framework.
VK-GL-CTS issue: 1427
Components: Vulkan
Affects:
dEQP-VK.api.copy_and_blit.*
Change-Id: I0d105c297f5548175580434cc2a12fa53b69339d
Jeff Bolz [Fri, 19 Oct 2018 19:09:49 +0000 (14:09 -0500)]
Update spirv-tools to TOT github
I want to bring in the fix in
https://github.com/KhronosGroup/SPIRV-Tools/pull/1989
which resolves some build issues with my change in
https://github.com/KhronosGroup/SPIRV-Tools/pull/1969
before anybody wastes time on it.
Change-Id: I15f893f002e6d44f6d7f4e00997a22c3e5209545
Components: Vulkan, OpenGL, Framework
Maciej Jesionowski [Tue, 31 Jul 2018 09:20:24 +0000 (11:20 +0200)]
Whitelist VK_KHR_swapchain_mutable_format extension
Affected tests:
dEQP-VK.api.info.device.extensions
Components: Vulkan
VK-GL-CTS issue: 1014
Change-Id: Ic9dbf7161534765af624e5925bb9f6ea0ad16be8
(cherry picked from commit
3ef3fe8a93896f1c75ca6a07672276385f4cdd21)
Norbert Garnys [Thu, 14 Jun 2018 11:07:14 +0000 (13:07 +0200)]
Add tests for VK_KHR_swapchain_mutable_format
New tests:
dEQP-VK.image.swapchain_mutable.*
Affected tests:
dEQP-VK.image.mutable.*
Components: Vulkan
VK-GL-CTS issue: 1014
Change-Id: I01ad8a374a53fb21c4f2d0bb413970808e23e784
(cherry picked from commit
2a301e65ffbe783e06f3aa6f2b7b5303afa526cf)
Jeff Bolz [Wed, 26 Sep 2018 17:58:05 +0000 (12:58 -0500)]
Remove test lib dependencies on deqp-vk-package.
These limit parallelism in MSVC builds, presumably due to the
circular dependency in the cmake files. These libs really only
depend on 'test utility' code and not on 'test framework' code,
so split out the test utility code into a util folder and fixup
all the includes/libs to point at those.
Change-Id: I6eae113df12d0a3ec90c618eb61a2816d02bcd9e
Components: Vulkan
Alexander Galazin [Thu, 18 Oct 2018 10:11:32 +0000 (12:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I74bb0bd8b5d531ba868c3ac2ff5ae49acd86027a
David Neto [Mon, 15 Oct 2018 21:58:58 +0000 (17:58 -0400)]
Update to latest SPIRV-Tools/Glslang GitHub master
SPIR-V modules fail to validate:
- 9 cases: All OpVariable instructions in a function must be the first instructions in the first block.
- 240 cases: FPRoundingMode decoration can be applied only to the Object operand of an OpStore.
- 1024 cases: NonPrivatePointerKHR must be specified if MakePointerAvailableKHR is
Components: Framework
Affects: dEQP-VK.*
Change-Id: I5079a8e949a485165ff3c0a38e0820e59028ddc1
Graeme Leese [Wed, 19 Sep 2018 17:04:50 +0000 (18:04 +0100)]
Remove invalid execution mode in smoke test
OriginLowerLeft is not valid, so use OriginUpperLeft.
Components: Vulkan
Affects: dEQP-VK.api.smoke.asm_triangle
Change-Id: I14b2ac7ec2b56be228aa7de3442f605e8525f163
(cherry picked from commit
c1d6ed4ac1b41773aa8043793bc6eebea47f1f5e)
David Neto [Wed, 10 Oct 2018 00:23:54 +0000 (20:23 -0400)]
fetch_sources: can remove a tag before fetching
Glslang's master-tot tag moves around, which causes subsequent fetches
to fail. Forcibly remove it before fetching.
Component: Framework
VK-GL-CTS issue: 1412
Change-Id: I18233e49cfac8652e4e6a56732cb1b4215488781
(cherry picked from commit
595262f42a6653b225a42a990b10c69c99f5374d)
David Neto [Wed, 10 Oct 2018 00:23:54 +0000 (20:23 -0400)]
fetch_sources: can remove a tag before fetching
Glslang's master-tot tag moves around, which causes subsequent fetches
to fail. Forcibly remove it before fetching.
Change-Id: I18233e49cfac8652e4e6a56732cb1b4215488781
Component: Framework
VK-GL-CTS issue: 1412
Graeme Leese [Tue, 9 Oct 2018 14:54:41 +0000 (15:54 +0100)]
Reduce padding in shared memory tests
According to the new shared memory packing rules one test exceeded the
minimum shared memory size because of the padding. Change the order of
the members to make it fit.
Components: OpenGL
Affects: KHR-GLES31.core.compute_shader.shared-struct
VK-GL-CTS issue: 1411
Change-Id: I321bab7c304254ab19303ff1bf5b7e17ae036742
Jeff Bolz [Tue, 16 Oct 2018 19:42:42 +0000 (14:42 -0500)]
Update glslang to fix memory model spirv validation
Fixes https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/1421
Components: Vulkan
VK-GL-CTS issue: 1421
Affects: dEQP-VK.memory_model*
and possibly others due to other glslang changes
Change-Id: Iff7e61d983495017d1b32f55be4a7a30d1aecf92
Ari Suonpaa [Tue, 21 Aug 2018 11:47:59 +0000 (14:47 +0300)]
Test storing protected data in workgroup memory
Added tests where protected image contents are passed through
workgroup memory. Moved common functions to an utility file.
New tests:
dEQP-VK.protected_memory.workgroupstorage.*
Components: Vulkan
VK-GL-CTS issue: 1076
Change-Id: Icef3b0c6e8d520946b3fa4aea3f6ae9cc1f0f72d
Alexander Galazin [Wed, 17 Oct 2018 07:46:34 +0000 (09:46 +0200)]
Fix 16-bit storage IO f32-to-f16 conversion tests
The tests were applying a rounding mode decoration
to OpFConvert that was used by OpReturnValue.
The extension doesn't allow this. The only allowed
successor for suc instruction is OpStore to specific
storage classes.
Components: Vulkan
VK-GL-CTS issue: 1424
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_float_32_to_16.*
Change-Id: Ica7b0c1da79225500124fc596859a7a04f086d52
Graeme Leese [Tue, 9 Oct 2018 09:41:21 +0000 (10:41 +0100)]
Fix precision mismatches in GLSL tests
Various tests missed out setting the integer precision to match between
vertex and fragment stages (mostly the bool variants). Set ints to use
highp for these tests, like they already do in the integer variants.
Components: Vulkan
Affects: dEQP-VK.glsl.arrays.*
Change-Id: I2da13ed1086da98b6b1e6fc1076c959c6df2e00a
Jeff Bolz [Wed, 26 Sep 2018 16:41:22 +0000 (11:41 -0500)]
Update glslang to past the Turing extensions.
Change-Id: Ifcc9c1940ac35f9a4c43d6917f643df093dbbb09
Components: Vulkan
(cherry picked from commit
13f3162b7f2fcce56c98394561308dd97e6b8d60)
Ari Suonpaa [Tue, 9 Oct 2018 11:21:47 +0000 (14:21 +0300)]
Added tests for non-linear attribute locations
Vertex input tests are using attribute locations in linear
fashion. Added a test group where the vertex input test
generates holes in location slots.
New tests:
dEQP-VK.pipeline.vertex_input.*.layout_skip.*
Components: Vulkan
VK-GL-CTS issue: 1348
Change-Id: Ie3c36b466f86281987e061a53cef1c0ef13427b1
Ilkka Saarelainen [Fri, 5 Oct 2018 07:03:52 +0000 (10:03 +0300)]
Fix YCbCr requirement in image_format_properties tests
This changes image_format_properties tests to treat YCbCr formats
equally to other formats when VK_IMAGE_CREATE_SPARSE_BINDING_BIT
is used.
This also removes testing image format properties with create flags
containing VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT and/or
VK_IMAGE_CREATE_SPARSE_ALIASED_BIT but not
VK_IMAGE_CREATE_SPARSE_BINDING_BIT because such flag combinations are
against API usage guide.
Affects:
dEQP-VK.api.info.image_format_properties.*
Components: Vulkan
VK-GL-CTS issue: 1063
Change-Id: I9135108c360f4c9ac7ae7b0238c9842fd4a21792
Graeme Leese [Tue, 9 Oct 2018 14:59:44 +0000 (15:59 +0100)]
Shader runner changes to fix validation
Fix one pipeline barrier and stop allocating unneeded fragment outputs.
Tests with multiple outputs were allocating one color target for each,
but self-checking tests combine their results down to a single yes/no
color write. For these tests, only allocate one output target.
Components: Vulkan
Affects: dEQP-VK.glsl.*
Change-Id: Icb97091e9de7e58e3751f0a5c4f9a19a6894f085
Alexander Galazin [Tue, 16 Oct 2018 09:21:11 +0000 (11:21 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: I867463049e15b5926021e1378c3127772b84bb47
Alexander Galazin [Mon, 15 Oct 2018 15:36:38 +0000 (17:36 +0200)]
Place OpVariable at the beginning of the block
SPIR-V requires that all OpVariable instructions in a function
must be in the first block in the function.
VK-GL-CTS issue: 1382
Components: Vulkan, Framework
Affects:
dEQP-VK.spirv_assembly.instruction.compute.loop_control.*
dEQP-VK.spirv_assembly.instruction.compute.8bit_storage.*
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.*
dEQP-VK.spirv_assembly.instruction.compute.pointer_parameter.*
Change-Id: Ib012eec83ccd130a7d6d586e3fdb529b908c21b3
(cherry picked from commit
7273686be36aeb14f7f86077782c4141a74931e3)
Alexander Galazin [Mon, 15 Oct 2018 15:36:38 +0000 (17:36 +0200)]
Place OpVariable at the beginning of the block
SPIR-V requires that all OpVariable instructions in a function
must be in the first block in the function.
VK-GL-CTS issue: 1382
Components: Vulkan, Framework
Affects:
dEQP-VK.spirv_assembly.instruction.compute.loop_control.*
dEQP-VK.spirv_assembly.instruction.compute.8bit_storage.*
dEQP-VK.spirv_assembly.instruction.compute.16bit_storage.*
dEQP-VK.spirv_assembly.instruction.compute.pointer_parameter.*
Change-Id: Ib012eec83ccd130a7d6d586e3fdb529b908c21b3
Alexander Galazin [Mon, 15 Oct 2018 08:32:32 +0000 (10:32 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: Ib76d2ca2aeed1705b894252c70ff5c88b19aa82e
Alexander Galazin [Sun, 14 Oct 2018 10:45:59 +0000 (12:45 +0200)]
Place OpVariable at the beginning of the block
SPIR-V requires that all OpVariable instructions in a function
must be in the first block in the function.
VK-GL-CTS issue: 1382
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.*
dEQP-VK.spirv_assembly.instruction.graphics.variable_init.*
Change-Id: I797e0235c4eaab4f86754bade948dc062d17ca2b
Alexander Galazin [Sun, 14 Oct 2018 10:45:59 +0000 (12:45 +0200)]
Place OpVariable at the beginning of the block
SPIR-V requires that all OpVariable instructions in a function
must be in the first block in the function.
VK-GL-CTS issue: 1382
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop.*
dEQP-VK.spirv_assembly.instruction.graphics.variable_init.*
Change-Id: I797e0235c4eaab4f86754bade948dc062d17ca2b
Alexander Galazin [Fri, 12 Oct 2018 10:38:54 +0000 (12:38 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: I89162c3d946338f2bf4976a3cab3ba1b48672469
Alexander Galazin [Fri, 12 Oct 2018 10:01:01 +0000 (12:01 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: Icb53b255b5e08da8c7266f9a9523538c3199aa51
David Emett [Thu, 20 Sep 2018 18:54:24 +0000 (19:54 +0100)]
Fix barrier range in UpdateBuffer tests
Components: Vulkan
VK-GL-CTS issue: 1366
Affects:
dEQP-VK.api.fill_and_update_buffer.*.update_buffer_*
Change-Id: I6d096c591bf79bf3e54ae796af98ed85f6103724
Ari Suonpaa [Mon, 8 Oct 2018 10:05:16 +0000 (13:05 +0300)]
Add corner case values for float32 to int16 conversion tests.
Issues with conversion of 32bit float to 16bit int was
reported for values over 2048. Added values 3001 and -3001
to cover this.
New tests:
dEQP-VK.spirv_assembly.instruction.*.convertftos.float32_to_int16_*
Components: Vulkan
VK-GL-CTS issue: 1398
Change-Id: Id70be1763fb6a34c9de59387074e9da3ddeffecf
Toni Merilehti [Tue, 4 Sep 2018 07:49:25 +0000 (10:49 +0300)]
Add tests for subpass dependencies
New tests for external subpass dependencies between render pass
instances as well as implicitly added subpass dependencies. Tests
verify that the render passes are synchronized correctly using
external subpass dependencies. Also the conversion functions to
RenderPass/RenderPass2 are now implemented in vktRenderPassTestsUtil.
New tests:
dEQP-VK.renderpass*.subpass_dependencies.*
Components: Vulkan
VK-GL-CTS issue: 1143, 1148
VK-GL-CTS public issue: 97
Change-Id: Icc73a8cfc137ed6d64246c451cee1b1293c1d11b
Ari Suonpaa [Thu, 6 Sep 2018 06:38:35 +0000 (09:38 +0300)]
Test clip/cull distance reading in fragment shader
Extended clipping test to verify the clip and cull distances
passed to fragment shader are accessible.
New tests:
dEQP-VK.clipping.user_defined.*fragmentshader_read
Components: Vulkan
VK-GL-CTS issue: 1332
Change-Id: I38a0f6014016c2b547d5ad1a0d3737d94854f7f7
Piers Daniell [Tue, 2 Oct 2018 17:51:25 +0000 (11:51 -0600)]
Use non-arrayed varying name for TCS blocks
This is a partial revert of CL 2625 to restore naming the
value member of the BLOCK_INOUT interface block as
"BLOCK_INOUT.value" rather than "BLOCK_INOUT[0].value".
Affects:
KHR-GL46.tessellation_shader.single.xfb_captures_data_from_correct_stage
Components: OpenGL
VK-GL-CTS issue: 1388
Change-Id: I9ef6453ec5465a0fa5561220cc9d7bfe54298416
Alexander Galazin [Thu, 11 Oct 2018 13:54:40 +0000 (15:54 +0200)]
Merge vk-gl-cts/github-master into vk-gl-cts/master
Change-Id: I0e1a34ac0772b0e27a7ea9bab6696a8adbcfa788
Ari Suonpaa [Fri, 21 Sep 2018 10:50:52 +0000 (13:50 +0300)]
New tests for descriptor dynamic offset
Added new tests for descriptor dynamic offset based on reports
of failing implementations.
New tests:
dEQP-VK.pipeline.dynamic_offset.*
Components: Vulkan
VK-GL-CTS issue: 1319
Change-Id: Iab4692044c85df78e2fc84a7f922bdcccbde7929
Graeme Leese [Fri, 5 Oct 2018 09:48:46 +0000 (10:48 +0100)]
Fix validation in memory tests
Code fixes from @jbolz for the memory tests.
Components: Vulkan
Affects: dEQP-VK.memory.*
Change-Id: I24bb18c90358465a5e02dce92885d26d9807780e
Graeme Leese [Thu, 4 Oct 2018 14:32:51 +0000 (15:32 +0100)]
Fix memory flush alignments in binding model tests
Components: Vulkan
Affects: dEQP-VK.binding_model.shader_access.*
Change-Id: Ibc6432236c6067f9e76fa6f327c04e28f4eb0690
Graeme Leese [Wed, 3 Oct 2018 10:32:48 +0000 (11:32 +0100)]
Fix validation in command buffer tests
Fix memory flush/invalidate issues and use the simultaneous use flag
correctly for simul_use tests
Components: Vulkan
Affects: dEQP-VK.api.command_buffers.*
Change-Id: I34ca94c937e2c827d4629f60364b656a0b869a7d
Graeme Leese [Wed, 3 Oct 2018 10:30:22 +0000 (11:30 +0100)]
Fix validation in memory binding tests
Simplify flush/invalidate so that it doesn't trigger validation errors
and correct a pipeline barrier.
Components: Vulkan
Affects: dEQP-VK.memory.binding.*
Change-Id: Ia41f8eb6e92352a2db7c102a43e49e35cddd484e
Chris Forbes [Wed, 10 Oct 2018 22:10:54 +0000 (15:10 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev
Change-Id: Ie41fa6cb58a683045ac3aa277b5370a0f5cf2cf4
Khronos Group Webmaster [Wed, 10 Oct 2018 19:50:57 +0000 (15:50 -0400)]
Create CODE_OF_CONDUCT.md
Alexander Galazin [Tue, 9 Oct 2018 09:01:22 +0000 (11:01 +0200)]
Update KC CTS
Components: Framework
VK-GL-CTS issue: 1404
Change-Id: Ia7b13ef1b8618b92cab3d4ebe6f593dbf1512fdc
Graeme Leese [Wed, 26 Sep 2018 11:26:17 +0000 (12:26 +0100)]
Fix build warnings in SPIR-V tests
Components: OpenGL
Affects: KHR-GL46.gl_spirv.*
VK-GL-CTS Issue: 1386
Change-Id: If47448561f2b1566f8c12d762b77b42e659574c0
Chris Forbes [Fri, 5 Oct 2018 23:13:54 +0000 (16:13 -0700)]
Merge remote-tracking branch 'khronos/master' into deqp-dev
Change-Id: I6139d0d8b6a5a8a380ca093c3f5860c51a2f468f
Noah Fredriks [Wed, 11 Jul 2018 21:47:02 +0000 (17:47 -0400)]
Don't exhaust 32-bit host visible address space
If VkPhysicalDeviceGroupProperties::subsetAllocation is VK_FALSE, then
then devices in the device group will each consume memory. Adjust the
limit to account for this.
Affects: dEQP-VK.memory.allocation.basic.*
Components: Vulkan
VK-GL-CTS Issue: 1405
Change-Id: I0074c49855435dc3403b64ce85a180397c4ed955
Mika Väinölä [Wed, 3 Oct 2018 13:03:46 +0000 (16:03 +0300)]
Suppress Clang 7 self-assignment warnings
Clang 7 warns on two intentional self-assignments. According to the
release notes "the warning can be suppressed by adding *& to the
right-hand side or casting it to the appropriate reference type."
Component: Framework
VK-GL-CTS issue: 1401
Change-Id: I3145b1965d46f617eb10ff8a60d038ce9bbb5cbf
Graeme Leese [Fri, 21 Sep 2018 12:43:38 +0000 (13:43 +0100)]
Fix queue validation in synchronization tests
The spec was updated to require matching barriers on both queues when
passing between them but the CTS was never updated.
Components: Vulkan
Affects: dEQP-VK.synchronization.op.multi_queue.*
Change-Id: I210e556bf108957595c58760ec3df729f0b3b610
Toni Merilehti [Fri, 28 Sep 2018 13:42:36 +0000 (16:42 +0300)]
Fix non-valid barriers in dEQP-VK.tessellation.*
This fixes various validation errors in the usage of pipeline barriers,
where the dstAccessMask is not supported by the dstStageMask.
Affects:
dEQP-VK.tessellation.*
Components: Vulkan
VK-GL-CTS issue: 1392
Change-Id: I58e4e7cfab0a444609bb7cb0beecb7963dfae1ac
Graeme Leese [Thu, 27 Sep 2018 12:35:42 +0000 (13:35 +0100)]
Check sparse support in memory requirements tests
The tests attemt to create images using various flags to check memory
requirements on the resulting images. The sparse versions of the tests
need to check sparse support.
Components: Vulkan
Affects: dEQP-VK.memory.requirements.*
Change-Id: If4025abe498e08b057b2e6a760c8746a6a4dab72
Graeme Leese [Thu, 27 Sep 2018 12:32:46 +0000 (13:32 +0100)]
Don't pass tess and geom flags when not needed
Using tessellation and geometry flags requires having the corresponding
features enabled. Since these tests are not doing any tessellation or
geometry, remove the flags rather than enabling the feature.
Components: Vulkan
Affects: dEQP-VK.memory.pipeline_barrier.*
Change-Id: I5ba5bb16eec2996c7a8bd0865c385223da7115c1
Toni Merilehti [Tue, 25 Sep 2018 12:54:13 +0000 (15:54 +0300)]
Fix testing of various device limits
This enables the testing of various device limits and verifies that
the VkPhysicalDeviceLimits advertised by the device correspond to
the specification.
Affects:
dEQP-VK.api.info.device.properties
Components: Vulkan
VK-GL-CTS issue: 1349
VK-GL-CTS public issue: 122
Change-Id: Idf153b8de39e167b41c761ea5fc329db0ec56c8c
Ari Suonpaa [Thu, 30 Aug 2018 05:27:33 +0000 (08:27 +0300)]
Test remaining descriptor types in push descriptor test
The initial push descriptor test was only testing uniform and storage
buffers. This commit adds the remaining descriptor types.
New tests:
dEQP-VK.pipeline.push_descriptor.*
Components: Vulkan
VK-GL-CTS issue: 1320
Change-Id: I742ad32edc724344b2e69d48127b44c179832711
Alexander Galazin [Fri, 5 Oct 2018 10:30:28 +0000 (12:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/master
Change-Id: If79a2a85ad925402ffcb1f385157d128970d8b65
Alexander Galazin [Fri, 5 Oct 2018 10:30:24 +0000 (12:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I6e2e13964732fb8673f7afd2e72e740cfc32fdcf
Alexander Galazin [Fri, 5 Oct 2018 10:30:19 +0000 (12:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Iea478874f1c63e4ac841c7143690c0df44864d7a
Alexander Galazin [Fri, 5 Oct 2018 10:30:15 +0000 (12:30 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I24509b7943339682384362e4c839f66ca6a2d293