Ricardo Garcia [Tue, 16 Jul 2019 09:02:40 +0000 (11:02 +0200)]
Test buffer and image properties with external host memory
This commit adds image and buffer property checks to the existing
external host memory tests (VK_EXT_external_memory_host).
In addition, fix a couple of validation errors in the existing memory
synchronization test.
Affected tests:
dEQP-VK.memory.external_memory_host.*
Components: Vulkan
VK-GL-CTS issue: 1884
Change-Id: I95aa3701769cb97ac0aa8873db4a43a1bd9f3667
Samuel Iglesias Gonsálvez [Thu, 13 Jun 2019 09:13:45 +0000 (11:13 +0200)]
Add VK_EXT_shader_subgroup_ballot gl_SubGroup*MaskARB tests
Added tests:
dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.*
Components: Vulkan
VK-GL-CTS issue: 1692
Change-Id: I2c2523ac6f8bb6ab13b084700137227dd6882850
Boris Zanin [Fri, 5 Jul 2019 10:09:06 +0000 (12:09 +0200)]
Testing for sampleShadingEnable
Additional testing for sampleShadingEnable.
Add:
* dEQP-VK.pipeline.multisample.min_sample_shading_enabled.*
* dEQP-VK.pipeline.multisample.min_sample_shading_disabled.*
Components: vulkan
VK-GL-CTS issue: 1782
Change-Id: Idc7b5ab964a7f65fa6bb12a0dd9668fba2fa4bec
Alexander Galazin [Wed, 24 Jul 2019 09:11:56 +0000 (11:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: Ica3065aaf5d56791205074a44bcce66bfa26f6cd
Alexander Galazin [Wed, 24 Jul 2019 06:56:55 +0000 (08:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I1e2517f737ee503fdd0f50c517270e35ed25b203
Alexander Galazin [Tue, 23 Jul 2019 18:02:50 +0000 (20:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I4ed438d3edefade78a1602957d3d26fa777175c2
Alastair Donaldson [Thu, 4 Jul 2019 22:14:06 +0000 (23:14 +0100)]
dEQP-VK.graphicsfuzz.unreachable-loops-in-switch
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.unreachable-loops-in-switch
Change-Id: If080620b03201031c0e7cf5af67fa30d0fee57d3
Boris Zanin [Fri, 19 Jul 2019 10:43:43 +0000 (12:43 +0200)]
Fix check-all under Windows
filter out original Vulkan header sources under Windows as well.
Change-Id: I441cc132af94c4df69d92a94f4731287d05d083c
Alastair Donaldson [Fri, 5 Jul 2019 10:39:16 +0000 (11:39 +0100)]
dEQP-VK.graphicsfuzz.return-in-loop-in-function
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.return-in-loop-in-function
Change-Id: Ibcbc14690b61bfb5694154c350643430f779eedf
Graeme Leese [Thu, 6 Jun 2019 15:16:00 +0000 (16:16 +0100)]
Increase mediump precision testing
The spec requires a relative precision of 2^-10 and a minimum exponent
of 2^-14, so use those for mediump testing. This tightens the
requirements over what was used before.
To compensate somewhat, where the float16_int8 extension previously
allowed more ULP, change the mediump tests to use that. In some cases
this means that tests are still getting slightly stricter, in some cases
slightly less strict.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision.*.mediump.*
Change-Id: I039f1eb551ff449b500972480bab961ae6ee63f6
Graeme Leese [Tue, 9 Jul 2019 10:10:51 +0000 (11:10 +0100)]
Don't generate then squash subnormal numbers
The tests don't want subnormal numbers but were explicitly generating
them and then removing them again afterwards. For mediump tests values
the values that are subnormal in 16-bit float were not being removed
again causing issues on some implementations.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision_*
Change-Id: I6201bf28870bb601dae029eefb61b6924bc60016
Alexander Galazin [Fri, 19 Jul 2019 13:26:37 +0000 (15:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I03a9826af64fb5624f7c53cb7d7880fdd19cfa45
Tony Zlatinski [Fri, 19 Jul 2019 00:04:44 +0000 (19:04 -0500)]
Fix command line parameters processing of TestLog
Change
7b7791a40f for issue 1666 has added functionality
to TestLog by adding extra parameters to the constructor.
The change, however, has patchied only one of the uses of the
class, breaking the other 3 uses of it. This has caused the
log flags to be wrong, and the new functionality introduced
by
7b7791a40f to not work, as expected.
This change fixes the rest of the locations and is adding one
more constructor for the TestLog class targeted for use by Android.
Components: Framework
VK-GL-CTS issue: 1887
Change-Id: I8d52d40ee5dffb120b8a4945b0f865c8f3e7b7dd
Alexander Galazin [Thu, 18 Jul 2019 14:12:30 +0000 (16:12 +0200)]
Include header that defines unique_ptr
Add <memory> as some compilers otherwise don't see definition of std::unique_ptr
Components: Vulkan
Affects: some builds
VK-GL-CTS issue: 1872 (follow up)
Change-Id: If3eb42daa2d1d85af7b30bbf5afeed76bb31bd4b
Samuel Iglesias Gonsálvez [Wed, 5 Jun 2019 07:24:40 +0000 (09:24 +0200)]
Add depthBounds tests for VK_EXT_depth_range_unrestricted
Added tests check that depthbounds range values outside [0.0f, 1.0f]
are properly supported by the drivers.
This test will draw the same scene two times. The first time, it will
render the points depending on if they pass the depth test and if clear
depth value passes the depthBounds test.
The second time, will render the same scene but the the point positions
will have depth buffer values from the first draw. If they pass the
depth test, then the depthBounds test will check the previous content
of the depth buffer, which is most cases, will make that the second
image differs from the first one.
Added new tests:
dEQP-VK.pipeline.depth_range_unrestricted.depthbounds.*
Components: Vulkan
VK-GL-CTS issue: 1754
Change-Id: Ica136efd9e946db63b2092914566d43214b7b641
David Neto [Wed, 10 Jul 2019 20:07:21 +0000 (16:07 -0400)]
convert{su}tof and convertfto{su} tests with float16 need Float16 capability
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.convertstof.int32_to_float16_m1234
dEQP-VK.spirv_assembly.instruction.compute.convertstof.int32_to_float16_min
dEQP-VK.spirv_assembly.instruction.compute.convertstof.int32_to_float16_max
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_m1234
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_min
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_max
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_p0
dEQP-VK.spirv_assembly.instruction.compute.convertftos.float16_to_int32_m0
dEQP-VK.spirv_assembly.instruction.compute.convertutof.uint32_to_float16_1234
dEQP-VK.spirv_assembly.instruction.compute.convertutof.uint32_to_float16_max
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_1234
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_max
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_p0
dEQP-VK.spirv_assembly.instruction.compute.convertftou.float16_to_uint32_m0
VK-GL-CTS issue: 1874
Change-Id: Ib6cdbb56dea510feb90ce80e1f6edf0f54149e26
Jeff Bolz [Mon, 15 Jul 2019 19:58:55 +0000 (14:58 -0500)]
Use the default device in dEQP-VK.api.buffer.* tests
The default device includes a sparse queue, no need to create a new
device for it. This reduces the runtime of these tests significantly.
Components: Vulkan
Affects: dEQP-VK.api.buffer.*
Change-Id: I38db03b8ff1a69665061b555a20613c59825b4f3
Graeme Leese [Thu, 24 Jan 2019 00:27:28 +0000 (00:27 +0000)]
Cut down on repetition in the subgroup tests
Remove some of the multitude of copies of the same test code.
Components: Vulkan
Affects: dEQP-VK.subgroups.basic.*
dEQP-VK.subgroups.ballot.*
Change-Id: Ic6af3b19b7e825abf729039049c8f2e535c2c425
David Neto [Thu, 11 Jul 2019 14:43:10 +0000 (10:43 -0400)]
Fix validation VK_KHR_16bit_storage in opphi test
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.opphi.vartype_float16
VK-GL-CTS issue: 1874
Change-Id: Icb210558031d73da05a6cee016346bdb3f0fd239
Graeme Leese [Tue, 2 Jul 2019 17:06:37 +0000 (18:06 +0100)]
Remove duplication from YCbCrUtils
There was a massive amount more code than was needed here, which made it
really hard to understand, find the relevant part of the code, or make
fixes. Simplifying the code has shown up three possible bugs just by
inspection.
Components: Vulkan
Affects: dEQP-VK.ycbcr.*
Change-Id: I8877c3a4eaacb98955e37fa91572d87fd3c417ef
Samuel Iglesias Gonsálvez [Mon, 27 May 2019 13:52:31 +0000 (15:52 +0200)]
Add input attachment restrictions to makeCreateImageInfo()
From Vulkan spec:
"All attachments in pInputAttachments that are not VK_ATTACHMENT_UNUSED
must have formats whose features contain at least one of
VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT or
VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT."
Affects:
dEQP-VK.image.texel_view_compatible.graphic.basic.*.attachment_*
VK-GL-CTS issue: 1414
Components: Vulkan
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Change-Id: Ia26a618b74a0e7cb198576a6c5872a639dc07a5e
Ricardo Garcia [Tue, 9 Jul 2019 15:03:17 +0000 (17:03 +0200)]
Test vkCmdClearAttachments with unused depth/stencil attachments
The unused attachments clear tests were missing the cases of depth and
depth/stencil attachments. This commit adds more combinations to the
test group, including all the previous tests plus combinations of them
with one depth or depth/stencil attachment, used or unused, and
depth/stencil attachments alone without color attachments.
Affected tests:
dEQP-VK.renderpass*.unused_clear_attachments.*
Components: Vulkan
VK-GL-CTS issue: 1872
Change-Id: If2fdd8ead1bd9aecec3a06757994b18b1d258522
Ricardo Garcia [Mon, 24 Jun 2019 16:14:52 +0000 (18:14 +0200)]
Test 64-bit results with transform feedback queries
Add tests so transform feedback query results are checked using both
32-bit and 64-bit numbers.
Removed tests:
dEQP-VK.transform_feedback.simple.*query*
Added tests:
dEQP-VK.transform_feedback.simple.*query*_32bits*
dEQP-VK.transform_feedback.simple.*query*_64bits*
Components: Vulkan
VK-GL-CTS issue: 1847
Change-Id: Idf4d6228af44d4d6aca85bfa30b184c11eb34aeb
Ricardo Garcia [Thu, 27 Jun 2019 10:49:37 +0000 (12:49 +0200)]
Test 32-bit stat queries with vkGetQueryPoolResults
Extend the current set of pipeline statistic query tests using
vkGetQueryPoolResults to request both 32-bit and 64-bit results in order
to improve test coverage.
Removed tests:
dEQP-VK.query_pool.statistics_query.*
Added tests:
dEQP-VK.query_pool.statistics_query.*32bits*
dEQP-VK.query_pool.statistics_query.*64bits*
Components: Vulkan
VK-GL-CTS issue: 1854
Change-Id: I278535ffad79c9116b3bedbd837567437e8a50c1
Graeme Leese [Fri, 28 Jun 2019 08:52:09 +0000 (09:52 +0100)]
Further tidy up the subgroup vote sources
Use functions rather than recalculate the same things for different test
sets and make the shader source easier to read by using temporary
variables.
Components: Vulkan
Affects: dEQP-VK.subgroups.vote.*
Change-Id: Ie256807064d0486f6268e02db8768d88791c0349
Graeme Leese [Wed, 10 Jul 2019 09:57:12 +0000 (10:57 +0100)]
Backport non-extension subgroup changes from next-dev
The subgroup extended types made quite a few changes to the framework
that make it a bit nicer in general. Backport these to master to improve
things now and to make it easier to integrate changes between the two
branches.
Components: Vulkan
Affects: dEQP-VK.subgroups.*
Change-Id: I5f0be4f4a605af393f8bb997472cd23a132d905a
Panagiotis Apostolou [Fri, 12 Jul 2019 09:25:43 +0000 (11:25 +0200)]
Pipeline barriers flushing buffer data to host
Adds pipeline barriers after vkCmdDispatch which essentially flushes gpu
caches and the buffer data becomes visible to the host.
Affects:
dEQP-VK.spirv_assembly.instruction.compute.*
dEQP-VK.spirv_assembly.instruction.graphics.opspecconstantop_opquantize.*
Components: Vulkan
VK-GL-CTS issue: 1880
Change-Id: Ib99a4ed9a1a2d57b286dea2251b3bc4a67002dfb
Alexander Galazin [Wed, 17 Jul 2019 13:59:49 +0000 (15:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I7511a56dec3ae742774a2f6d76f103410e81eb94
Alexander Galazin [Tue, 16 Jul 2019 16:34:23 +0000 (18:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: Ic5126bd75b2616bdd9525d65eca95dc170475ced
Igor Ostrowski [Mon, 15 Apr 2019 07:56:39 +0000 (09:56 +0200)]
Add compatible memory type check for given handle
Affects:
dEQP-VK.synchronization.win32_keyed_mutex.*
Components: Vulkan
VK-GL-CTS issue: 1866
Change-Id: I982bcd2e2ac15aa5cae403fcec859b28bcaf7999
Alexander Galazin [Tue, 16 Jul 2019 11:54:24 +0000 (13:54 +0200)]
Merge vk-gl-cts/aosp-deqp-dev into vk-gl-cts/master
Change-Id: Ica01d13044d1c2a570bd692742327b096d80e9b3
Jeff Bolz [Mon, 15 Jul 2019 15:57:10 +0000 (10:57 -0500)]
Update Vulkan headers to 1.1.115
Should be no functional change, just brings the header up to date
to ease submitting new tests for those extensions.
Components: Vulkan
Change-Id: I9ed667ccf4eba57b057ff30d7117832516feb380
Slawomir Cygan [Fri, 12 Jul 2019 13:02:16 +0000 (15:02 +0200)]
Fix image layouts in descriptor indexing tests
This is a fix for regression introduced in
4301d73b3
- in fact this is a partial revert of that change.
After
4301d73b3, the current image layout (READ_ONLY_OPTIMAL) was
different than image layout used in descriptor set bindings
(GENERAL), what is invalid.
As some of these descriptor set binding are used for STORAGE_IMAGEs,
which require images in GENERAL layout, the simplest fix was to revert
back to using GENERAL layouts.
Components: Vulkan
VK-GL-CTS Issue: 1881
Change-Id: Idac940135bafe6be6e456d0ec554d5cc3c3fc8e7
Affects: dEQP-VK.descriptor_indexing.*
Alexander Galazin [Fri, 12 Jul 2019 10:27:44 +0000 (12:27 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: Idbcbb73a767b6d267c0c2215d6bdc9739b2096eb
Alexander Galazin [Fri, 12 Jul 2019 09:00:34 +0000 (11:00 +0200)]
Update KC CTS
Components: Framework
Affects: dEQP-GL.*
Change-Id: I213498330f160e0d1b8e8c2bdd58d8b521a10be7
Graeme Leese [Wed, 19 Jun 2019 14:14:45 +0000 (15:14 +0100)]
Fix random generation for isinf/isnan tests
There were two copies of the generator that were essentially the same,
so I've used a function for it. No normal values were ever being
generated that had the top bit of the exponent set or that had the top
bit of the mantissa unset. This meant that silly errors like testing the
wrong set of bits might not be caught by the tests.
The new generator still only generates quiet Nans, which may be a
mistake.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.function.common.isinf.*
dEQP-VK.glsl.builtin.function.common.isnan.*
Change-Id: I7ca64dbcb327b4bbf6687ebb2d61a47c328d514b
Samuel Iglesias Gonsálvez [Mon, 13 May 2019 08:31:44 +0000 (10:31 +0200)]
Add QueryIndexed tests when streamId is zero
In the case where streamID==0, it is legal to use cmdBeginQuery paired
with cmdEndQueryIndexedEXT (and vice versa).
Added tests:
dEQP-VK.transform_feedback*queryindexed*
Components: Vulkan
VK-GL-CTS issue: 1772
Change-Id: I701916c4dc38826e9874976649f4ae57cac42614
Alexander Galazin [Fri, 12 Jul 2019 08:56:38 +0000 (10:56 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I3ee381095ae5e6ffe4c3d581fd4de06cf1f7c8ec
Alexander Galazin [Fri, 12 Jul 2019 07:47:09 +0000 (09:47 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I01ed4686a43801a91df0459b821fd047f4858940
Boris Zanin [Mon, 8 Jul 2019 13:27:50 +0000 (15:27 +0200)]
Remove conformance version test from Android
Removes conformance version tests from android CTS.
Split tests designed to validate VK_KHR_driver_properties
into several smaller tests.
Add three more records into knownDriverIds.
Add:
* dEQP-VK.api.driver_properties.*
Remove:
* dEQP-VK.api.driver_properties
Components: vulkan
VK-GL-CTS issue: 1839
Change-Id: I9b591778c9833fd890c9af46cb87d9f5eb695dbd
Mike Byrne [Mon, 1 Jul 2019 10:53:36 +0000 (11:53 +0100)]
Fix Android WSI incremental present image tests
The pipeline for Android WSI incremental present image tests was not
provided with a valid scissor rect. This caused the tests to perform
incorrectly (and violates Vulkan requirements).
Affects: dEQP-VK.wsi.android.incremental_present.*
VK-GL-CTS Issue: 1867
Change-Id: I257ab8ae59a13e24fb299b6b47e925f3c105aecb
Components: Vulkan, AOSP
Paul Thomson [Mon, 1 Jul 2019 14:16:09 +0000 (15:16 +0100)]
dEQP-VK.graphicsfuzz.color-write-in-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.color-write-in-loop
Change-Id: I1f5450fbfa7d421eb61d2b0ed9d4fbb90e126137
Paul Thomson [Mon, 1 Jul 2019 14:12:19 +0000 (15:12 +0100)]
dEQP-VK.graphicsfuzz.matrices-and-return-in-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.matrices-and-return-in-loop
Change-Id: I17a8ccf8ea2c5e8f1914d27fa7bc0d3bceb130ad
Alex Walters [Thu, 11 Jul 2019 14:17:53 +0000 (15:17 +0100)]
Exclude dEQP-VK.ssbo.layout.random.scalar.75
Remove dEQP-VK.ssbo.layout.random.scalar.75 from mustpass, added to
excluded test list. The shader length is quite extreme resulting in an
overly high runtime where certain devices can easily hit the watchdog.
Affects:
dEQP-VK.ssbo.layout.random.scalar.75
Components: Vulkan
VK-GL-CTS Issue: 1829
Change-Id: I57627fc895ed4a0e023e9f81e0cc6cdc203d2485
Paul Thomson [Mon, 1 Jul 2019 14:17:58 +0000 (15:17 +0100)]
dEQP-VK.graphicsfuzz.early-return-and-barrier
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.early-return-and-barrier
Change-Id: I72818ac38bb0552f286a70b82f23907ada8a7059
Paul Thomson [Mon, 1 Jul 2019 14:08:31 +0000 (15:08 +0100)]
dEQP-VK.graphicsfuzz.if-and-switch
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.if-and-switch
Change-Id: Ifc16e1b2a77c8ca2b564d31d7ba30c23b615c4b9
Ricardo Garcia [Tue, 2 Jul 2019 15:30:19 +0000 (17:30 +0200)]
Test DMA buffers as external image memory
Enable external image memory tests for DMA buffers.
New tests:
dEQP-VK.api.external.memory.dma_buf.*.image.*
Components: Vulkan
VK-GL-CTS issue: 1863
Change-Id: I62037a64aad24638ff52ac664505837ab1e4af3b
Paul Thomson [Mon, 1 Jul 2019 14:41:35 +0000 (15:41 +0100)]
dEQP-VK.graphicsfuzz.dead-barriers-in-loops
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.dead-barriers-in-loops
Change-Id: I74a9f7375bef8d59b9948f7c94237c6ec6e2a40f
Paul Thomson [Mon, 1 Jul 2019 13:07:03 +0000 (14:07 +0100)]
dEQP-VK.graphicsfuzz.barrier-in-loop-with-break
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.barrier-in-loop-with-break
Change-Id: I862dc3cbf2f739123c2f0628159e92db2f8fd748
Ricardo Garcia [Tue, 25 Jun 2019 11:46:25 +0000 (13:46 +0200)]
Test 32-bit timestamp query results
Obtain timestamp query results as both 32-bit and 64-bit numbers, using
both vkCmdCopyQueryPoolResults() and vkGetQueryPoolResults(). Verify all
results match and the lower 32 bits of the 64-bit results match the
32-bit results.
In addition, add a missing barrier in one of the timestamp tests and
refactor the way the timestamp validity bits are checked across
different tests.
New tests:
dEQP-VK.pipeline.timestamp.misc_tests.consistent_results
Components: Vulkan
VK-GL-CTS issue: 1849
Change-Id: I76769e8a3cf9fbfa5de9beefbc0993ffb2f2bef9
Samuel Iglesias Gonsálvez [Mon, 3 Jun 2019 10:57:58 +0000 (12:57 +0200)]
Add tests for VK_EXT_shader_subgroup_ballot
Add tests for read*InvocationsARB() and other defines added by
VK_EXT_shader_subgroup_ballot extension.
Tests are based on the existing ones for subgroup's ballot feature but
adapted to the extension.
These tests don't check the gl_SubGroup*MaskARB variables, they will
be added in other CL.
New tests:
dEQP-VK.subgroups.ballot.ext_shader_subgroup_ballot.*
dEQP-VK.subgroups.ballot_broadcast.ext_shader_subgroup_ballot.*
Components: Vulkan
VK-GL-CTS issue: 1692
Change-Id: Ic694c371245ebde5883f507c26cd6caead15ed87
Ricardo Garcia [Thu, 20 Jun 2019 15:48:33 +0000 (17:48 +0200)]
Test vkCmdCopyQueryPoolResults with transform feedback queries
Add tests to get transform feedback query results using
vkCmdCopyQueryPoolResults in addition to vkGetQueryPoolResults.
New tests:
dEQP-VK.transform_feedback.simple.query_copy*
Components: Vulkan
VK-GL-CTS issue: 1840
Change-Id: Ia5f5737be68a3af6ded71f0a93b3a398a7f99a97
Alexander Galazin [Thu, 11 Jul 2019 09:29:37 +0000 (11:29 +0200)]
Update glslang
Components: Framework
Affects: dEQP-VK.*
Change-Id: I7b26c3f09bf33797b511dc127c878222f0a1c815
Robert Tray [Fri, 7 Jun 2019 20:48:08 +0000 (14:48 -0600)]
Fix for windows heights that are not a multiple of 4
Adjust the number of rows in the buffer comparison to avoid going
too far when the window height is not a multiple of 4.
Components: OpenGL ES
VK-GL-CTS issue: 1823
Affects : KHR-GLES31.core.draw_indirect.advanced-primitiveRestart-elements
Change-Id: I61d4ec93546171a45b17c5861996646023956eb3
Jeff Bolz [Thu, 16 May 2019 04:27:53 +0000 (23:27 -0500)]
VK_EXT_fragment_shader_interlock tests
Components: Vulkan
New Tests: dEQP-VK.fragment_shader_interlock.*
VK-GL-CTS issue: 1856
Change-Id: I0246519ac51fcb2eb30fa264b02eb1f30c763e24
Alexander Galazin [Wed, 10 Jul 2019 11:15:12 +0000 (13:15 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: Idcaa01ac910fd68a5f429ffb833990b25bec0622
Alexander Galazin [Wed, 10 Jul 2019 09:12:51 +0000 (11:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I34d0c949c112eb56427e54f1b0f34f730a1d0b27
Slawomir Cygan [Tue, 9 Jul 2019 10:19:26 +0000 (12:19 +0200)]
Add support for building with Visual Studio 2019
Components: Framework
Change-Id: I52c92750e9e2874b86fd7bceea0070ad609909c1
Jeff Bolz [Tue, 9 Jul 2019 05:16:37 +0000 (00:16 -0500)]
Don't filter out 'duplicate' device features
Features that are actually duplicates will just have an 'alias' line
in the header file, and get automatically filtered out. Once we have
similarly named structures that differ only in suffix, we need to allow
duplicates and have the regex match by extension suffix as well
Components: Vulkan
Change-Id: I889d4f0bdd3dd8204122484c2ba07ec40a8e5cd0
Jeff Bolz [Tue, 9 Jul 2019 04:18:07 +0000 (23:18 -0500)]
Update Vulkan headers to 1.1.114
Should be no functional change, just brings the header up to date
to ease submitting new tests for those extensions.
Components: Vulkan
Change-Id: Iee09105fbc827b3445f295e62fd46d1d888c4d20
Boris Zanin [Mon, 17 Jun 2019 07:49:36 +0000 (09:49 +0200)]
Fix VK_KHR_imageless_framebuffer tests
Formats are referred to by a pointer to a variable allocated on
stack, which will become invalid before its usage.
Use permanent variable and pointer to it.
Update tests:
* dEQP-VK.imageless_framebuffer.*
Components: Vulkan
VK-GL-CTS issue: 1477
Change-Id: Ic8ab76ec576168fd0bfc3aef9a08f6bab2392584
(cherry picked from commit
92c1b600fad9925a305e346b7de5fa5b6587008e)
Boris Zanin [Fri, 11 Jan 2019 13:08:43 +0000 (14:08 +0100)]
Add tests for VK_KHR_imageless_framebuffer
Implement imageless framebuffer extension tests.
Add tests:
* dEQP-VK.imageless_framebuffer.color
* dEQP-VK.imageless_framebuffer.depth_stencil
* dEQP-VK.imageless_framebuffer.color_resolve
* dEQP-VK.imageless_framebuffer.depth_stencil_resolve
* dEQP-VK.imageless_framebuffer.multisubpass
Components: Vulkan
VK-GL-CTS issue: 1477
Change-Id: I2baa0614369a98afe2c028788824f50505bb291b
(cherry picked from commit
656826a55cb17850a0f33dacf671490715020efa)
Alexander Galazin [Fri, 5 Jul 2019 09:47:28 +0000 (11:47 +0200)]
Update SPIRV Tools and Headers
Components: Framework
Affects: dEQP-VK.*
Change-Id: Icc4789c9953d1e5e2240a36e9dcac52a59323126
Alexander Galazin [Fri, 5 Jul 2019 09:44:59 +0000 (11:44 +0200)]
Update README
Components: Vulkan
Change-Id: Iaef83303332cc02b6c645252a976881532a9c481
Alexander Galazin [Fri, 5 Jul 2019 09:36:02 +0000 (11:36 +0200)]
Whitelist Vulkan CTS 1.1.5.0
Affects: dEQP-VK.api.driver_properties.properties
Components: Vulkan
Change-Id: I5493e4a3cf0007c761a339d4e281d3fd94724023
Juan A. Suarez Romero [Tue, 2 Jul 2019 13:55:01 +0000 (15:55 +0200)]
SPIR-V assembly tests require Invocations in Geometry shaders
Validation layers are complaining about the lack of Invocation count in
several of the geometry spirv assembly tests.
Affects: dEQP-VK.spirv_assembly.instruction.graphics.*_geom
Components: Vulkan
VK-GL-CTS issue: 1862
Change-Id: I3c3f44574bef0ad2d61b27f0b3d94f9e24924a92
Tom Cooper [Thu, 27 Jun 2019 16:14:22 +0000 (17:14 +0100)]
Allows initialisation of float16 values for comparison tests by casting.
Affects:
dEQP-VK.glsl.builtin.precision_fp16_storage32b.*
Components: Vulkan
VK-GL-CTS issue: 1860
Change-Id: I0e211dacf31a91d2cff2912440d4283bb5a2e492
Graeme Leese [Thu, 27 Jun 2019 10:31:36 +0000 (11:31 +0100)]
Fix more 16bit denorms in precision tests
The denorm code that was fixed in: https://gerrit.khronos.org/#/c/4135/
still persisted in a different function that I hadn't noticed. Update it
there as well.
Because this function is being called on fixed floats, rather than on
random ones, I don't think the brokenness of the old code will cause a
practical problem, but the new version is simpler and more correct, so
I've changed it anyway.
Components: Vulkan
VK-GL-CTS issue: 1843
Affects: dEQP-VK.glsl.builtin.precision_fp16_storage32b.*
Change-Id: I6d6d7f8678f6edf41255e194650648c865b71e76
Graeme Leese [Fri, 28 Jun 2019 08:36:22 +0000 (09:36 +0100)]
Cast invocation ID correctly in allequal tests
The gl_SubgroupInvocationID was not being cast to the appropriate type
in the vote.allequal tests, so every type was testing the uint version.
The ARB extension tests worked around this by specifically casting to
bool because there is no uint version in the ARB extension. This version
casts the invocation ID to the appropriate type for the test. This part
of the test is skipped for boolean types because there may not be an
invocation with ID 0, so the results may all be equal ( == true),
contrary to the test's expectation.
Component: Vulkan
VK-GL-CTS issue: 1845
Affects: dEQP-VK.subgroups.vote.*
Change-Id: I98a01fa2398cc4cdc18125af2cc64f59a5d559ca
Alexander Galazin [Thu, 4 Jul 2019 10:11:42 +0000 (12:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: I02390abaef46d2859360a3757a7e14dd830853ae
Boris Zanin [Wed, 19 Jun 2019 16:39:31 +0000 (18:39 +0200)]
Forbid non-ascii symbols in source files
Enforce usage of ascii symbols only by adding one more check
into check-all target. Adds check_encdoing.py file into scripts.
More details please see in the issue.
Components: Framework
VK-GL-CTS issue: 1836
Change-Id: I702d1338bf1ee7180b87e51151b26a5ac17afbdd
Toni Merilehti [Wed, 5 Jun 2019 13:05:10 +0000 (16:05 +0300)]
Test image load/store with packed formats
This CL adds image load/store tests for the packed formats
requiring the StorageImageExtendedFormats SPIR-V capability.
The thresholds in the result verification are now based
on the channel class and bit depths of the components.
The shader generation is modified to store also negative
values on signed formats.
New tests:
dEQP-VK.image.store.*pack32*
dEQP-VK.image.load_store.*pack32*
dEQP-VK.image.format_reinterpret.*pack32*
Affects:
dEQP-VK.image.store.*
dEQP-VK.image.load_store.*
dEQP-VK.image.format_reinterpret.*
dEQP-VK.image.qualifiers.restrict.*
Components: Framework, Vulkan
VK-GL-CTS issue: 1814
Change-Id: Ia2d061dbfd9c19ade8057398dd78692b5a28c029
Ricardo Garcia [Mon, 24 Jun 2019 09:22:56 +0000 (11:22 +0200)]
Enable strong-typed DE_LENGTH_OF_ARRAY for every compiler
The C++ strong-typed version of DE_LENGTH_OF_ARRAY should work with
every C++ compiler. This commit removes the restriction of being used
only with the Microsoft compiler.
Components: Framework
VK-GL-CTS issue: 1848
Change-Id: Id28c02ab4dfecefa84093578afca0da50b0bdd65
Alexander Galazin [Thu, 4 Jul 2019 07:34:10 +0000 (09:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Id458e912df4bb49e821279d353b056d4baaac114
Yiwei Zhang [Sat, 22 Jun 2019 02:14:25 +0000 (19:14 -0700)]
Split shared_presentable_image tests into more dimensions to avoid timeout
Components: Vulkan
VK-GL-CTS Issue: 1842
Affects: dEQP-VK.wsi.*.shared_presentable_image.*
Change-Id: I957c106b756fab4be5b17f7d0a6d9ad2a14fce75
Mike Byrne [Mon, 24 Jun 2019 06:44:23 +0000 (07:44 +0100)]
Fix Android WSI shared presentable image test OOM
The dEQP-VK.wsi.android.shared_presentable_image.scale_down tests fail
intermittently with OOM errors. A simliar fix as implemented for
WSI incremental presentable image tests resolves this.
Affects: dEQP-VK.wsi.android.shared_presentable_image.scale_down.*
Components: Vulkan, AOSP
VK-GL-CTS Issue: 1858
Change-Id: Iee7a31560e46b6c449d14ec6e7c75d7406ae6d82
Mike Byrne [Tue, 25 Jun 2019 13:39:53 +0000 (14:39 +0100)]
Fix Android WSI shared presentable image tests
The pipeline for Android WSI shared presentable image tests was not
provided with a valid scissor rect. This caused the tests to perform
incorrectly (and violates Vulkan requirements).
Affects:
dEQP-VK.wsi.android.shared_presentable_image.scale_down.demand
dEQP-VK.wsi.android.shared_presentable_image.scale_down.continuous
VK-GL-CTS Issue: 1857
Change-Id: I060c12d7192945ecbe01dfcc8e89c03874b9b218
Components: Vulkan, AOSP
Graeme Leese [Wed, 1 May 2019 13:46:46 +0000 (14:46 +0100)]
Add tests for OpPtrAccessChain on Workgroup storage
OpPtrAccessChain is supposed to work differently on workgroup storage
than on any other storage class but there were no tests for it. Add some
very basic testing.
Components: Vulkan
New Tests: dEQP-VK.spirv_assembly.instruction.compute.ptr_access_chain.*
Change-Id: I91d95fb239d3be6bfb86db88f842e19101f5976d
Jari Komppa [Tue, 18 Jun 2019 12:15:09 +0000 (15:15 +0300)]
Speed up hierarchy traversal, part 1
Some of the tests do premature heavy work during test hierarchy
traversal, meaning that they waste time regardless of whether the tests
are run or not. These changes move some of that heavy work to later
stage of the test run.
Affects:
dEQP-VK.ubo.*
dEQP-VK.ssbo.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1830
Change-Id: I437e55ee2d57efc69edf62a213f7476a22b1a2f0
Ilkka Saarelainen [Wed, 26 Jun 2019 09:02:15 +0000 (12:02 +0300)]
Fix feature requirements of sample mask tests
Some multisample sample mask tests required sampleRateShading feature
even though it is not actually needed.
This CL removes the feature requirement from those tests.
Following tests don't actually depend on the feature and no longer
require it:
dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.pattern.*
dEQP-VK.pipeline.multisample_shader_builtin.sample_mask.write.*
Affects:
dEQP-VK.pipeline.multisample_shader_builtin.sample*
Components: Vulkan
VK-GL-CTS issue: 1745
Change-Id: Ib894149c9991edd10ae1961e7aaf6678eb0e6b5a
Jeff Leger [Tue, 25 Jun 2019 21:19:33 +0000 (17:19 -0400)]
Fix derivate dynamic tests to check shader stage support
The tests used subgroup ballot operations but didnt
check if the fragment shader stage was supported. This lead
the application to run unsupported tests.
Affects:
dEQP-VK.glsl.derivate.*
Components: Vulkan
VK-GL-CTS issue: 1852
Change-Id: I43b80dc03d0944c407cd86b1df4ae0b9a633c680
Nicolas Capens [Wed, 19 Jun 2019 21:33:02 +0000 (17:33 -0400)]
Fix rounding when casting to integer
Normalized values that were sampled from textures and have been scaled
by their maximum magnitude will be close to their unnormalized integer
value but may be slightly less. Subsequent casting to integer (with
rounding towards zero) may therefore result in a value one-off from the
original.
Use round-to-nearest to ensure the correct integer value is produced.
Fixes: #151
VK-GL-CTS public issue: 151
VK-GL-CTS issue: 1853
Affects: dEQP-VK.memory.pipeline_barrier.all.*
Components: Vulkan
Change-Id: I435d41145c83957db15c74ea394e89faf142c2a3
Graeme Leese [Tue, 25 Jun 2019 14:55:26 +0000 (15:55 +0100)]
Fix template usage in precision tests
The definitions were duplicated for float and deFloat16 even though that
is one of the template parameters. Use the parameters properly and we
only need one copy.
Components: Vulkan
Affects (trivially): dEQP-VK.glsl.builtin.precision*
Change-Id: Ic5487f43944cd6b8f8e8b04430a85df90b0407f4
Graeme Leese [Thu, 20 Jun 2019 10:21:28 +0000 (11:21 +0100)]
Enable OpFMod testing for 16-bit
This is currently disabled, so enable a 16-bit version of the 32-bit
tests.
Component: Vulkan
VK-GL-CTS issue: 1354
New tests: dEQP-VK.glsl.builtin.precision_fp16_storage16b.mod.*
dEQP-VK.glsl.builtin.precision_fp16_storage32b.mod.*
Change-Id: I78dcb9fe55201a0ab26de9973405c3fe3121f668
Ricardo Garcia [Thu, 20 Jun 2019 11:59:45 +0000 (13:59 +0200)]
Check every available device and host time domains
Use every available device and host time domains in calibrated timestamp
tests, as well as every combination of device and host domains in tests
that combine both.
Affected tests:
dEQP-VK.pipeline.timestamp.calibrated.*
Components: Vulkan
VK-GL-CTS issue: 1837
Change-Id: I947a865f1a6a1ee48b8446fe575a324097f2bcae
Ricardo Garcia [Fri, 21 Jun 2019 09:30:02 +0000 (11:30 +0200)]
Fix memory commitment tests for devices with no lazily allocated memory
Make every memory commitment test fail with NotSupportedError when the
physical device does not support lazily allocated memory.
In addition, check memoryTypeCount and memoryHeapCount in every call to
getPhysicalDeviceMemoryProperties so as to be able to iterate safely
over the result later.
Affected tests:
dEQP-VK.api.get_memory_commitment.*
Components: Framework, Vulkan
VK-GL-CTS issue: 1841
Change-Id: I527eb9176cb7450fbb7acccae94478e27159da79
Alexander Galazin [Wed, 3 Jul 2019 07:43:53 +0000 (09:43 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/master
Change-Id: Id80ae8bccbc3cac86a28160830c777ac13ac7cdc
Maciej Jesionowski [Tue, 25 Jun 2019 16:31:04 +0000 (18:31 +0200)]
Fix vertex binding stride in rasterization.primitive_size.points
The graphics pipeline is using two vertex input attributes: position and color.
The vertex binding stride was incorrectly set to only the size of position,
rather than the size of position and color.
Components: Vulkan
VK-GL-CTS issue: 1851
Affects:
dEQP-VK.rasterization.primitive_size.points.*
Change-Id: I9a55386652788672c94547938933b4969407ac86
Mika Väinölä [Tue, 9 Apr 2019 13:28:45 +0000 (16:28 +0300)]
Fix Clang 8 and GCC 9 warnings
Rename some TYPE_LAST and STATE_LAST enums that produce variable
shadowing warnings with Clang 8. Reimplement tcu::Format::Hex methods
using stringstream and IO manipulators instead of format strings
and add a cast to deUint32 to fix warnings on GCC 9.
Component: Framework
VK-GL-CTS issue: 1631
Change-Id: Ide4b25c106810b725c5ed7caaaf676f02e81b368
(cherry picked from commit
31dd7a0b3c38181ebdaf10bdc95f8c591734c342)
Paul Thomson [Mon, 1 Jul 2019 13:01:53 +0000 (14:01 +0100)]
Add spacing for upcoming GraphicsFuzz tests
Components: Vulkan
Affects (trivially): dEQP-VK.graphicsfuzz.*
Change-Id: I2495fd57223e932a895b01385f27aa12ad18b233
Graeme Leese [Thu, 27 Jun 2019 16:25:48 +0000 (17:25 +0100)]
Reformat and share the subgroup vote shader source
There were multiple copies of this code all over the place, but they
were formatted differently so that I couldn't even cut-and-paste fixes
between them!
Format them all the same, and use a common function for the two that
were (trivial mistakes aside) actually identical.
Components: Vulkan
Affects (trivially): dEQP-VK.subgroups.vote.*
Change-Id: Ic858717114f01fcb0783882057e4a95cfb8d8cad
Graeme Leese [Thu, 27 Jun 2019 15:57:11 +0000 (16:57 +0100)]
Remove unneeded casts from EXT subgroup vote tests
There were a lot of casts to bool that weren't actually required, and
were somewhat hiding an issue with something that should have been cast
but was not.
Components: Vulkan
VK-GL-CTS issue: 1845
Affects (trivially):
dEQP-VK.subgroups.vote.ext_shader_subgroup_vote.*allinvocationsequalarb*
Change-Id: I38f999cfaa2d578ac3e6b43934fa2735ea1b2b09
Tim Van Patten [Wed, 19 Jun 2019 15:49:56 +0000 (09:49 -0600)]
Fix install_apk.py Python 3 migration
The current install_apk.py hits errors with Python3 which this attempts
to address.
VK-GL-CTS issue: 1665
Change-Id: I38cb2ffc991f19a8cb95cef4d102a968c4a78bf2
Graeme Leese [Wed, 19 Jun 2019 10:47:34 +0000 (11:47 +0100)]
Remove unary plus operator tests
There's no such operator in SPIR-V, so it doesn't make sense to test the
handling of it in Vulkan drivers.
Components: Vulkan
Removed tests: dEQP-VK.glsl.operator.unary_operator.plus.*
Change-Id: Id470a3eab7e3a2ddab1e7c55252a3c45a666020c
Ari Suonpaa [Thu, 18 Apr 2019 11:43:00 +0000 (14:43 +0300)]
Add more image dimensions to image clearing tests
Image clearing tests now cover pot, npot, odd, and
even dimensions.
New tests:
dEQP-VK.api.image_clearing.*
Components: Vulkan
VK-GL-CTS issue: 1718
Change-Id: Ibe53aa8cc10c9c7e804119b11308c3ed047bec95
Chris Forbes [Thu, 27 Jun 2019 17:08:15 +0000 (10:08 -0700)]
Clean up historical mustpasses for Android CTS
These are a maintenance burden with very little benefit. We have not
done historical mustpasses for the O, P, or Q releases, and there were
no issues.
Change-Id: I5404cc8370bcce27d8afb25c5a143eb1aede89f6
Gert Wollny [Wed, 15 May 2019 10:12:06 +0000 (12:12 +0200)]
gles2: Add tests for EXT_clip_control
These teste are a port of gl4cClipControlTests.cpp/hpp to GLES2.
Apart from requiring EXT_clip_control the depth range tests also make
use of functionality from NV_read_depth.
v2: - Fix include protector
- test NV_read_depth in init function instead of using the constructor
- squash commits into one (alegal-arm)
v3: - Fix copy-paste error (Tapani Pälli)
- Update license year
v4: Add new tests to Khronos test list (Alexandros Galazin)
v5: Correct GLES version in comment (Alexander Galazin)
v6: - Fix comment for header guard
- Replace use of NV_read_depth by a resolve draw of the depth buffer
to a RGBA surface (James Glanville)
Change-Id: Ib6610552798b5a48445f4e2d490c72421460d4cf
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Alejandro Piñeiro [Tue, 18 Jun 2019 08:43:58 +0000 (10:43 +0200)]
Differentiate shader storage blocks needed for VS and FS
Opengl ES shader image load/store tests includes tests for VS and FS,
and it uses SSB for checking the outcome. But right now, when checking
if supported, it checks for the same required value on VS and FS
shaders, even if the test only requires for one or the other. This
leads to some unneeded skips on some drivers (for example, in some
drivers where the supported SSB for VS are 0, but it is supported for
FS).
This commit changes the method that checks the required SSB needed in
order to pass two required parameters (one for VS, other for FS),
instead of one common. This is what it is already done for image
uniforms.
Components: OpenGL-ES
VK-GL-CTS issue: 1834
Affects:
KHR-GLES31.core.shader_image_load_store.*
Change-Id: I30dda05f1f670a779fc8f08c331245559896dd0d
Graeme Leese [Thu, 27 Jun 2019 09:23:15 +0000 (10:23 +0100)]
Fix build for concurrent draw tests
These tests didn't build following the change to consolidate the helper
functions.
Components: Vulkan
Affects: dEQP-VK.draw.concurrent.compute_and_triangle_list
Change-Id: Ide173aa67ce7e2db77c66ab7ff299b9a275fdf01
Jari Komppa [Wed, 3 Apr 2019 11:59:23 +0000 (14:59 +0300)]
Add test for concurrent draw and compute
Added test that performs compute and drawing at the same time.
New tests:
dEQP-VK.draw.concurrent.compute_and_triangle_list
Components: Vulkan
VK-GL-CTS issue: 1661
Change-Id: I956ceafa705c6648df887f0cd1866ce7c9d902ce