Boris Zanin [Wed, 4 Jul 2018 09:02:23 +0000 (11:02 +0200)]
Refactor: Compatible compute and graphics VerifyIO
Refactoring:
* Compatibilize VerifyIO function declaration
* Add isCoreFeatureSupported
* Graphic shader can run over whole area
Affects tests:
* dEQP-VK.spirv_assembly.*
Components: Vulkan
VK-GL-CTS issue: 1095
Change-Id: Iba9bab9d40a06f1eba90572cc60f1c334c4b8474
(cherry picked from commit
9a41fa49a90f27544ff83fce678efbe3c58cc381)
Jeff Bolz [Thu, 27 Sep 2018 17:36:06 +0000 (12:36 -0500)]
Add tests for VK_EXT_scalar_block_layout
Components: Vulkan, Framework
Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*
SPIR-V validation understands VK_EXT_scalar_block_layout
Refactor SPIR-V validator options into own struct and header
Shader build options now record scalar layout flag.
Shader build options can yield a validator options object.
Update SSBO and UBO layout tests to tell validation when they are
using scalar layout.
Update fetch_sources.py to include GitLab SPIRV-Tools supporting
validation of scalar block layout.
Remaining validation failures:
- FPRoundingMode checks are not sensitive to capabilities in
SPV_KHR_float_controls
Components: Vulkan
Affects:
dEQP-VK.ssbo.*
dEQP-VK.ubo.*
Change-Id: I4449b58f8c33c82eea8965847059fdeb22806876
(cherry picked from commit
71e336126ac2959418f9c39a9507e91e4dc61951)
(cherry picked from commit
3adebf1717d09fa7403f05325f4e8c5038b49a3c)
Alexander Galazin [Tue, 20 Nov 2018 08:15:23 +0000 (09:15 +0100)]
Update SPIR-V Tools/Headers
Update SPIR-V tools and headers to accommodate support for
Float16/Int8 and shader_float_controls
Components: Framework
Change-Id: Ie00979ec38f5d14bd99cb3a70690510111ed195f
Alexander Galazin [Mon, 19 Nov 2018 12:34:58 +0000 (13:34 +0100)]
Add 1.1.2.3 to known conformance versions
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: I8dff4802eb777e0d4181bc896f55a2a706e65683
Chris Forbes [Sun, 18 Nov 2018 20:06:18 +0000 (12:06 -0800)]
Don't include source files in other source files
This broke the Android CTS integrated build. Include the headers
instead.
Components: Vulkan
Affects: Build fix only
Change-Id: I5836881dd78be90ed3a57181121e9333f94f98b8
Jeff Bolz [Tue, 30 Oct 2018 19:39:14 +0000 (14:39 -0500)]
Add tests for OpSpecConstantOp INotEqual
This was the only spec constant operation missing tests.
Components: Vulkan
New Tests: dEQP-VK.spirv_assembly.instruction.*.opspecconstantop.inotequal*
Change-Id: I5549880871d9afbc95ad239f0622562e21a4312d
Alexander Galazin [Thu, 15 Nov 2018 09:20:24 +0000 (10:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I5345587323415ff836b8b6f66a0d6fa8716107dd
Alexander Galazin [Thu, 15 Nov 2018 08:39:17 +0000 (09:39 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I93bd8195bc88e16a631bd26fc75095d3b2bbf43c
Leif-Julian Ovrelid [Thu, 8 Nov 2018 09:16:10 +0000 (10:16 +0100)]
Fix missing self dependency in renderpass tests
The dEQP-VK.renderpass.suballocation.formats and
dEQP-VK.renderpass.dedicated_allocation.formats tests were missing self
dependencies in some cases where they read then write one attachment
in one subpass. In cases with overlapping rendering this would give a
read-write-then-read-write situation, which neads a self dependency to
work reliably. Some of the tests were missing the self dependency, some
of them had the color attachment bits set when depending on depth, and
one case had a self dependency where it should not.
This patch adds a self dependency to two test cases that need it,
removes self dependency from a case that does not need it, and fixes
the depth tests to have the correct bits set.
Affects:
dEQP-VK.renderpass.suballocation.formats.*.input.*
dEQP-VK.renderpass.dedicated_allocation.formats.*.input.*
dEQP-VK.renderpass2.suballocation.formats.*.input.*
dEQP-VK.renderpass2.dedicated_allocation.formats.*.input.*
Components: Vulkan
VK-GL-CTS Issue: 1454
Change-Id: I4a9bec3ef6b088ab3a50d7f658867076f68788b9
Pierre Couillaud [Wed, 31 Oct 2018 11:57:40 +0000 (04:57 -0700)]
Add watchdog touches to dEQP-VK.api.descriptor_pool#repeated_reset_long
On some low-end devices, this test would hit the dEQP watchdog. Add some
watchdog touches to avoid this.
Google Bug: b/
116847904
Component: Vulkan
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
VK-GL-CTS Issue: 1464
Change-Id: I18181aa274ab1dc191b5f0acbb58b41465b5cdad
Alexander Galazin [Thu, 8 Nov 2018 12:40:50 +0000 (13:40 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I07c6dba293349d24486832cbd2288c765f647003
Alexander Galazin [Thu, 8 Nov 2018 11:52:47 +0000 (12:52 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I7e4ffa1e9b7956f0c77ee9b8dfc3d958743c0929
Chad Versace [Mon, 15 Oct 2018 19:45:46 +0000 (12:45 -0700)]
Fix swapchain creation in dEQP-VK.wsi.*.swapchain.*
In the Vulkan 1.1.87 spec release, the release fixed a bug in
VkSwapchainCreateInfoKHR by adding the following VU:
* imageFormat, imageUsage, imageExtent, and imageArrayLayers must be
supported for VK_IMAGE_TYPE_2D VK_IMAGE_TILING_OPTIMAL images as
reported by vkGetPhysicalDeviceImageFormatProperties.
Jesse Hall authored the fix in response to behavior discovered by Chad
Versace while debugging failures in dEQP-VK.wsi.android.swapchain.* on
Intel Chrome OS devices. This patch fixes the failing tests to comply
with the spec bugfix.
Components: Vulkan
VK-GL-CTS Issue: 1395
Affects: dEQP-VK.wsi.*.swapchain.*
See-Also: https://gitlab.khronos.org/vulkan/vulkan/issues/1029
Change-Id: I959774833d03b63eb6e23fbd3a7ff33378b44110
(cherry picked from commit
49eab80e4a8b3af1790b9ac88b096aa9bffd193f)
Kacper Kleczewski [Tue, 23 Oct 2018 12:50:51 +0000 (13:50 +0100)]
Fix case when unsuported create flag was used for AHB
Additional validation step is added to ValidateAHardwareBuffer function
which return false if API level is lower than 28 and
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT create flag is requested.
Components: Vulkan
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.image_formats
VK-GL-CTS Issue: 1439
Change-Id: Iadaa5c1d584bbf3d3335952c501799aff3c5b2d6
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
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
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
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.*
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
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: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
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
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
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
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)
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)
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
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
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)
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 [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
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
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
Daniel Koch [Wed, 3 Oct 2018 20:20:42 +0000 (16:20 -0400)]
Enable Android-O AHB support in Android-P build
If built with --native-api=28, support running on both
Android-O and Android-P (with out this change these tests
report unsupported on Android-O).
Builds with --native-api=26 should be unaffected (that is
they will continue to work on Android-O and assert on Android-P).
VK-GL-CTS issue: 1402
Component: Vulkan
Affects: dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*
Change-Id: Icf40b3dd35ba2744aa2e8d13c9ccfd4d9e3ba0e9
Alexander Galazin [Tue, 2 Oct 2018 13:14:27 +0000 (15:14 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I183c0061a1ac1c7f933c9417f4de1f82bdb33df0
Stephen Clarke [Fri, 28 Sep 2018 14:40:36 +0000 (15:40 +0100)]
Fix runtime array with workgroup storage class.
Vulkan requires that runtime arrays must have Uniform or StorageBuffer
storage class, so give the array a known size (16).
Affects:
dEQP-VK.spirv_assembly.instruction.compute.pointer_parameter.workgroup_memory_variable_pointers
Components: Vulkan
VK-GL-CTS issue: 1360
Change-Id: Iee3bff2ebda48dc2a00c1926715d94e823a008b8
Alexander Galazin [Tue, 2 Oct 2018 12:53:42 +0000 (14:53 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Icb47ef51091c8e9137ab558e24f36658a19a42eb
Matthew Netsch [Mon, 1 Oct 2018 15:27:44 +0000 (11:27 -0400)]
Fixes AHB image tests feature check
Test now checks for protected feature
before adding protected flag to test set.
Components: Vulkan
VK-GL-CTS issue: 1396
Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*
Change-Id: Icf174789d95a73c454aac33802b8a74d9e13c0cc
Bas Nieuwenhuizen [Mon, 1 Oct 2018 11:32:59 +0000 (13:32 +0200)]
VK_KHR_incremental_present: Fix usage flags.
Besides swapchain support we also need
vkGetPhysicalDeviceImageFormatProperties support. Use just the
needed flags instead. As COLOR_ATTACHMENT is required in
VK_KHR_surface, we don't need to check for it.
Affected tests:
dEQP-VK.wsi.*.incremental_present.*
Components: Vulkan
VK-GL-CTS issue: 1395
Change-Id: I4dd0f95da0a8f31c11efe7ce58f12cfbe160a71e
Peter Quayle [Fri, 28 Sep 2018 16:10:04 +0000 (17:10 +0100)]
Fix timeout in dEQP-VK.wsi.android test
Changes in Android P have causes the workload in
dEQP-VK.wsi.android.swapchain.simulate_oom.min_image_count
to increase significantly, leading to timeouts on some platforms.
This is worked around by simply touching the watchdog timer
between cases.
Affects:
dEQP-VK.wsi.android.swapchain.simulate_oom.min_image_count
Components: Vulkan
VK-GL-CTS issue: 1383
Change-Id: If5da804796f85acd3c2b9709a5463951609168dc
Graeme Leese [Fri, 28 Sep 2018 13:57:13 +0000 (14:57 +0100)]
Set patch version to 0 on test startup
Some parts of the test expect the ApiVersion to have a patch level of 0
so set this explicitly on startup. This was happening accidentally for
VK1.1 devices because the version is set as min(loader, device) and the
loader version is always 1.1.0.
Components: Vulkan
Affects: dEQP-VK.*
VK-GL-CTS Issue: 1391
Change-Id: If3b59408628e5b4a91e0f367bd6b17ca67f69e58
kthangudu [Thu, 27 Sep 2018 21:31:42 +0000 (14:31 -0700)]
Fix build break when DEQP_HAVE_SPIRV_TOOLS is not defined.
VK-GL-CTS issue: 1389
Change-Id: I67206c770819b052a2370144bd4b024799bb5836
Alexander Galazin [Thu, 27 Sep 2018 15:33:25 +0000 (17:33 +0200)]
Whitelist VK_KHR_vulkan_memory_model
Components: Vulkan
Affects: dEQP-VK.api.info.device.extensions
Change-Id: Id26f39dd0f5b6d09dba7a24777c45b5d4619552e
Jeff Bolz [Mon, 30 Apr 2018 15:49:28 +0000 (10:49 -0500)]
Tests for VK_KHR_vulkan_memory_model
Components: Vulkan
New Tests: dEQP-VK.memory_model.*
Change-Id: Ie8f5b5e207cd870477038c01a9f6f897effa1d2d
(cherry picked from commit
905580df19be0b44829a92739ecabca311db0835)
Alexander Galazin [Thu, 27 Sep 2018 07:46:01 +0000 (09:46 +0200)]
Update SPIR-V Tools
Components: Framework
Change-Id: If36127beae0cdd547c4d05819ef2d3ff34a34a96
(cherry picked from commit
baafc4aa3199d1a19f6caf39b563a7cc03652714)
Tom Cooper [Tue, 25 Sep 2018 13:59:16 +0000 (14:59 +0100)]
Fix support check for dEQP-VK.binding_model.descriptorset_random.*
Test should check vertexPipelineStoresAndAtomics before writing to a
storage image from a vertex shader.
Affects:
dEQP-VK.binding_model.descriptorset_random.*
Components: Vulkan
VK-GL_CTS issue: 1381
Change-Id: Ide65fe7ce2a0015875a56746a59725eb5eab3f1f
Norbert Garnys [Thu, 20 Sep 2018 11:27:11 +0000 (13:27 +0200)]
Fix dEQP-VK.glsl.atomic_operations.*64bit*
Change buffer structure to be naturally aligned.
Affected tests:
dEQP-VK.glsl.atomic_operations.*
Components: Vulkan
VK-GL-CTS issue:1364
Change-Id: I6721ee396e55e6c83cb3970171eafd064076c988
David Neto [Fri, 21 Sep 2018 14:36:56 +0000 (10:36 -0400)]
Shader validation: respect Vulkan version, relaxed layout requirement
Pass more info to SPIR-V validation:
- Target Vulkan version
- Whether the test case requested relaxed layout
When a shader is built with VK_KHR_relaxed_block_layout, the SPIR-V
module does not record the setting. But SPIR-V module validation
for Vulkan 1.0 must know if block layout should be relaxed.
Vulkan 1.1 includes VK_KHR_relaxed_block_layout in core.
Adds the necessary state to framework program build options objects to
pass those options to the SPIR-V validator.
Update SPIRV-Tools, SPIRV-Headers, Glslang to just befor NV Turing extensions.
Make sure we have the entry point:
spvValidatorOptionsSetRelaxedBlockLayout
Change-Id: I74511629a4e56a4fea370ffe3a21677465a4510f
Component: Framework
VK-GL-CTS: 1266, 1270
(cherry picked from commit
6d10706988d07f2fbe34914ec63dccd24447a10e)
Alexander Galazin [Tue, 25 Sep 2018 13:26:40 +0000 (15:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: Idc9e2c7523b11e08a849f226037fd2f2fea1e370
Alexander Galazin [Tue, 25 Sep 2018 11:05:35 +0000 (13:05 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I4e418414ad3adf232f210cacb3e84881ae94d98e
Matthew Netsch [Wed, 5 Sep 2018 18:36:31 +0000 (14:36 -0400)]
Reduces percentage of heap used in memory tests
Heaps can be shared and even fragmented on real systems.
The current percentage of 50% is a little high to reasonably
account for these issues.
Components: Vulkan
VK-GL-CTS issue: 1342
Affects:
dEQP-VK.memory.device_group_allocation.random*
Change-Id: I9a9c7fff05a663facd142a61a505c38925912ed8
(cherry picked from commit
1dab6c690815c1640b7726e05211ec3ab244f935)
John Anthony [Wed, 19 Sep 2018 14:44:43 +0000 (16:44 +0200)]
Fix pipeline barrier issues in protected memory tests
Set correct stage mask for pipeline barriers, and remove pipeline
barriers that are not needed.
Components: Vulkan
VK-GL-CTS issue: 1373
Affects:
dEQP-VK.protected_memory.buffer.*
dEQP-VK.protected_memory.attachment.*
Change-Id: I6dae7ad02c66649281a35465939437a5fb26dd0e
Matthew Netsch [Fri, 7 Sep 2018 17:44:55 +0000 (13:44 -0400)]
Fixes WSI protected swapchain allocation tests
Will now throw not supported if swapchain config
cannot fit in the available heap space.
Changes available heap space to fixed 25% of total
reported heap size instead of the current
"total - 2 * imageSize"
Components: Vulkan
VK-GL-CTS issue: 1345
Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.*
Change-Id: I6854ae29b4394d450e47cc78bfb905362a964ec4
(cherry picked from commit
f679b545b3b5f06bfb84069a4c712e3988204326)
Alexander Galazin [Fri, 21 Sep 2018 09:04:45 +0000 (11:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I9cb8925fdf0bea5cafa7460e7621d863c5e0de85
Marcin Kantoch [Wed, 19 Sep 2018 09:18:16 +0000 (11:18 +0200)]
2Darray compatible flag not allowed for 2D images
Fix for dEQP-VK.api.external.memory.*.image.info tests
incorrectly set create flag VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT
for 2D images
Components: Vulkan
Affects:
dEQP-VK.api.external.memory.*.image.info
VK-GL-CTS issue: 1362
Change-Id: I6863fc30177979b913c9e0d4b5814cb857764e27
Robert Tray [Fri, 14 Sep 2018 22:40:32 +0000 (16:40 -0600)]
Add screenLayout to AndroidManifest configChanges
Android P will generate screenLayout configuration changes for
AndroidTV devices when an orientation change happens.
Specify that dEQP will handle screenLayout config changes in the
manifest so the Android framework doesn't try to stop and restart dEQP.
dEQP can't handle a restart and just exits.
Components: AOSP
VK-GL-CTS issue: 1357
Change-Id: I0e4eb3a89f5dfb175cbeb32cc6c921a0fe99e477
Maciej Jesionowski [Tue, 3 Apr 2018 11:52:00 +0000 (13:52 +0200)]
Add test for VK_KHR_driver_properties
New tests:
dEQP-VK.api.driver_properties.properties
Components: Vulkan
VK-GL-CTS issue: 1098
Change-Id: Ifcb774700c45f76e48a03b147472a506d274c192
(cherry picked from commit
eb5806aab57fdf89850be8916e194c3d3b54c8d9)
Norbert Garnys [Thu, 17 May 2018 11:01:35 +0000 (13:01 +0200)]
Add tests for VK_KHR_shader_atomic_int64
Add new test cases for 64 bit int atomic operations
to existing glsl.atomic_operations tests
New tests:
dEQP-VK.glsl.atomic_operations.*signed64bit*
dEQP-VK.glsl.atomic_operations.*unsigned64bit*
Affected tests:
dEQP-VK.glsl.atomic_operations.*
Components: Vulkan, Framework, Scripts
VK-GL-CTS issue:1172
Change-Id: If7e6871cc209b2086e087e0dd6c764cb8bd98a4b
(cherry picked from commit
80926e1393d1a3de407b9279162056fa0a53822e)
Jeff Bolz [Fri, 18 May 2018 01:32:31 +0000 (20:32 -0500)]
GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage tests
Components: Vulkan
Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*
Change-Id: Ic68f4e16ff96b2bbb161f2b37e7b4c83094e4009
(cherry picked from commit
f14467473e1bce678e12f71bcfcfb130c6423faa)
Jeff Bolz [Thu, 12 Jul 2018 19:51:24 +0000 (14:51 -0500)]
Add random descriptor set tests, and test VK_EXT_inline_uniform_block
These tests generate random descriptor set layouts, where each descriptor
set has a random number of bindings, each binding has a random array size
and random descriptor type.
Components: Vulkan
New Tests: dEQP-VK.binding_model.descriptorset_random.*
Change-Id: I3ddfc82898ed970366ee8be4254e50e39a186c58
(cherry picked from commit
152c32af165698f43aa581c60b79bc35c1448116)
Alexander Galazin [Wed, 19 Sep 2018 08:11:01 +0000 (10:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I976c55e221f9d0362327ccdbf49aebe7cf4e37f1
Alexander Galazin [Wed, 19 Sep 2018 07:24:01 +0000 (09:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: Ieda52b4e886e4448634bdea91f0791548642d3b0
Alex Walters [Fri, 14 Sep 2018 10:44:55 +0000 (11:44 +0100)]
Add ASTC LDR error colour quality warning
Some hardware can output the HDR error colour (black) instead of the
LDR error colour (magenta). Valid compression blocks are rendered
correctly.
This change adds a second comparison mechanism if the initial *fast*
deMemCmp fails; the texture values are compared allowing for any value
matching an error colour to compare against the other error colour.
If such a match is detected the test will output a QualityWarning
instead of a Pass.
If the two compared values don't match, but are not both error colours
the test result is still a Fail.
Affects:
dEQP-VK.image.texel_view_compatible*astc*
Components: Vulkan
VK-GL-CTS issue: 1231
Change-Id: Ie14913de0f2f3cf7fed90c275e48c67181c1e7ff
Matthew Netsch [Fri, 7 Sep 2018 17:44:55 +0000 (13:44 -0400)]
Fixes WSI protected swapchain allocation tests
Will now throw not supported if swapchain config
cannot fit in the available heap space.
Changes available heap space to fixed 25% of total
reported heap size instead of the current
"total - 2 * imageSize"
Components: Vulkan
VK-GL-CTS issue: 1345
Affects:
dEQP-VK.protected_memory.interaction.wsi.android.swapchain.create.*
Change-Id: I6854ae29b4394d450e47cc78bfb905362a964ec4
Tony Wasserka [Tue, 3 Apr 2018 14:40:21 +0000 (15:40 +0100)]
Consider rounding mode differences in mipmap tests
The tests already tolerate a threshold for rounding mode differences
for the result of a downscaling vkCmdBlitImage, however the accumulated
difference between Round-To-Nearest and Round-To-Zero may exceed the
current threshold. With this change, the expected result is generated
from the preceding device-rendered mipmap instead, so any legitimate
error will always be within the threshold now.
Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*_linear
Components: Vulkan
VK-GL-CTS issue: 1106
Change-Id: I0999419320d1b2384f42fbc8eddda29e79147bd4
(cherry picked from commit
b861ca1e6d4c002d4359a71dbff1cdf898e79aca)
Alexander Galazin [Fri, 14 Sep 2018 18:26:35 +0000 (20:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I888fa7abc156e03d7433791e8ae8ba9b6b41f1dd
Alexander Galazin [Fri, 14 Sep 2018 14:55:26 +0000 (16:55 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I3cf1ce3cb9da66c83e88048fb29a055ec196497e
Dzmitry Malyshau [Mon, 10 Sep 2018 00:40:54 +0000 (20:40 -0400)]
Test cube image blits with VK_IMAGE_CREATE_CUBE_COMPATIBLE flag.
The intent of blit tests with layer count = 6 was to test cubemap image support.
This PR adds the appropriate image creation flag for those tests.
Affects:
dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.generate_mipmaps.*
VK-GL-CTS issue: 1336
Components: Vulkan
Change-Id: I6ca0bb6905baebb4e6e6d3597e6e7c54d582473a
(cherry picked from commit
d8a05170a7ae7b6b284406f900b9609c7e71be14)
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check
The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.
Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete
Components: Vulkan
VK-GL-CTS issue: 1351
Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4
(cherry picked from commit
fed61233a802b5a8e7f6e634d0ef698e9155a94c)
Liam Middlebrook [Tue, 11 Sep 2018 05:42:26 +0000 (22:42 -0700)]
Fix RobustnessVertexAccessInstance bounds check
The bounds check preformed by
VertexAccessInstance::isValueWithinVertexBufferOrZero() needs to round
the value rather than truncating it when encoding it. When
`value * 0x3FFu` is casted to a deUint32 it's possible for the result to
be truncated instead of rounded causing unintended test failures.
Affects: dEQP-VK.robustness.vertex_access.a2b10g10r10_unorm_pack32.draw.vertex_incomplete
Components: Vulkan
VK-GL-CTS issue: 1351
Change-Id: Ib034b3e29fdbbbd4670e2bbdedad07492abf5cd4
Alexander Galazin [Thu, 6 Sep 2018 16:35:42 +0000 (18:35 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: If13d31edfaa41aab48bbca57024722276b86a511
Alexander Galazin [Thu, 6 Sep 2018 16:18:10 +0000 (18:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I717b207ec5642fb2f5a7deb9a91e52da7b3c862f
Alexander Galazin [Thu, 6 Sep 2018 15:48:31 +0000 (17:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.0.2 into vk-gl-cts/vulkan-cts-1.1.0
Change-Id: I5a095ab6fddfaa9ce687f8627b58ec12176ba660
Jeff Bolz [Fri, 31 Aug 2018 02:42:54 +0000 (21:42 -0500)]
Handle denorm flush to negative zero in unpackhalf2x16 tests.
Whether input fp16 values are flushed to zero is implementation
dependent. However, negative denorm values can be flushed to negative
zero and the logic did not handle that case.
Affects: dEQP-VK.glsl.builtin.function.pack_unpack.unpackhalf2x16*
Component: Vulkan
VK-GL-CTS issue: 1341
Change-Id: I2cd4a68cb5e498cd714a7e55b27ae4bc05ccde2d
Matthew Netsch [Fri, 13 Jul 2018 15:10:54 +0000 (11:10 -0400)]
Fixes tessellation triangle check
Tessellators may produce inner vertices positioned
on the edge of a primitive when used with fractional
odd spacing and the inner tessellation level is one.
Point mode doesn't factor into this rule
Components: Vulkan
VK-GL-CTS Issue: 1273
Affects:
dEQP-VK.tessellation.primitive_discard.*
Change-Id: Ida8c75d4275403eaae8b52fe55f3ed9e61dd2d6e
Matthew Netsch [Wed, 5 Sep 2018 18:36:31 +0000 (14:36 -0400)]
Reduces percentage of heap used in memory tests
Heaps can be shared and even fragmented on real systems.
The current percentage of 50% is a little high to reasonably
account for these issues.
Components: Vulkan
VK-GL-CTS issue: 1342
Affects:
dEQP-VK.memory.device_group_allocation.random*
Change-Id: I9a9c7fff05a663facd142a61a505c38925912ed8
Alexander Galazin [Fri, 31 Aug 2018 09:16:21 +0000 (12:16 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: I5a798ad268b27984038160cf645fc162260b069b
Alexander Galazin [Fri, 31 Aug 2018 07:52:20 +0000 (10:52 +0300)]
Merge vk-gl-cts/vulkan-cts-1.1.0 into vk-gl-cts/vulkan-cts-1.1.1
Change-Id: I7e0e51ad6bbdebe2c0067cedbb8e0d3bca177fad
Petros Bantolas [Wed, 18 Jul 2018 10:19:04 +0000 (11:19 +0100)]
Fix subpixel precision for line geometry generation
Line geometry generation for rasterization tests wasn't taking the HW
subPixelPrecisionBits limit into account. Modified the triangle creation
routines to round those coordinates down to the driver provided
precision.
Affects:
dEQP-VK.rasterization.*line*
dEQP-GLES*.functional.rasterization.*line*
Components: Framework
VK-GL-CTS issue: 1274
Change-Id: I54af2f9606372bead2a8c7238588374101f80e55
Alexander Galazin [Thu, 30 Aug 2018 07:18:34 +0000 (09:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.1 into vk-gl-cts/vulkan-cts-1.1.2
Change-Id: If4c00f790e935ce2a38709a99745acff6d1ef5f8
Matthew Netsch [Tue, 28 Aug 2018 18:44:45 +0000 (14:44 -0400)]
Fixes memory allocation tests
Queries the platform specific alignment restrictions
with a temp buffer instead of estimating.
Components: Vulkan
VK-GL-CTS issue: 1259
Affects:
dEQP-VK.memory.allocation.basic.size_*
Change-Id: I272026f9e29b5606b8a4265ef0034752ac43a71a
John Anthony [Thu, 23 Aug 2018 14:11:13 +0000 (16:11 +0200)]
Incorrect enum values for VK_KHR_create_renderpass2
Some VkStructureType enum values added for VK_KHR_create_renderpass2 are
not in accordance with current Vulkan headers and the Vulkan
specification.
Components: Vulkan
VK-GL-CTS issue: 1321
Affects: dEQP-VK.*renderpass2.*
Change-Id: I51031d538bc427e56bbf56f603f200b513834d67
Aaron Bartholomew [Mon, 20 Aug 2018 19:28:42 +0000 (12:28 -0700)]
Improve wsi.incremental_present.* for low memory
This patch modifies the VK.wsi.incremental_present.* tests to alleviate
issues with memory use on memory constrained platforms
The issue is that the scale_down group in particular creates very large
swapchains & that the presentation engine may keep one or moreof the
swapchain images allocated until it is able to release them. Which means
that since this test does the following:
create swapchain, render some frames, destroy the swapchain, repeat
the high watermark for memory consumed by swapchain images will be higher
than the amount consumed by the single largest swapchain created.
This patch addresses these issues in two ways:
1) Reducing the size of the swapchain images allocated for scale down
tests to use the next power of two of the window size, instead of the
max extents reported by Vulkan
Max extents are already tested in other deqp tests & it's redundant
to do evaluate it again here; this change will make the test more
on functionality
2) Creates/Renders/Destroys a small dummy swapchain between each test
iteration in order to flush the memory held by the presentation
engine
Affects:
dEQP-VK.wsi.*.incremental_present.*
Components: Vulkan
VK-GL-CTS issue: 1179
Change-Id: Ib7e1a5d9110e7dabc0d0ced21b643389c2bf0328
(cherry picked from commit
a3ba2368fda1ecf8cc3d5c3136b5674a3414f472)