Ricardo Garcia [Thu, 27 Feb 2020 16:30:52 +0000 (17:30 +0100)]
Test OpUndef with OpConstantComposite and OpSpecConstantComposite
This commit tests OpUndef can be used to create partially defined
constant composite structures by using OpUndev values when constructing
other values with OpConstantComposite and OpSpecConstantComposite.
New tests:
dEQP-VK.spirv_assembly.instruction.compute.opundef.undefined_*
Components: Vulkan
VK-GL-CTS issue: 2243
Change-Id: I518dd029b4e00a5d5d33603d4776ce643c2adba8
Venni Ihanakangas [Mon, 13 Jan 2020 13:35:27 +0000 (15:35 +0200)]
dEQP-VK.graphicsfuzz.always-discarding-function
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.always-discarding-function
Change-Id: Ia921f7fdf9fe211787959af4d499eb20bfb5dbb5
Ricardo Garcia [Mon, 9 Mar 2020 15:45:16 +0000 (16:45 +0100)]
Update Android mustpass
Change-Id: I87ef66e9cd6aeae9b47360ab44f4cbe70334c3a2
Ari Suonpaa [Fri, 14 Feb 2020 07:51:28 +0000 (09:51 +0200)]
Make derivative tests to have dependency to both axes
Derivative tests had zero values for x when doing dfdy
and y when doing dfdx. Modified varyings and a texture
to vary in both x and y directions for both axes
to avoid these zeros.
Affects:
dEQP-GLES3.functional.shaders.derivate.*
Components: OpenGL ES
VK-GL-CTS issue: 1865
Change-Id: If36a4d857167ae7eede2b8f6b0c26308b7e5fae9
James Glanville [Fri, 17 Jan 2020 15:33:07 +0000 (15:33 +0000)]
Exclude configs for EGL_YUV_BUFFER_EXT color buffer
Test dEQP-EGL.functional.get_frame_timestamps.other fails due to
mismatch between the format of fragment shader output and framebuffer
for YUV configs with EGL_COLOR_BUFFER_TYPE == EGL_YUV_BUFFER_EXT.
Exclude from the other list.
Components: EGL
VK-GL-CTS issue: 2187
Change-Id: I08e3466bb0721e6b424a07a09587b56eb28d6cff
Graeme Leese [Fri, 17 Jan 2020 12:06:15 +0000 (12:06 +0000)]
Verify results in ballot bitcount tests
The old code only checked whether or not the results of these operations
were zero. The non-zero results were never checked for correctness. Add
checks that these results are actually correct.
Components: Vulkan
VK-GL-CTS issue: 2192
Affects: dEQP-VK.subgroups.ballot_other.*bitcount*
Change-Id: Icec4f558f556bc126b95bd925455620c5d8815f7
Jussi Venho [Mon, 3 Feb 2020 14:44:59 +0000 (16:44 +0200)]
Add depth and stencil formats to buffer copy tests
Test copy from buffer to image with offset, depth and stencil formats.
New tests:
dEQP-VK.api.copy_and_blit.*.buffer_to_depthstencil.buffer_offset_*
Components: Vulkan
VK-GL-CTS issue: 2140
Change-Id: I41bb79e0a52cc4ca0a32b67815df5f6c6b8ebd47
Samuel Iglesias Gonsálvez [Mon, 27 Jan 2020 08:56:14 +0000 (09:56 +0100)]
Add concurrent query pool tests
Components: Vulkan
VK-GL-CTS issue: 2195
Added tests:
dEQP-VK.query_pool.concurrent_queries.*
Change-Id: I6852ce9865f2bbceace5d0df648e050d68b88bbb
Alexander Galazin [Thu, 5 Mar 2020 11:48:26 +0000 (12:48 +0100)]
Update Android mustpass
Change-Id: I9f650303ef470f85bf0343f525c242db39fe6360
Ricardo Garcia [Thu, 13 Feb 2020 12:17:40 +0000 (13:17 +0100)]
Test SampledImage as function argument
Add test to check sampled images work properly when used as function
arguments.
New test:
dEQP-VK.spirv_assembly.instruction.function_params.sampler_param
Components: Vulkan
VK-GL-CTS issue: 2218
Change-Id: I4b760cf0e5cf8ad980fd33e9b237778a2451a243
Ari Suonpaa [Tue, 4 Feb 2020 12:21:53 +0000 (14:21 +0200)]
Added a batch of coverage tests found by GraphicsFuzz
New tests:
dEQP-VK.graphicsfuzz.cov-*
Components: Vulkan
Change-Id: I24ac5446fda48f9000b261e83e43dab44eb2c832
Alexander Galazin [Wed, 4 Mar 2020 10:06:53 +0000 (11:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/master
Change-Id: Iab703c04c7b00f7d51a15ebb708ef06c151e1448
Alexander Galazin [Wed, 4 Mar 2020 10:06:52 +0000 (11:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: Ia84f84f07054a5c6c175fdf152c669fb3a186690
Alexander Galazin [Wed, 4 Mar 2020 10:06:52 +0000 (11:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I360bd965daf24ebd38a05a5205d3a85311a60bfd
Alexander Galazin [Wed, 4 Mar 2020 10:06:51 +0000 (11:06 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: Ifeab9cfd06891288494e9080d40819c62a2092a7
Alexander Galazin [Wed, 4 Mar 2020 09:09:29 +0000 (10:09 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: I710f52c5271173e7592c92db91a6debd1ebfff7c
Alexander Galazin [Wed, 4 Mar 2020 07:50:07 +0000 (08:50 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I6221b31126a23415f4aceb05f91fc8c7b166c876
Piers Daniell [Fri, 21 Feb 2020 18:52:11 +0000 (11:52 -0700)]
Allow 1ULP of tolerance in ldexp precision tests
https://gerrit.khronos.org/#/c/4726/ modified how the expected values were
calculated for the ldexp() precision tests. This change caused previously
passing platforms to now fail for double precision, which were added
by https://gerrit.khronos.org/#/c/4355/.
This CL adds 1ULP to the expected value interval to allow for a possible
difference in rounding mode between the graphics device and host machine
ldexp implementations.
Components: Vulkan
Change-Id: If92047f0a421624ed853a9690f3e3980e5cd79ef
Affects: dEQP-VK.glsl.builtin.precision*.ldexp.*
Ricardo Garcia [Fri, 14 Feb 2020 12:37:43 +0000 (13:37 +0100)]
Fix 32-bit statistic query tests using 64 bits
This commit fixes the 32/64-bit split in the statistics query group that
tried to use vkGetQueryPoolResults with different bit widths but were
actually always using 64-bits.
Note: the intermediate reset results that are copied to a buffer in some
tests always use the 64-bit flag. This is expected.
Affected tests:
dEQP-VK.query_pool.statistics_query.*
Components: Vulkan
VK-GL-CTS issue: 2215
Change-Id: Ib73ae9fbd8fbaf1ec9195090e20ec4392dc62444
Piotr Byszewski [Wed, 12 Feb 2020 14:57:16 +0000 (15:57 +0100)]
Restore disabled texture function tests
Commit restores 12 tests. Only 2 of those tests were now failing.
This happened because of hitting cubemap edge and was resolved by
modifying MaxDx test parameter (to the same value used in other
cube texture format tests).
Components: Vulkan
VK-GL-CTS issue: 864
Affects:
dEQP-VK.glsl.texture_functions.texturegrad.samplercubeshadow_*
Change-Id: I09e012463fb0e633409d0aa58913d666f555998a
Alexander Galazin [Thu, 27 Feb 2020 11:20:44 +0000 (12:20 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Ie332664c1049e2e1339f60aa7dd2615d1aa83105
Sai Kiran Korwar [Wed, 19 Feb 2020 08:53:39 +0000 (14:23 +0530)]
Check if display is available for Vulkan.
If the display is already being used by native windowing system,
then it may not be available to Vulkan, which may cause the test
to fail.
To account for this, check if any windowing system is already present
and running and then report the test to be unsupported.
Since the extension is meant to support direct rendering to display,
avoid running it when a windowing system is present.
Components: Vulkan
VK-GL-CTS issue: #2230
Affects:
dEQP-VK.wsi.display_control.swapchain_counter
Change-Id: I7fd00b417021e4a2ef017b742e529f5a3917a056
(cherry picked from commit
5318e8023d181def3d6affe446ab251f9898737e)
Sai Kiran Korwar [Wed, 19 Feb 2020 08:53:39 +0000 (14:23 +0530)]
Check if display is available for Vulkan.
If the display is already being used by native windowing system,
then it may not be available to Vulkan, which may cause the test
to fail.
To account for this, check if any windowing system is already present
and running and then report the test to be unsupported.
Since the extension is meant to support direct rendering to display,
avoid running it when a windowing system is present.
Components: Vulkan
VK-GL-CTS issue: #2230
Affects:
dEQP-VK.wsi.display_control.swapchain_counter
Change-Id: I7fd00b417021e4a2ef017b742e529f5a3917a056
Aleksy Sokolowski [Wed, 12 Feb 2020 11:17:49 +0000 (12:17 +0100)]
Fix interface mismatch in case "spirv_validation_capabilities_test"
User variable texCoord in location = 3 was only used in VS and FS,
lack of the variable in TCS, TES and GS is causing interface mismatch.
VK-GL-CTS Issue: 2219
Affects: KHR-GL46.gl_spirv.spirv_validation_capabilities_test
Components: OpenGL
Change-Id: I5899906f89efb380896a277939b532f393d00fce
Ari Suonpaa [Wed, 12 Feb 2020 11:28:47 +0000 (13:28 +0200)]
Make sure readpixels work with 16bit fixed point surfaces
Added FBO tests that use unsigned fixed point textures
as render target. Pixels are read from the FBO using
pixel type GL_UNSIGNED_SHORT since that was reported
to have problems on some implementations.
New tests:
dEQP-GLES31.functional.fbo.color.tex2d.r16
dEQP-GLES31.functional.fbo.color.tex2d.rg16
dEQP-GLES31.functional.fbo.color.tex2d.rgba16
Components: OpenGL ES
VK-GL-CTS issue: 2124
Change-Id: Icad477ae62ff6961f5989b097aa3ce73002b8dd8
James Hauxwell [Wed, 12 Feb 2020 10:55:24 +0000 (10:55 +0000)]
Fix EGL1.5 pixmap features being tested on a EGL1.4 device
createWindowSurface() uses the blockout function checkEGL15Support() to
stop EGL1.5 functions being run. This is missing from the
createPixmapSurface() variant.
Components: EGL
VK-GL-CTS issue: 2217
Affects:
dEQP-EGL.functional.create_surface.platform_pixmap.*
Change-Id: Ifb234e0c683eb755de20b2755be80716c0ffeaa9
Slawomir Cygan [Tue, 18 Feb 2020 16:18:01 +0000 (17:18 +0100)]
Fix subgroups tests using basePipelineHandle with index != -1
The value of basePipelineIndex must be -1 when basePipelineHandle
is not null in VkComputePipelineCreateInfo structure.
Components: Vulkan
VK-GL-CTS Issue: 2228
Change-Id: Iabbb98753179a0db6153853b9959eba6fee19ed1
Affects: dEQP-VK.subgroups.*compute*
Mika Väinölä [Mon, 16 Dec 2019 16:24:14 +0000 (18:24 +0200)]
Don't enable both buffer device address extensions
VK_KHR_buffer_device_address deprecates VK_EXT_buffer_device_address.
VkDeviceCreateInfo.ppEnabledExtensionNames must not contain both
extensions.
Components: Framework, Vulkan
Affects:
dEQP-VK.binding_model.buffer_device_address.*
dEQP-VK.memory_model.message_passing.*.physbuffer.*
dEQP-VK.ssbo.phys.layout.*
dEQP-VK.compute.cooperative_matrix.*.physical_buffer.*
VK-GL-CTS issue: 2148
Change-Id: I88dbb3c4b4deb6f38f37ec0a7f40b1660aeffad5
Igor Ostrowski [Mon, 10 Feb 2020 10:28:52 +0000 (11:28 +0100)]
Fix memory leak in pipeline.executable_properties tests
Affects:
dEQP-VK.pipeline.executable_properties.*
Components: Vulkan
VK-GL-CTS issue: 2220
Change-Id: I3f82e17be51a643cd64270e7f05fdf496e648f00
Alexander Galazin [Thu, 27 Feb 2020 09:45:22 +0000 (10:45 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/master
Change-Id: I91967444cfbf1b86a9c4473e2bbd83dbbd241876
Alexander Galazin [Wed, 26 Feb 2020 14:36:27 +0000 (15:36 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.0 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: Ia9d1bd6dd594c1a9082e84a98c3b5ec506cfb988
Alexander Galazin [Wed, 26 Feb 2020 14:36:26 +0000 (15:36 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I0f3ab098b8831b1c421745daa491d323a533f2f4
Alexander Galazin [Tue, 25 Feb 2020 09:56:29 +0000 (10:56 +0100)]
Merge vk-gl-cts/github-master into vk-gl-cts/master
Change-Id: I7649e7f482a31edb244999a81593fe99f006ab3f
Alexander Galazin [Tue, 25 Feb 2020 07:54:10 +0000 (08:54 +0100)]
Merge pull request #189 from imirkin/master
Improve support for KHR-GL33.* tests
dzabaj01 [Mon, 24 Feb 2020 12:39:21 +0000 (13:39 +0100)]
Fix dEQP-VK.geometry.layered.2d_array.readback
The patch fixes several image memory barriers that
are missing the (color or depth/stencil) read access
mask. The read access mask is needed because the
attachments are setup with the VK_ATTACHMENT_LOAD_OP_LOAD
load operation.
Components: Vulkan
VK-GL-CTS Issue: 2227
Affects: dEQP-VK.geometry.layered.2d_array.readback
Change-Id: I22b696f449cb83d88f3ec15d928577d6b3d65b6f
Alexander Galazin [Mon, 24 Feb 2020 10:31:54 +0000 (11:31 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/master
Change-Id: I44bb78fa8e39d0a2dfd9a0d6d08d7163d6eba76a
Graeme Leese [Thu, 13 Feb 2020 14:23:57 +0000 (14:23 +0000)]
Don't remove 16-bit denorms from fp64 tests
The fixed values that are generated for double precision precision tests
were incorrectly skipping any that corresponds to a 16-bit denorm. At
the moment I don't think that there are any such values so this isn't
(currently) a practical problem.
Components: Vulkan
VK-GL-CTS Issue: 2231
Affects: dEQP-VK.glsl.builtin.precision_double.*
Change-Id: Ic7a27974fba09c94c5b4ab77b30b56f0b673aced
Graeme Leese [Thu, 16 Jan 2020 14:23:22 +0000 (14:23 +0000)]
Stricter codomain for atan tests
If the codomain is going to be enforced strictly then we should update
the precision tests to check it. The atan precision test looks to have
had an issue applying the codomain incorrectly which meant that large
values of the arguments were not tested at all.
Components: Vulkan
VK-GL-CTS issue: 479
Affects: dEQP-VK.glsl.builtin.precision*atan.*
Change-Id: I842adb035cb59fe8ff1423f11acdad0a90ee1549
Graeme Leese [Thu, 30 Jan 2020 10:35:17 +0000 (10:35 +0000)]
Use common code for SG arithmetic-like tests
Factor out the parts of arithmetic, clustered, and partitioned subgroup
tests so that common code can be written where possible.
Components: Vulkan
Affects: dEQP-VK.subgroups.arithmetic.*
dEQP-VK.subgroups.clustered.*
dEQP-VK.subgroups.partitioned.*
Change-Id: I8b580c6b4f90229f2cb5a6324dc0c338709c3921
Ricardo Garcia [Mon, 20 Jan 2020 09:02:04 +0000 (10:02 +0100)]
Test additional atomic image SPIR-V operations
This commit adds tests to check OpAtomicIIncrement, OpAtomicIDecrement
and OpAtomicISub with images.
New tests:
dEQP-VK.image.atomic_operations.sub.*
dEQP-VK.image.atomic_operations.inc.*
dEQP-VK.image.atomic_operations.dec.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2186
Change-Id: Ib2c5d5075555ad0be025b0498960b646852fdcd4
Vihanakangas [Fri, 24 Jan 2020 08:33:22 +0000 (10:33 +0200)]
Add three new GraphicsFuzz tests
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.call-function-with-discard
dEQP-VK.graphicsfuzz.color-set-in-for-loop
dEQP-VK.graphicsfuzz.switch-inside-while-always-return
Change-Id: Ibfc1c236f94d774d3f70818e6675e90bf7829b3c
Alastair Donaldson [Thu, 13 Feb 2020 11:19:55 +0000 (11:19 +0000)]
Updates to Android test list generation
Fixes to reflect changes on the Android side.
Change-Id: I4eece1d987c35e27046061adc79f9ecde755a56a
Thomas Spurden [Wed, 29 Jan 2020 14:58:52 +0000 (14:58 +0000)]
Don't assume CMAKE_SOURCE_DIR is the root of the vk-gl-cts git repo
If vk-gl-cts is included into a build using cmake's add_subdirectory
then CMAKE_SOURCE_DIR will be the root of the parent cmake project. This
results in the release name/id being taken from the git repo of whatever
includes vk-gl-cts via add_subdirectory rather than the vk-gl-cts git.
Change-Id: Iafc0d2458b58413bc5c55a413e38bedbec165394
James Fitzpatrick [Mon, 20 Jan 2020 09:02:24 +0000 (09:02 +0000)]
Correctly handle normalized formats in FloatFormat
For the texture explict lod tests normalized values were treated as 8
bit floating point formats when calculating the reference interval.
This ignores the fact that normalized formats are encoded as 1 / N,
where N is an integer, this results in the rounding used in tests not
being able to accurately round normalized formats.
This incorrect rounding causes the acceptable ranges to be
significantly smaller than other formats and extremely asymetric
around the ideal filtered value for certain samples.
Affects: dEQP-VK.texture.explicit_lod.*
Components: Vulkan
VK-GL-CTS issue: 2189
Change-Id: Ia4f3adefab4bfb5d9c91bd7033199b0e107179d5
Alexander Galazin [Thu, 20 Feb 2020 14:41:31 +0000 (15:41 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: If35028985c57f66a6fc3f3d11ac1a9485493f7f2
Alexander Galazin [Thu, 20 Feb 2020 13:37:54 +0000 (14:37 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: Ic305f1a757dae469f6b0fe801e82640b83f989ed
Martin Freebody [Wed, 20 Nov 2019 10:49:25 +0000 (10:49 +0000)]
Protected Memory allocation tests require compatible device
For memory allocation tests that detect protected memory capability,
ensure that the device being used first enables the protected memory
feature. If the physical device does not support protected memory,
the allocation type is skipped in the test.
Affects: dEQP-VK.memory.allocation.*
Components: Vulkan
VK-GL-CTS issue: 2163
Change-Id: I899c7cf7e13d04f2674de47c3bb4d08f3de589f4
(cherry picked from commit
f5f362a43198b0168d0ad279faf15d42cfc61d2a)
Boris Zanin [Fri, 14 Feb 2020 14:34:54 +0000 (15:34 +0100)]
Fix false shader cache hits for ray tracing shaders
Same value ("unused for GL") returned by getShaderTypeName() for
ray tracing shader types might lead to invalid shader cache hits.
Second condition required to have a false hit: two shaders of
different type have same code.
Return unique names for shader types from glu::getShaderTypeName.
Affects:
* dEQP*
Components: framework
VK-GL-CTS issue: 2224
Change-Id: Icec4448a9f1312884990e983e0828c2fe16f83bf
James Fitzpatrick [Tue, 11 Feb 2020 11:58:04 +0000 (11:58 +0000)]
Return Quality Warning for inaccurate filtering
For cases when the relaxed precision has to be used to verify a sample
in the explicit lod tests return a quality warning rather than a pass.
Affects: dEQP-VK.texture.explicit_lod.*
Components: Vulkan
VK-GL-CTS issue: 2189
Change-Id: If1cad3ae74bc91636527215f6871faa2e1feee79
Ricardo Garcia [Thu, 30 Jan 2020 10:39:29 +0000 (11:39 +0100)]
Loosen basic subgroup elect test vertex checks
This commit takes into account any shader in the vertex pipeline may run
multiple times per vertex when checking results in the basic subgroup
elect test.
In addition, it contains a few indentation fixes as well as fixes for
several validation errors in the whole test group.
Affected tests:
dEQP-VK.subgroups.basic.*
Components: Vulkan
VK-GL-CTS issue: 2162
Change-Id: Ib0aaf929bca5ce4939a3e2fd98a69a0812f1aa0b
Alexander Galazin [Tue, 18 Feb 2020 15:11:33 +0000 (16:11 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/master
Change-Id: I9e619bd2ce4718db25fed031ae74e9c2473ab73b
Alexander Galazin [Tue, 18 Feb 2020 12:42:56 +0000 (13:42 +0100)]
Update Android mustpass
Change-Id: Ie47b169f4eece7d551c0ef8ca8522e0f5a3fa2e7
dzabaj01 [Tue, 18 Feb 2020 12:17:18 +0000 (13:17 +0100)]
Fix dEQP-VK.geometry.layered.2d_array.readback
The patch fixes several image memory barriers that
are missing the (color or depth/stencil) read access
mask. The read access mask is needed because the
attachments are setup with the VK_ATTACHMENT_LOAD_OP_LOAD
load operation.
Components: Vulkan
VK-GL-CTS Issue: 2227
Affects: dEQP-VK.geometry.layered.2d_array.readback
Change-Id: Ie96c93e6d8fee1ea0c0a63417707ec7479551413
Ricardo Garcia [Fri, 29 Nov 2019 09:37:20 +0000 (10:37 +0100)]
Add test with unreachable switch merge inside loop
According to VK-GL-CTS issue #952, when a switch statement is inside an
endless loop and the switch merge block is unreachable because every
case jumps to the end of the loop, at least one driver goes into an
infinite loop when the switch merge block is labeled with OpUnreachable.
New test:
dEQP-VK.spirv_assembly.instruction.compute.opunreachable.unreachable-switch-merge-in-loop
Components: Vulkan
VK-GL-CTS issue: 952
Change-Id: I8afb50ab43f29f9bdd543a5c4a45f5fe3941cd04
Paul Thomson [Thu, 16 Jan 2020 14:37:49 +0000 (14:37 +0000)]
dEQP-VK.graphicsfuzz.nested-switch-break-discard
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.nested-switch-break-discard
Change-Id: I0abb55f319fbd190a4c2fe8ec26f90b52e00222c
Ricardo Garcia [Fri, 24 Jan 2020 08:39:06 +0000 (09:39 +0100)]
Validate samplerless descriptor writes
This commits adds a few tests that update image-related descriptors for
descriptor types in which the sampler field of the VkDescriptorImageInfo
structure, used in VkWriteDescriptorSet, is supposed to be ignored.
Given that premise, the tests try to set the sampler field to different
values like VK_NULL_HANDLE, a fixed value of 1 and the handler for a
destroyed sampler. This should have no side effects.
New tests:
dEQP-VK.binding_model.descriptor_update.samplerless.*
Components: Vulkan
VK-GL-CTS issue: 2172
Change-Id: I87bf4226738ecd2ff7d2c7aa23551f22d43a8637
Ricardo Garcia [Thu, 6 Feb 2020 16:09:42 +0000 (17:09 +0100)]
Test Centroid SPIR-V decoration on struct members
This commit modifies the multiple_interpolation test group adding test
variants in which the interface between the vertex and fragment shaders
uses structured blocks instead of separate variables, which allows us to
fully test the Centroid, Flat and NoPerspective decorations in full.
The existing tests have been relocated to the "separate" subgroup and
new tests are added to the new "structured" subgroup.
Affected and new tests:
dEQP-VK.draw.multiple_interpolation.*
Components: Vulkan
VK-GL-CTS issue: 2210
Change-Id: I5cd955c5126744bee33fad078e30fd7c075ac885
Ricardo Garcia [Tue, 11 Feb 2020 09:16:17 +0000 (10:16 +0100)]
Test OpMemberDecorateString from SPIR-V 1.4
Add basic test to check the OpMemberDecorateString operation is accepted
in a shader and does not cause unexpected problems.
New test:
dEQP-VK.spirv_assembly.instruction.spirv1p4.hlsl_functionality1.member_decorate_string
Components: Vulkan
VK-GL-CTS issue: 2214
Change-Id: I9227c1999ab2f1ff760643a8f38f8626af8a4488
Ricardo Garcia [Wed, 18 Dec 2019 12:46:25 +0000 (13:46 +0100)]
Test samplers with unnormalized coordinates
Add tests to test samplers with unnormalized coordinates in 1D and 2D
images views.
New tests:
dEQP-VK.pipeline.sampler.*unnormalized*
Components: Vulkan
VK-GL-CTS issue: 2149
Change-Id: I9faf077ac9681974b67b2db5923b51e95ee8f325
Alexander Galazin [Mon, 3 Feb 2020 12:59:34 +0000 (13:59 +0100)]
Add clipping tests back to the mustpass
Should have happened in CL 2334 but apparently was lost
Components: Vulkan
Affects:
dEQP-VK.clipping.clip_volume.clipped.large_points
dEQP-VK.clipping.clip_volume.clipped.wide_lines_axis_aligned
dEQP-VK.clipping.clip_volume.clipped.wide_lines_diagonal
VK-GL-CTS issue: 98
Change-Id: Ie6d501c23b8d0f56dbf93f0c074230bd3a0e9236
Piotr Byszewski [Wed, 15 Jan 2020 11:46:48 +0000 (12:46 +0100)]
Stricter codomain in atan2 precision tests
With this change calculation of codomain can use EvalContext
which alows to limit atan2 codomain to <-pi;pi>.
Components: Vulkan
VK-GL-CTS issue: 479
Affects:
dEQP-VK.glsl.builtin.precision*atan2*
Change-Id: Ie71a650b8611e867aa9eacd2205f090b6f5de613
Alexander Galazin [Tue, 18 Feb 2020 08:51:37 +0000 (09:51 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I150b1fd6b9bd4c4c1686ae384cc0e0138363eab4
Alexander Galazin [Fri, 14 Feb 2020 13:34:31 +0000 (14:34 +0100)]
Update Android mustpass
Change-Id: I13e2ca147557de54e954d6a5402b99fc88cdcd0e
Ricardo Garcia [Wed, 29 Jan 2020 09:44:05 +0000 (10:44 +0100)]
Test exact sampling cases
This commit adds test to check samplers do not wrongly manipulate the
value of sampled texels from a texture.
This is checked by creating a texture with a single mipmap level and a
framebuffer image of the same size. Then, a full-screen quad is drawn
with appropriate vertex and texture coordinates so it covers the whole
screen. When drawing, the sampler uses the nearest filter, which means
the output framebuffer image and the texture should match exactly.
New tests:
dEQP-VK.pipeline.sampler.exact_sampling.*
Components: Vulkan
VK-GL-CTS issue: 2170
Change-Id: Ia5fb27d577d7bca92cbc723c798f8ab06190453b
Jason Ekstrand [Mon, 27 Jan 2020 18:20:09 +0000 (12:20 -0600)]
Improve vkGet*ProcAddr testing
The spec says that vkGetDeviceProcAddr should return NULL for all
instance and physical device functions and that vkGetInstanceProcAddr
should work for all functions from enabled extensions regardless of
whether they're an instance function or a device function.
Components: Vulkan
Affects: dEQP-VK.api.version_check.entry_points
VK-GL-CTS Issue: 2196
Change-Id: I3760f6b60f28f21a1ec82bfcc0646f38ce93b9b5
Ricardo Garcia [Tue, 14 Jan 2020 16:38:18 +0000 (17:38 +0100)]
Test shift ops in OpSpecConstantOp with more bit widths
This commit adds tests to check bit shifting operations work properly
when used with OpSpecConstantOp and different bit widths. New tests are
divided in two categories: either both the value being shifted and the
shift amount use the new bit width, or only the shift amount uses the
new bit width.
In addition, the OpSpecConstantOp test mini-framework for testing two
integers has been expanded and made more flexible in order to accomodate
the new tests and to avoid some hackish handmade conversions from
floating point to integers when passing floating point values.
Also, arithmetic bit shifting operations to the right have been modified
to use negative values in order to verify the sign bit is preserved
properly.
New tests:
dEQP-VK.spirv_assembly.instruction.*.opspecconstantop.*i64*
dEQP-VK.spirv_assembly.instruction.*.opspecconstantop.*i16*
dEQP-VK.spirv_assembly.instruction.*.opspecconstantop.*i8*
Affected tests:
dEQP-VK.spirv_assembly.instruction.*.opspecconstantop.*
Components: Framework, Vulkan
VK-GL-CTS issue: 2164
Change-Id: I3b71431ceb0022c661abdc645a2de09e9867e8ab
Venni Ihanakangas [Mon, 13 Jan 2020 13:42:41 +0000 (15:42 +0200)]
dEQP-VK.graphicsfuzz.function-with-uniform-return
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.function-with-uniform-return
Change-Id: I059acea3f141791a856fd499d5b8e2a4f102c309
Martin Freebody [Wed, 20 Nov 2019 10:49:25 +0000 (10:49 +0000)]
Protected Memory allocation tests require compatible device
For memory allocation tests that detect protected memory capability,
ensure that the device being used first enables the protected memory
feature. If the physical device does not support protected memory,
the allocation type is skipped in the test.
Affects: dEQP-VK.memory.allocation.*
Components: Vulkan
VK-GL-CTS issue: 2163
Change-Id: I899c7cf7e13d04f2674de47c3bb4d08f3de589f4
Alexander Galazin [Fri, 14 Feb 2020 06:28:54 +0000 (07:28 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/master
Change-Id: I030c561a6497ed62911479e4af5e37a1d7440e29
Ilia Mirkin [Sat, 1 Feb 2020 07:34:30 +0000 (02:34 -0500)]
Fix tests to work with pre-GL4 drivers
Components: OpenGL
Affects:
KHR-GL33.cull_distance.*
KHR-GL33.pipeline_statistics_query_tests_ARB.*
KHR-GL33.gpu_shader5_gl.*
KHR-GL33.transform_feedback.api_errors_test
Alexander Galazin [Thu, 13 Feb 2020 19:18:49 +0000 (20:18 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.6 into vk-gl-cts/vulkan-cts-1.2.1
Change-Id: I8928bbd316e87c3cf2dcdee0994707808d2db89b
Martin Freebody [Wed, 20 Nov 2019 10:49:25 +0000 (10:49 +0000)]
Protected Memory allocation tests require compatible device
For memory allocation tests that detect protected memory capability,
ensure that the device being used first enables the protected memory
feature. If the physical device does not support protected memory,
the allocation type is skipped in the test.
Affects: dEQP-VK.memory.allocation.*
Components: Vulkan
VK-GL-CTS issue: 2163
Change-Id: I899c7cf7e13d04f2674de47c3bb4d08f3de589f4
Alexander Galazin [Thu, 13 Feb 2020 12:16:07 +0000 (13:16 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.1.6
Change-Id: I0b304876f100815c74515584179d954ac0f65788
Alexander Galazin [Thu, 13 Feb 2020 12:15:06 +0000 (13:15 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: I876198ffd8f48fee637feae92ded3806cffd7008
Samuel Iglesias Gonsálvez [Mon, 2 Dec 2019 12:14:04 +0000 (13:14 +0100)]
Add Python3 compatibility to verification scripts
Components: Framework
VK-GL-CTS issue: 1930
Change-Id: I94ba1d798f64928dada5ee7ec7deaf2704c817a4
Ari Suonpaa [Fri, 31 Jan 2020 07:47:06 +0000 (09:47 +0200)]
Fix type casts in CheckMax
CheckMax function had casts that could turn large
numbers into negative ones. These are now fixed
by casting the other part of the comparison which
is always an integer.
Affects:
KHR-GLES31.core.shader_image_load_store.basic-api-get
Components: OpenGL ES
VK-GL-CTS issue: 2188
Change-Id: Id278abba1e3600f9ad04fbc3dcfdce109ac027e6
Ari Suonpaa [Wed, 29 Jan 2020 06:50:45 +0000 (08:50 +0200)]
Prevent empty images from passing rasterization tests
Some of the rasterization tests passed even when skipping
primitive drawing. Narrow lines had only edge pixels and
those are not verified because the implementations may
vary. Now a sanity check is performed in all cases to
prevent empty results from passing.
New tests:
dEQP-VK.rasterization.*
dEQP-GLES*.functional.rasterization.*
Components: Framework, Vulkan, OpenGL ES
VK-GL-CTS issue: 2168
Change-Id: I8df0a7a9490253e1f825697420b22cd9f15f3986
John Anthony [Wed, 29 Jan 2020 15:33:53 +0000 (16:33 +0100)]
Only require geometryStreams feature in XFB query tests if needed
Change transform feedback query tests to only require the
geometryStreams feature for test cases using stream ID != 0.
Affects:
- dEQP-VK.transform_feedback.simple.query_0_*
- dEQP-VK.transform_feedback.simple.host_query_reset_0_*
Components: Vulkan
VK-GL-CTS Issue: 2197
Change-Id: Id1378f58e6634dd70ad89843e000d047af0ea496
Mikel Garai [Mon, 20 Jan 2020 08:30:53 +0000 (09:30 +0100)]
Fix transform feedback triangle strip verification
Vulkan specifies that the first vertex in a multi vertex primitive is
implementation specific, but the winding must be respected.
This change allows any first vertex as long as the vertices and winding
are correct.
Components: Vulkan
Affects:
dEQP-VK.transform_feedback.simple.triangle_strip_with_adjacency_*
VK-GL-CTS Issue: 2193
Change-Id: I3d195c50a4b3b1f51529014fb97cebef19f872b7
Graeme Leese [Mon, 16 Dec 2019 18:52:03 +0000 (18:52 +0000)]
Simplify the test code for ballot bit counts
The old code was quite obscure and had many references to 'Undef'
despite nothing really being undefined. The 'undefTerritory' that was
referred to was actually places where the result should be 0.
The test was also doing one extra loop iteration (i == 128) which
duplicated the prior test for 'allZeros'.
This change highlights the fact that there is no testing that these are
returning the correct results. They are only ever checking whether the
result is 0 or not.
Components: Vulkan
VK-GL-CTS issue: 2192
Affects: dEQP-VK.subgroups.ballot_other.*bitcount*
Change-Id: I0e1f91b60f103311d0b75748ff21ac6005e01cfd
Graeme Leese [Fri, 14 Jun 2019 17:01:34 +0000 (18:01 +0100)]
Use float16 precision for testing mediump
The precision requirements for mediump are not in the spec, they're just
for the conformance test, so it makes sense to use the simplest thing.
Allow the same error margins for mediump's 16-bit as for true 16-bit
floats. This slightly increases the precision requirements on mediump
exp but loosens them for atan.
Note, however, that the requirements for fp16 are still stricter than
for mediump because of the FloatFormat involved. fp16 requires support
for a wider exponent range than mediump.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin.precision.exp*.mediump.*
dEQP-VK.glsl.builtin.precision.atan*.mediump.*
Change-Id: I600a53984ba6a4f624bbb1525636f392d74ae96f
Pawel Ksiezopolski [Wed, 4 Dec 2019 11:01:45 +0000 (12:01 +0100)]
Extend tests for VK_EXT_fragment_density_map
New tests verify if following features work properly with
VK_EXT_fragment_density_map extension:
- multiview rendering using VK_KHR_multiview extension
- copying data using input attachments (deferred rendering scenario)
- subsampled image sizes that are not divisible by density map size
- multisampling
New tests:
dEQP-VK.renderpass2.fragment_density_map.*
Affects tests:
dEQP-VK.renderpass2.fragment_density_map.*
Components: Vulkan
VK-GL-CTS issue: 2114
Change-Id: Ie29c82ac84dc89697974736926a45e369ec87fe0
Samuel Iglesias Gonsálvez [Tue, 21 Jan 2020 12:37:16 +0000 (13:37 +0100)]
Add image clearing tests with multiple subresource ranges
Components: Vulkan
VK-GL-CTS issue: 2169
Added tests:
dEQP-VK.api.image_clearing.*_multiple_subresourcerange
Change-Id: Ie9a5fc427cc10cb8caf3beb668f275741fab98e6
Ricardo Garcia [Fri, 20 Dec 2019 10:45:02 +0000 (11:45 +0100)]
Test OpImageWrite with the Sample image operand
This commits adds tests to check OpImageWrite works properly when used
with the Sample image operand in multisample images, in order to write
to a specific sample.
New tests:
dEQP-VK.pipeline.multisample_shader_builtin.image_write_sample.*
Components: Vulkan
VK-GL-CTS issue: 2156
Change-Id: I1fa132f90fc1c58edbd4d0fcb7bac700c1310a05
Pawel Ksiezopolski [Thu, 5 Dec 2019 15:12:15 +0000 (16:12 +0100)]
Add geometry layered tests for 3D depth/stencil views
Also add geometry layered tests for non-power-of-two textures.
Affects tests:
dEQP-VK.geometry.layered.3d.*
New tests:
dEQP-VK.geometry.layered.3d.*
Components: Vulkan
VK-GL-CTS issue: 2123
Change-Id: Ic8f27f31b40a7f3fa16dc2977a0fbe1e6a0d351b
Samuel Iglesias Gonsálvez [Thu, 25 Jul 2019 13:34:26 +0000 (15:34 +0200)]
Add tests for VK_EXT_subgroup_size_control
For compute and graphics pipelines:
* Check the required subgroup size set by the tests is honored by the
driver (including for full subgroups and allow varying cases for
computer shaders).
* Check that enabling allow varying subgroup size reports a subgroup
size that falls within the limits of the driver.
* For compute pipeline, check that require full subgroups works as
expected.
On top of that, added requiredSubgroupSize case for subgroup's compute
shader tests that check all possible required subgroup sizes announced
by the driver.
Also there is a test that checks subgroup size control limits sanity.
Added tests:
dEQP-VK.subgroups.size_control.*
dEQP-VK.subgroups.*.compute*_requiredsubgroupsize
Affected tests:
dEQP-VK.subgroups.*
Components: Vulkan
VK-GL-CTS issue: 1864
Change-Id: Ia48deb9318420889754bd97545045f85b3c6fed7
Ari Suonpaa [Mon, 9 Dec 2019 07:04:27 +0000 (09:04 +0200)]
Add tests for subgroup LOD
Added tests that cover using different LOD for each vertex, thus
making sure subgroups in the same lane use their own LOD.
Amber was updated to support textures and mip maps used by these
new tests.
New tests:
dEQP-VK.texture.subgroup_lod.*
Components: Vulkan
VK-GL-CTS issue: 1809
Change-Id: I0499aca3fb673609afe7aa02e658e3c2ff968f0d
Alastair Donaldson [Wed, 12 Feb 2020 14:22:51 +0000 (14:22 +0000)]
Adapt Android test runner and rework test lists
The dEQP test runner will now skip Vulkan tests that the device does
not claim to support. This is detected by comparing the date
associated with each Vulkan case list file with the date provided by
the android.software.vulkan.deqp.level feature flag version, and
executing only those Vulkan tests associated with the date and
earlier.
Android test list generation has been adapted to generate test lists
for dates 2019-03-01 and 2020-03-01, corresponding to Android versions
10 and 11.
Change-Id: I06fecb5804fa91d85a7e6083331bae7f7ccd42ec
Alexander Galazin [Wed, 5 Feb 2020 07:59:26 +0000 (08:59 +0100)]
Merge vk-gl-cts/vulkan-cts-1.2.1 into vk-gl-cts/master
Change-Id: I405888772c14bcd201b177c8026d42c2b5a52590
Tom Cooper [Mon, 3 Feb 2020 14:39:33 +0000 (14:39 +0000)]
Fix dEQP-VK.api.image_clearing.*.clear_depth_stencil_image
Check device extensions before trying to create the renderpass using
vkCreateRenderPass2KHR.
Components: Vulkan
VK-GL-CTS Issue: 2208
Affects: dEQP-VK.api.image_clearing.*
Change-Id: I02bb1ccb8f07c7f2baa7357a639f4bdcc1dcd73f
Alexander Galazin [Tue, 4 Feb 2020 11:09:36 +0000 (12:09 +0100)]
Merge vk-gl-cts/opengl-es-cts-3.2.6 into vk-gl-cts/master
Change-Id: I995b95c0a22cd69462f00a8fd938a56b1bd7410d
Alexander Galazin [Tue, 4 Feb 2020 09:58:04 +0000 (10:58 +0100)]
Update SPIR-V tools, headers, glslang, Vulkan headers
Components: Framework, Vulkan
Change-Id: Ib6b930f9bc11f8d8190310dd79d84e4b6dfa0383
Alexander Galazin [Tue, 4 Feb 2020 08:30:07 +0000 (09:30 +0100)]
Merge vk-gl-cgts/opengl-es-cts-3.2.5 into vk-gl-cts/opengl-es-cts-3.2.6
Change-Id: I0a9b7510a940e811c0bb0282f83df74cb6d83d33
Ari Suonpaa [Fri, 20 Dec 2019 12:50:11 +0000 (14:50 +0200)]
dEQP-VK.graphicsfuzz.cov-const-folding-dot-determinant
New Tests:
dEQP-VK.graphicsfuzz.cov-const-folding-dot-determinant
Components: Vulkan
Change-Id: I7edd11cbe1bc7acdfcbc13f027eba2fc537c8452
Ari Suonpaa [Fri, 27 Dec 2019 11:17:53 +0000 (13:17 +0200)]
dEQP-VK.graphicsfuzz.cov-const-folding-vector-shuffle
New tests:
dEQP-VK.graphicsfuzz.cov-const-folding-vector-shuffle
Components: Vulkan
Change-Id: I7d12d500046f6342c9e1aec8ecd0ce1f1332475a
Ari Suonpaa [Fri, 20 Dec 2019 13:26:08 +0000 (15:26 +0200)]
dEQP-VK.graphicsfuzz.cov-const-folding-clamp
New Tests:
dEQP-VK.graphicsfuzz.cov-const-folding-clamp
Components: Vulkan
Change-Id: Ie5ce90d64a2e85dc09a8db30f45994145e5f2d89
Ari Suonpaa [Fri, 3 Jan 2020 12:20:05 +0000 (14:20 +0200)]
dEQP-VK.graphicsfuzz.cov-constants-mix-uniform
New tests:
dEQP-VK.graphicsfuzz.cov-constants-mix-uniform
Components: Vulkan
Change-Id: Ie92c8c7f836fb54e78dedf878617a6fc2d402ae9
Alexander Galazin [Mon, 3 Feb 2020 09:49:48 +0000 (10:49 +0100)]
Fix compiler warning
Components: OpenGL
Change-Id: Ie61463fcd7d5ad006e364a8b18505af0a23ebf73
Ari Suonpaa [Mon, 13 Jan 2020 11:12:07 +0000 (13:12 +0200)]
dEQP-VK.graphicsfuzz.cov-fold-shift-gte32
New Tests: dEQP-VK.graphicsfuzz.cov-fold-shift-gte32
Components: Vulkan
Change-Id: I7a08a1c1a13e2e84c4a50bd8a7a7e962224f854d
Alexander Galazin [Thu, 30 Jan 2020 12:54:19 +0000 (13:54 +0100)]
Fix init in vktApiBufferMarkerTests.cpp
Components: Vulkan
Change-Id: Iaaebd99848858fb22234e29bc63361aa8fbdeb77