David Neto [Thu, 11 Jul 2019 19:12:37 +0000 (15:12 -0400)]
Float controls: compute: fix for strict 16bit storage validation
Emit definitions of float constants only if those constants
are used in the rest of the shader. In the case of 16bit
float this saves us from having to also declare a Float16 capability.
Non-storage-related use of fp16 requires Float16 capability,
and shaderFloat16 Vulkan feature from VK_KHR_shader_float16_int8.
Such uses include declaring constants, using fp16 arithmetic, etc.
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
VK-GL-CTS issue: 1874
Change-Id: Ia403aac8ae32646329f67bf48d6231af233e9c20
Ricardo Garcia [Wed, 7 Aug 2019 14:18:53 +0000 (16:18 +0200)]
Add missing invalidates in depth/stencil resolve tests
If the driver returns a non-coherent heap then the
dEQP-VK.renderpass2.depth_stencil_resolve.* may fail unpredictably as
the verify methods do not invalidate the result buffer before reading
the contents.
Affected tests:
dEQP-VK.renderpass2.depth_stencil_resolve.*
Components: Vulkan
VK-GL-CTS issue: 1907
Change-Id: I61c3fdc58ff521b751f1181282291ec1d941206b
Courtney Goeltzenleuchter [Wed, 10 Apr 2019 21:25:16 +0000 (15:25 -0600)]
Always dynamically lookup egl functions
Android's latest NDK includes support for EGL 1.5 functions.
However, only for API level 29. But due to unified headers
folks building for older API levels will also see the new
functions but won't be able to link. Making the egl functions
dynamic avoids build time issues.
Change-Id: I718e28c7422faf3c7b964ca70b86a1711a08ae54
Affects: EGL
Bug: 1873
James Dong [Mon, 8 Jul 2019 16:39:27 +0000 (10:39 -0600)]
Explicitly set current values before drawing
dEQP-GLES3.functional.vertex_array_objects.all_attributes was relying on
the value of disabled integer attributes. This behavior results in
undefined values, as the initial values for all vertex attributes are of
floating-point type.
Affects:
dEQP-GLES3.functional.vertex_array_objects.all_attributes
Components: AOSP
VK-GL-CTS public issue: 153
Change-Id: I8ffe4b581f100884b46fe68a751bf991cccb71e3
Graeme Leese [Wed, 10 Jul 2019 11:13:29 +0000 (12:13 +0100)]
Backport performance fix from cts-next-dev
The subgroups tests on next-dev have been changed to run on a reduced
set of workgroup sizes to improve performance, so apply that change to
master as well.
Components: Vulkan
Affects: dEQP-VK.subgroups.*
Change-Id: I4fb386b567666589688f7265e5efe6c72d5fd0cd
Graeme Leese [Wed, 10 Jul 2019 10:53:32 +0000 (11:53 +0100)]
Remove superfluous shuffle code
The supportedCheck was checking whether the case was supported but the
actual test code was checking it again.
Components: Vulkan
Affects: dEQP-VK.subgroups.shuffle.*
Change-Id: Ie98cb3aef8fe3f50068fd908feae95735b892f9c
Jeff Bolz [Thu, 8 Aug 2019 04:40:54 +0000 (23:40 -0500)]
Update Vulkan headers to 1.1.117
Should be no functional change, just brings the header up to date
to ease submitting new tests for those extensions. Two minor name
remaps were necessary in gen_framework.py
Components: Vulkan
Change-Id: I44a07f3a5ccd3426c22e95c70f231a24daf0d994
Alexander Galazin [Fri, 9 Aug 2019 13:08:17 +0000 (15:08 +0200)]
Merge vk-gl-cts/gl-subgroups-dev into vk-gl-cts/master
Change-Id: Ib69ac2a513b45fbd1c3bfd72d72ae2b3ed9da046
Jeff Bolz [Mon, 15 Jul 2019 19:51:44 +0000 (14:51 -0500)]
Rename subgroup.partitioned tests
Somehow the grouping of tests got out of sync with the other subgroup
tests like arithmetic/clustered. This fixes the naming/grouping to
be consistent with those.
Components: Vulkan
Affects: dEQP-VK.subgroups.partitioned.*
Change-Id: Ia8e02fd6ea7df04b91d0d086fcfdbd4e3e265d38
Graeme Leese [Wed, 26 Jun 2019 12:14:30 +0000 (13:14 +0100)]
Use templates instead of copying code
The precision tests make heavy use of templates yet they still have code
copied rather than making use of the templates. Squash some of the test
factory code into templates.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision*
Change-Id: Ic10cd7b3f65a632bd57b6f3beb01d087185e705a
David Neto [Fri, 12 Jul 2019 20:52:03 +0000 (16:52 -0400)]
Fix 16bit/8bit storage validation for workgroup memory tests
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.int8
dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.uint8
dEQP-VK.spirv_assembly.instruction.compute.workgroup_memory.float16
VK-GL-CTS issue: 1874
Change-Id: Ife60e90a6d190fa37b7d8055c1260b363c051e3d
David Neto [Fri, 12 Jul 2019 22:07:41 +0000 (18:07 -0400)]
Need Float16 in some derivative tests
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_1.*
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_2.*
dEQP-VK.spirv_assembly.instruction.graphics.float16.derivative_4.*
VK-GL-CTS issue: 1874
Change-Id: Ia75d608568c7580c1f11137507b142e1dbd397fd
Pawel Ksiezopolski [Wed, 19 Jun 2019 09:07:37 +0000 (11:07 +0200)]
Check if the statistics query results are linear
Current tests check if query results are greater than or equal to
minimum values defined by the specification.
The task of this commit is to create additional constraint that
checks if query results do not produce some random garbage values.
In case of vertex, geometry and tesselation queries it is enough
to perform the same tests few times with varying number of
input vertices and to check if query results are linear.
Linearity of query results is estimated using Pearson correlation
coefficient.
Affects tests:
dEQP-VK.query_pool.statistics_query.*
Components: Vulkan
VK-GL-CTS issue: 876
Change-Id: Ie58b53d2a35291f565ac9c88773a4c2fa5d89656
Ricardo Garcia [Fri, 5 Jul 2019 09:44:54 +0000 (11:44 +0200)]
Test input attachments in random descriptor sets test group
Add support for input attachments in the random descriptor sets tests
group. This will improve test coverage and allow us to test
vkUpdateDescriptorSetWithTemplate with
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, which is a case known to be missing
coverage.
Note: every descriptorset_random test will get a new component in its
name with several variants.
Affected tests:
dEQP-VK.binding_model.descriptorset_random.*
Components: Vulkan
VK-GL-CTS issue: 1869
Change-Id: I64ac976f24c291884e71aafb0c058a9340b584c1
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
Daniel Koch [Mon, 29 Jul 2019 15:29:24 +0000 (11:29 -0400)]
Update Opengl registry files
from latest public registry
Component: OpenGL
VK-GL-CTS Issue: 1698
Change-Id: I0eda9b7af5d13689a141e67f968a697241f32e1f
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