Alexander Galazin [Wed, 4 Sep 2019 11:48:17 +0000 (13:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I6404ea1298af477547223b20cfd29d24d679578d
Matthew Netsch [Tue, 27 Aug 2019 19:30:31 +0000 (15:30 -0400)]
Fixes binding_model tests check for shaderInt64
Components: Vulkan
VK-GL-CTS Issue: 1956
Affects:
dEQP-VK.binding_model.buffer_device_address.*.convert.*
Change-Id: I36d71e75eb3767d2f94ef260436b8c036f0c4ea1
Alexander Galazin [Mon, 2 Sep 2019 08:37:02 +0000 (10:37 +0200)]
Update glslang, SPIR-V tools
Components: Framework
Affects: dEQP-VK.*
Change-Id: I0efb840ae228f6f88dc8555977484362dd5819d5
Samuel Iglesias Gonsálvez [Fri, 30 Aug 2019 09:27:03 +0000 (11:27 +0200)]
Update Vulkan headers to 1.1.121
Should be no functional change, just brings the header up to date
to ease submitting new tests for those extensions. It was needed
to add AMD in extension postfix list in gen_framework.py.
Components: Vulkan
Change-Id: I34725518baa9ada0948c0a0d473fb1101ef1541f
Piotr Byszewski [Mon, 10 Jun 2019 13:09:31 +0000 (15:09 +0200)]
Test enum with settings for separate controls
The original VK_KHR_shader_controls shipped with booleans named
"separateDenormSettings" and "separateRoundingModeSettings". In
recent specification update those boolean values were changed into
a tri-state enum. This change adjusts tests to that.
Components: Vulkan
VK-GL-CTS issue: 1791
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
dEQP-VK.spirv_assembly.instruction.compute.float_controls.independence_settings.*
dEQP-VK.spirv_assembly.instruction.compute.float16.logical_nan.*
dEQP-VK.spirv_assembly.instruction.compute.float_controls.fp*
dEQP-VK.spirv_assembly.instruction.graphics.float16.logical_nan.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.fp*
Change-Id: Ibabef071e32c75468176d505624c1cb140c26a47
Alexander Galazin [Fri, 30 Aug 2019 11:59:52 +0000 (13:59 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: If203fa7411adf24da1cd1b1c88ea793bd2fc117f
Alexander Galazin [Fri, 30 Aug 2019 09:24:03 +0000 (11:24 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I00f17a688d8b0b2e6c13cab41f9db2f1f853ec8b
Chris Forbes [Thu, 29 Aug 2019 16:59:43 +0000 (09:59 -0700)]
Fix uniformBufferStandardLayout enforcement to match spec
This extension isn't part of 1.1 -- the spec language was just unclear
if you were looking at the output. The spec has been fixed in
https://gitlab.khronos.org/vulkan/vulkan/commit/
aa98ba6f89b9ea707d7efc0c8f71dd82ac9ffb60
Affects: dEQP-VK.api.info.device.mandatory_features
VK-GL-CTS Issue: 1966
Change-Id: I321730f747200036a3d635245bf978eb49b56c2c
Alexander Galazin [Thu, 29 Aug 2019 06:04:01 +0000 (08:04 +0200)]
Use enumerateDeviceExtensionProperties in mandatory features
Affects: dEQP-VK.api.info.device.mandatory_features
Components: Vulkan
VK-GL-CTS issue: 1966
Change-Id: I4d72da3a36e6d31ac4025ff2b25fc3b83fdc20d3
Matthew Netsch [Wed, 28 Aug 2019 15:05:25 +0000 (11:05 -0400)]
Fixes sync test shader instance counts
Tests incorrectly required implementations to
execute only 1 vs instance per vertex.
Components: Vulkan
VK-GL-CTS Issue: 1958
Affects:
dEQP-VK.synchronization.op.*.write_indirect_buffer*
Change-Id: I17e42658706712a4f9d07931ac234c1e1807d693
Alexander Galazin [Fri, 30 Aug 2019 08:42:04 +0000 (10:42 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I3a118287f4387c798fb2beb82113029308f0762b
Matthew Netsch [Wed, 28 Aug 2019 16:31:19 +0000 (12:31 -0400)]
Adds geometry shader check for test
Components: Vulkan
VK-GL-CTS Issue: 1900
Affects:
dEQP-VK.query_pool.statistics_query.input_assembly*.primary.*adjacency
Change-Id: I6aeb72143231d59711cb1d6ea98bc2cc0264bc84
Matthew Netsch [Wed, 28 Aug 2019 16:17:00 +0000 (12:17 -0400)]
Reduce long execution time in spirv_asm float16
Components: Vulkan
VK-GL-CTS Issue: 1959
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float16.*
Change-Id: Iddfa825ffe5bf32607043eb31b517dbba1ff62dc
Yanjun Zhang [Wed, 28 Aug 2019 00:35:26 +0000 (17:35 -0700)]
Fix pixels_resolution computation in GLSL shader
branch: vulkan-cts-1.1.3
Components: Vulkan
Affects:
dEQP-VK.image.texel_view_compatible.graphic.extended.*
VK-GL-CTS issue: 1890
Change-Id: I4aa3270545e0b873bdc8baacaf1fc3947004d003
Alexander Galazin [Thu, 29 Aug 2019 14:02:15 +0000 (16:02 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I3a8423407ccb77943a3ce85b6dfbfaf679508c49
Alexander Galazin [Thu, 29 Aug 2019 12:06:21 +0000 (14:06 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: Ic4d2bda684057e57ae78e3894e646a8b4653da74
Alexander Galazin [Thu, 29 Aug 2019 10:34:59 +0000 (12:34 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I75388239129fe489793729297b9aff59da4d77da
Lingfeng Yang [Wed, 21 Aug 2019 15:45:10 +0000 (08:45 -0700)]
external fence tests: account for sync fd -1 in multiple export case
Spec allows for sync fd == -1 to be returned from vkGetFenceFdKHR
as a signal that the fence is signaled.
VK-GL-CTS issue: 1937
Components: Vulkan
Affects:
dEQP-VK.api.external.fence.sync_fd.export_multiple_times_temporary
Change-Id: I7391d180bdc1a585c7b57930fc1750d13f7151e1
(cherry picked from commit
e266d2f1ee82d20c06c3c48064f60ac4fecd8b1d)
Slawomir Cygan [Fri, 23 Aug 2019 12:33:19 +0000 (14:33 +0200)]
Explicitly use -A Win32 platform in CMake Visual Studio 2019 builds
There is a new CMake switch "-A" for selecting a platform in
Visual Studion CMake generators.
It was set only for 64-bit builds (to x64), however it seems it does not
default to Win32 - so it must be set also for 32-bit builds.
Components: Framework
VK-GL-CTS Issue: 1950
Change-Id: I4d0e9f1a9c8dd0f3060e138f613c8e5326b6fc9f
Alastair Donaldson [Tue, 16 Jul 2019 10:09:38 +0000 (11:09 +0100)]
dEQP-VK.graphicsfuzz.unreachable-barrier-in-loops
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.unreachable-barrier-in-loops
Change-Id: I2b24da2b4df4e446fe7ac716b0fdc159290137d9
Toni Merilehti [Thu, 25 Jul 2019 10:46:52 +0000 (13:46 +0300)]
Improve verification in sampled image tests
Currently the tests use texelFetch (OpImageFetch) to get sample colors
per texel from a multisampled image and verifies that the color is
either the clear color or the primitive color used. This CL makes
the verification more strict by requiring that at least some texels
have samples of both colors as the image used is multisampled.
Affects:
dEQP-VK.pipeline.multisample.sampled_image.*
Components: Vulkan
VK-GL-CTS issue: 1797
Change-Id: I266538cad5f655ad96eb7221fbdd601b8b055ae8
Alastair Donaldson [Thu, 15 Aug 2019 15:07:13 +0000 (16:07 +0100)]
dEQP-VK.graphicsfuzz.struct-used-as-temporary
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.struct-used-as-temporary
Change-Id: Icf9311a20bbe59302e0df1b75e07f18e5d788f91
Alastair Donaldson [Fri, 16 Aug 2019 16:21:24 +0000 (17:21 +0100)]
dEQP-VK.graphicsfuzz.write-red-after-search
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.write-red-after-search
Change-Id: Ibf93d1408b29fcdb40acc6026457e355a0294d9f
Jeff Bolz [Tue, 16 Jul 2019 16:34:11 +0000 (11:34 -0500)]
Add a command line option to run a fraction of tests
This is useful to easily parallelize test runs across several CPU cores.
A command line option like --deqp-case-fraction=0,2 will run 1/2 of the
tests (use 1,2 in another process to run the other half).
Components: Framework
Change-Id: I0fd2755d5b6fe458c72c22930c24346decaccbb0
Alexander Galazin [Mon, 26 Aug 2019 14:47:34 +0000 (16:47 +0200)]
Update dependency test
Components: Vulkan
Affects: dEQP-VK.api.info.device.extensions
Change-Id: Ia034c1521edfe2bdf3770b06c3b19416675540fa
Matthew Netsch [Mon, 26 Aug 2019 16:26:12 +0000 (12:26 -0400)]
Adds cubic filter to allowed ycbcr format features
Components: Vulkan
VK-GL-CTS Issue: 1938
Affects:
dEQP-VK.api.info.format_properties.*
Change-Id: I9f32b902820d7a50db9ae51a5ba61f8bab9042ba
Lingfeng Yang [Thu, 15 Aug 2019 22:41:23 +0000 (15:41 -0700)]
1d_image: enforce height 1 in decompress stage as well
Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.1d_image*
Components: Vulkan
VK-GL-CTS issue: 1920
Change-Id: Id98f0a8dd132da5bcd6a3f1426021c8f36a48149
Alan Baker [Wed, 21 Aug 2019 14:42:44 +0000 (10:42 -0400)]
Remove unnecessary 16-bit storage requirement
Remove Vulkan 16-bit storage extension from float16 constant composite
tests. These tests do not load/store half floats.
Components: Vulkan
VK-GL-CTS issue: 1931
Affects:
dEQP-VK.spirv_assembly.instruction.compute.opconstantcomposite.*
Change-Id: I5dc26a8f2d922862f68eec01910164d827e9fd8a
Lingfeng Yang [Wed, 21 Aug 2019 15:45:10 +0000 (08:45 -0700)]
external fence tests: account for sync fd -1 in multiple export case
Spec allows for sync fd == -1 to be returned from vkGetFenceFdKHR
as a signal that the fence is signaled.
VK-GL-CTS issue: 1937
Components: Vulkan
Affects:
dEQP-VK.api.external.fence.sync_fd.export_multiple_times_temporary
Change-Id: I7391d180bdc1a585c7b57930fc1750d13f7151e1
John Anthony [Thu, 11 Jul 2019 14:54:59 +0000 (16:54 +0200)]
Check supported features and properties for transform feedback tests
Builtin tests using shaderClipDistance and/or shaderCullDistance should
check if the features they need are supported. BackwardDependency test
should check if transformFeedbackDraw is supported.
Affects:
- dEQP-VK.transform_feedback.simple.xfb_clipdistance_*
- dEQP-VK.transform_feedback.simple.xfb_culldistance_*
- dEQP-VK.transform_feedback.simple.xfb_clip_and_cull_*
- dEQP-VK.transform_feedback.simple.backward_dependency
Components: Vulkan
VK-GL-CTS issue: 1934
Change-Id: I76b22a506ba608d3e3f4ea5586c74b0b7ca1066a
Matthew Netsch [Wed, 21 Aug 2019 15:43:35 +0000 (11:43 -0400)]
Fixes stencil load/store flags in renderpass tests
Components: Vulkan
VK-GL-CTS Issue: 1939
Affects:
dEQP-VK.renderpass*.simple.*stencil
Change-Id: I042c08b9bee6ba00ea3237e24f3fb6b2f1aebd9b
Iago Toral Quiroga [Tue, 6 Aug 2019 06:28:24 +0000 (08:28 +0200)]
Replace imageAtomicAdd with imageAtomicExchange in vertex shader
The test used imageAtomicAdd and relied on the
vertex shader being invoked exactly once per vertex
to produce the expected output before the fragment
shader (and later a compute shader) ran, however,
the OpenGL ES spec says:
"While a vertex or tessellation evaluation shader will
be executed at least once for each unique vertex
specified by the application, (vertex shaders) or
generated by the tessellation primitive generator
(tessellation evaluation shaders),it may be executed
more than once for implementation-dependent reasons."
For platforms where the vertex sader is executed more
than once, the test won't produce the expected result.
This change fixes this issue by using atomic exchange
instead of atomic add to ensure that the value written
by the vertex shader is not dependent on the number
of vetex shader invocations.
Components: OpenGL ES
VK-GL-CTS issue: 1910
Affects:
KHR-GLES31.core.shader_image_load_store.advanced-allStages-oneImage
Change-Id: Iedaa0c11109abfdfb5a1afe5c20e8e46a5ae07f2
Courtney Goeltzenleuchter [Tue, 30 Jul 2019 16:20:29 +0000 (10:20 -0600)]
Fix invalid parameter for GLES 2.0
Test was creating a texture with format of GL_DEPTH_STENCIL and
internalformat of GL_DEPTH24_STENCIL8_OES. In ES 2.0 the format and
internalformat must match.
Added an extra case when running 3.0 or better that does allow different
values for format and internalformat.
Affects:
KHR-GLES2.core.internalformat.texture2d.depth_stencil_unsigned_int_24_8_depth24_stencil
Components: OpenGL
VK-GL-CTS issue: 1903
Change-Id: I710975a0ea7c1d551f412590f887d9412be6f897
Chris Forbes [Thu, 29 Aug 2019 02:13:38 +0000 (19:13 -0700)]
Have just one definition of AmberTestCase
There were two -- an empty stub in the util header, and the real one.
This made it impossible to actually use the full API to set
feature/extension requirements, etc.
Instead, I have forward-declared the Amber Recipe type so that including
vktAmberTestCase.hpp does not involve pulling in Amber headers.
Add geometryShader feature requirement to provoking vertex Amber tests,
allowing them to skip properly on devices which do not support geometry
shaders.
Affects: dEQP-VK.rasterization.provoking_vertex.*
VK-GL-CTS Issue: 1964
Change-Id: Id6d1068c45b2aacc29d07527edd53d65953c49a3
Chris Forbes [Thu, 29 Aug 2019 00:44:47 +0000 (17:44 -0700)]
Fix AmberTestCase feature mapping for geometryShader
This was accidentally wired up to tessellationShader instead
VK-GL-CTS Issue: 1963
Change-Id: Id11fd09cf5c0c1353d3df4ecdcbe95bdfa9fa397
Alexander Galazin [Tue, 27 Aug 2019 09:23:35 +0000 (11:23 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I146c93073fe6c5c2d453759d1606859e0e1afff1
Alexander Galazin [Tue, 27 Aug 2019 07:13:13 +0000 (09:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I99471c0d878e8abb8c01d7b43a71a9b3e7fbe285
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
(cherry picked from commit
36005ceedd19e39bd11972dd39c419521767dac6)
Jeff Bolz [Sun, 2 Jun 2019 04:11:00 +0000 (23:11 -0500)]
New tests for VK_EXT_shader_demote_to_helper_invocation
Based on dEQP-VK.glsl.discard.*
New Tests: dEQP-VK.glsl.demote.*
Components: Vulkan
Change-Id: I9c2346592cac51cfe2de10f9586c4790c04766b6
(cherry picked from commit
529b996513d092334de3dabd4b3e44031201bdd9)
Alexander Galazin [Mon, 26 Aug 2019 12:54:02 +0000 (14:54 +0200)]
Update SPIR-V Tools and Headers
Components: Framework
Affects: dEQP-VK.*
Change-Id: Icb7162387230660e99f40d48b8ae1f3055ef3534
Alexander Galazin [Mon, 26 Aug 2019 12:15:18 +0000 (14:15 +0200)]
Whitelist 1.1.4.3 and 1.1.3.3 versions
Affects: dEQP-VK.api.driver_properties.properties
Components: Vulkan
Change-Id: Ia071c4983326e9e47a58d268264e568bea777c1c
Piers Daniell [Wed, 24 Jul 2019 05:07:47 +0000 (23:07 -0600)]
Test coverage for VK_EXT_index_type_uint8
Adds coverage for VK_EXT_index_type_uint8 by adding
a new VK_INDEX_TYPE_UINT8_EXT variant to the existing
input_assembly tests. The coverage includes drawing
all the primitive topologies with uint8 indices,
and also primitive restart.
Affects:
dEQP-VK.pipeline.input_assembly.*
Change-Id: I939c1e0d2c3d4fcfd4386b8b4e419a8ca0e73413
Components: Vulkan
(cherry picked from commit
e0e648699ac9279650486609cf16ec6e10d73042)
Alexander Galazin [Thu, 22 Aug 2019 18:29:52 +0000 (20:29 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I20bbf3397d574e49dd45deb2c337201fa46bfbb3
Alexander Galazin [Thu, 22 Aug 2019 15:46:27 +0000 (17:46 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: If70c0a43c7453bdea1cfe4666be9bdc946108a31
David Neto [Thu, 11 Jul 2019 14:41:26 +0000 (10:41 -0400)]
Update SPIRV-Tools and SPIRV-Headers
Adds extra validation for VK_KHR_16bit_storage, VK_KHR_8bit_storage.
Adds a bugfix for inlining.
This change requires several other fixes before it can go in.
Components: Vulkan
Affects:
DEQP-VK:*
VK-GL-CTS issue: 1874
Change-Id: Iba20766b36e4372f07076c67a3554d174e584edf
Alejandro Piñeiro [Wed, 31 Jul 2019 11:03:24 +0000 (13:03 +0200)]
Don't allocate a GL_TEXTURE_2D_ARRAY with full render target width/height
On the following test:
KHR-GLES31.core.shader_image_load_store.advanced-sso-simple
Storage is specified as this:
glTexStorage3D(GL_TEXTURE_2D_ARRAY, 1, GL_RGBA32F, getWindowWidth(), getWindowHeight(), 8);
This is not an issue by default, as the default window is generall
small, but it is problematic when using the fbo surface type. In that
case the render target would be allocated with width and height as
GL_MAX_RENDERBUFFER_SIZE.
The problem is that most drivers doesn't support a texture with so big
dimensions.
This patch specify a default size, and small enough to be supported by
most driver, for the texture, as most tests on that group are already
doing.
Components: OpenGL-ES
VK-GL-CTS issue: 1905
Affects:
KHR-GLES31.core.shader_image_load_store.advanced-sso-simple
Change-Id: Ib998567151a230dd6b3550dbf6e014eed6cbb957
Courtney Goeltzenleuchter [Wed, 31 Jul 2019 15:59:40 +0000 (09:59 -0600)]
Remove illegal parameter use in fbo.completeness
dEQP.GLES2.functional.fbo.completeness.renderable.texture
was calling glTexImage2D with a internalformat of GL_SRGB8
which is not valid for GLES 2.0 even with GL_EXT_sRGB.
Affects:
dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8
dEQP-GLES2.functional.fbo.completeness.renderable.texture.stencil.srgb8
dEQP-GLES2.functional.fbo.completeness.renderable.texture.depth.srgb8
Components: AOSP
VK-GL-CTS issue: 1906
Change-Id: I97003eda10600a0a33e7212b6b5de34c5b2c8848
Shahbaz Youssefi [Mon, 22 Jul 2019 18:13:55 +0000 (14:13 -0400)]
Use binding 0 for atomic counter buffers
GLES3.1 has a minimum requirement of one atomic counter buffer binding.
The following tests were binding atomic counter buffers to bindings 1
and 2 respectively:
dEQP-GLES31.functional.atomic_counter.*
dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier.*atomic_counter*
This makes the tests fail on implementations that support the minimum
required number of bindings.
VK-GL-CTS github issue: 156
Change-Id: I512478626b592c38e74150c83617176380f27c3d
Alexander Galazin [Thu, 22 Aug 2019 11:42:23 +0000 (13:42 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I4059d84b79a3ad4504f436fa39dc2cddb294f8d7
Jeff Bolz [Wed, 24 Jul 2019 18:09:04 +0000 (13:09 -0500)]
Add touch tests for volatile atomics
Volatile atomics are a late addition to the SPV_KHR_vulkan_memory_model
extension. This change adds variants of the spirv_assembly opatomic tests
that use the bit to make sure it is accepted, but don't actually prove
that the access is treated as volatile.
SPIR-V issue: 476
Components: Vulkan
Affects: dEQP-VK.spirv_assembly.*atomic*
Change-Id: I38202242dade7dcf42aa2bbcd1927a1cac1bc9ad
Jari Komppa [Wed, 31 Jul 2019 10:29:15 +0000 (13:29 +0300)]
Speed up hierarchy traversal, part 2
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 work to later stage of
test run, or otherwise speed things up a bit.
Affects:
dEQP-VK.pipeline.stencil.*
dEQP-VK.synchronization.cross_instance.*
dEQP-VK.synchronization.op.multi_queue.*
dEQP-VK.transform_feedback.fuzz.*
Components: Vulkan
VK-GL-CTS issue: 1830
Change-Id: I1c124cbf17068e56375ef2e467036e959cde8aa4
Ilkka Saarelainen [Tue, 23 Jul 2019 12:32:46 +0000 (15:32 +0300)]
Merge common util functions, part 3
Many tests have their own util functions for creating commonly used
Vulkan objects.
This CL moves the following helper functions to the framework:
- bindImage()
- bindBuffer()
- zeroBuffer()
- makeBuffer()
- makeImage()
- makeBufferCreateInfo()
- makeBufferImageCopy()
Affects: dEQP-VK.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1709
Change-Id: I77c09d4213ca708fb3255d00d2aa2506077def40
Matthew Netsch [Wed, 14 Aug 2019 11:08:32 +0000 (16:38 +0530)]
Split compute workload into multiple submissions
Reduces workload per submission
Components: Vulkan
VK-GL-CTS Issue: 1751
Affects:
dEQP-VK.memory_model.message_passing.*
Change-Id: Ia9e9b63851b18ae1d5c1b65426ee864d760bf87c
Yahan Zhou [Wed, 7 Aug 2019 19:44:50 +0000 (12:44 -0700)]
1d_image: basic: compute: texel_view_compatible: set size.y to 1
1d images need to have size.y=1. Otherwise Vulkan validation layer will
complain.
Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.1d_image*
Components: Vulkan
VK-GL-CTS issue: 1920
Change-Id: I0dd24d612aafb416a74b5eb6f16bb55c76175a0f
(cherry picked from commit
fe76a662df108542ff27e1c4f5a83077b54444c4)
Yahan Zhou [Wed, 7 Aug 2019 19:44:50 +0000 (12:44 -0700)]
1d_image: basic: compute: texel_view_compatible: set size.y to 1
1d images need to have size.y=1. Otherwise Vulkan validation layer will
complain.
Affects:
dEQP-VK.image.texel_view_compatible.compute.basic.1d_image*
Components: Vulkan
VK-GL-CTS issue: 1920
Change-Id: I0dd24d612aafb416a74b5eb6f16bb55c76175a0f
Yahan Zhou [Fri, 9 Aug 2019 18:35:15 +0000 (11:35 -0700)]
Texel view compatible: Image: proper check for image format supports
The queried image usage is different from what is acutally used. Fix it
so that we would not end up with an unsupported usage.
Affects:
dEQP-VK.image.texel_view_compatible*
Components: Vulkan
Google bug:
139193497
VK-GL-CTS issue: 1920
Change-Id: Ib8db61808db5f9391a54b7722f965b6608e7e694
David Neto [Fri, 12 Jul 2019 16:38:08 +0000 (12:38 -0400)]
Float controls: graphics: fix 16bit storage validation
For graphics shaders:
Add Float16 capability and shaderFloat16 when the test case uses
16bit float in a way not supported by the 16bit storage extension.
If not using the Float16 capability, drop definitions of 16bit
constants.
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
VK-GL-CTS issue: 1874
Change-Id: I1e25a706e0667a45b3e5b0a6c496c77feac90465
David Neto [Fri, 12 Jul 2019 20:20:13 +0000 (16:20 -0400)]
Need Float16 capability for float16 tests
Fixes validation of 2537 tests.
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float16.*
dEQP-VK.spirv_assembly.instruction.graphics.float16.*
VK-GL-CTS issue: 1874
Change-Id: I68bf7951939b5ff8382ab40e9adcaa8e1ee61c4d
Piers Daniell [Tue, 13 Aug 2019 22:11:23 +0000 (16:11 -0600)]
Fix incorrect layout transition in render pass
For the dEQP-VK.device_group.* tests the renderImage was
created with an UNDEFINED layout and then explicitly
transitioned to COLOR_ATTACHMENT_OPTIMAL during the test
initialization. Then the renderPass was created using the
makeRenderPass() utility function which assumed the
image was in the UNDEFINED state. This caused the
image to be transitioned again from UNDEFINED
to COLOR_ATTACHMENT_OPTIMAL at begin render pass time,
which might modify any valid image data.
The solution is to fix the render pass creation
to indicate that the renderImage is already in the
COLOR_ATTACHMENT_OPTIMAL layout.
Affects:
dEQP-VK.device_group.*
VK-GL-CTS issue: 1922
Change-Id: I5e1dff19eb854af9651615a7318379a318b8c273
Components: Vulkan
Panagiotis Apostolou [Thu, 25 Jul 2019 10:29:18 +0000 (12:29 +0200)]
Add pipeline barriers flushing buffer data to host
This commit adds a few buffer pipeline barriers whose purpose is to flush
gpu caches, making the buffer data visible to the host.
Affects:
dEQP-VK.pipeline.push_constant.compute_pipeline.simple_test
dEQP-VK.glsl.builtin.precision.*
dEQP-VK.glsl.builtin.function.*
dEQP-VK.api.command_buffers.record_simul_use_secondary_one_primary
dEQP-VK.synchronization.op.single_queue.*
dEQP-VK.query_pool.occlusion_query.*
Components: Vulkan
VK-GL-CTS issue: 1898
Change-Id: Ic6a467b4d1db6cebebf34c8d386e519016fc3fe9
Jeff Bolz [Thu, 18 Jul 2019 19:45:02 +0000 (14:45 -0500)]
Share instance/device across test case instances in dEQP-VK.synchronization.*
Some of the dEQP-VK.synchronization.* test groups create new devices or new
instances for each test case. This is a really expensive thing to do tens of
thousands of times, and makes this the longest-running test group in the CTS.
This change uses singleton objects to store the instance/device, and adds
cleanup callbacks to destroy the singletons when the group is finished.
VK-GL-CTS Issue: 1886
Components: Vulkan
Affects: dEQP-VK.synchronization.*
Change-Id: If935b457276790faf4a86e6f2afb5fd911987a85
Alexander Galazin [Fri, 16 Aug 2019 13:05:42 +0000 (15:05 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I12856e0c5f601fa1bf6022a53e5532dac5e97e1a
David Neto [Mon, 15 Jul 2019 15:02:20 +0000 (11:02 -0400)]
Fix Float16 validation for 16bt storage tests
* Refactor interface functions to avoid arithmetic capabilities
* new string template
Components: Vulkan
VK-GL-CTS issue: 1874
Affects:
dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.*
dEQP-VK.spirv_assembly.instruction.graphics.indexing.*
Change-Id: I05198eedb59a545785a65026847885ea7fae85bf
David Neto [Fri, 12 Jul 2019 16:27:07 +0000 (12:27 -0400)]
Float controls: break out extra functions as separate from constants
This should not be a functional change.
Components: Vulkan
Affects:
dEQP-VK.spirv_assembly.instruction.compute.float_controls.*
dEQP-VK.spirv_assembly.instruction.graphics.float_controls.*
Change-Id: I03d3f2d4d9792786b159e5472368859d518cdc3e
Gary Sweet [Thu, 1 Aug 2019 11:50:40 +0000 (12:50 +0100)]
Account for precision loss in unorm depth pipeline
https://gerrit.khronos.org/#/c/4049/ introduced a regression
related to the use of depths other than 0.0 and 1.0 in the round-trip
to the depth buffer and back.
The test can now write 1.0/255.0 to gl_FragDepth and expects to see
exactly 1.0/255.0 when it is read back in the input attachment.
The unorm depth formats are only specified to be exact for the integer
values (0.0 and 1.0). We can differ by 1-bit after the round-trip.
This change adds an epsilon range check for the unorm depth tests
that resolve the issue.
Affected tests:
dEQP-VK.renderpass.dedicated_allocation.*
dEQP-VK.renderpass.suballocation.*
dEQP-VK.renderpass2.dedicated_allocation.*
dEQP-VK.renderpass2.suballocation.*
Components: Vulkan
VK_GL_CTS issue: 1908
Change-Id: Iaec3503595afd3409d2c21d8af72b469467d6673
Piers Daniell [Wed, 24 Jul 2019 05:07:47 +0000 (23:07 -0600)]
Test coverage for VK_EXT_index_type_uint8
Adds coverage for VK_EXT_index_type_uint8 by adding
a new VK_INDEX_TYPE_UINT8_EXT variant to the existing
input_assembly tests. The coverage includes drawing
all the primitive topologies with uint8 indices,
and also primitive restart.
Affects:
dEQP-VK.pipeline.input_assembly.*
Change-Id: I939c1e0d2c3d4fcfd4386b8b4e419a8ca0e73413
Components: Vulkan
Jeff Bolz [Sun, 2 Jun 2019 04:11:00 +0000 (23:11 -0500)]
New tests for VK_EXT_shader_demote_to_helper_invocation
Based on dEQP-VK.glsl.discard.*
New Tests: dEQP-VK.glsl.demote.*
Components: Vulkan
Change-Id: I9c2346592cac51cfe2de10f9586c4790c04766b6
Jason Ekstrand [Tue, 21 May 2019 23:35:19 +0000 (18:35 -0500)]
VK_KHR_pipeline_executable_properties tests
Components: Vulkan
New Tests: dEQP-VK.pipeline.executable_properties.*
Change-Id: I5534d945e65e645b8e43c23008b887797f4a5b85
Alastair Donaldson [Thu, 4 Jul 2019 22:44:58 +0000 (23:44 +0100)]
dEQP-VK.graphicsfuzz.nested-ifs-and-return-in-for-loop
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.nested-ifs-and-return-in-for-loop
Change-Id: I81849a849a85e36bfea53c6979f8760d91f148fe
Alexander Galazin [Thu, 15 Aug 2019 11:03:17 +0000 (13:03 +0200)]
Merge vk-gl-cts/opengl-cts-4.6.0 into vk-gl-cts/master
Change-Id: Idfcda7642a83ee8e573e7da2f847957d04c664fc
Alexander Galazin [Wed, 14 Aug 2019 15:09:33 +0000 (17:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: Idbd535ccaa0b8db6fcace470af92c29a999dede7
Alexander Galazin [Wed, 14 Aug 2019 14:11:55 +0000 (16:11 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I9cc0f3b31193377219058dce043d7b8a929b9eea
Alexander Galazin [Wed, 14 Aug 2019 12:04:45 +0000 (14:04 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: I6c972fa2e2028e4f813ab96eb565c93c440faf9d
Alexander Galazin [Wed, 14 Aug 2019 11:52:47 +0000 (13:52 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.2 into vk-gl-cts/vulkan-cts-1.1.3
Change-Id: I7f00708e05e1cf20c6439e52287d21eacf32ca01
Ari Suonpaa [Tue, 25 Jun 2019 12:33:55 +0000 (15:33 +0300)]
Early support check for tests (part 2)
Moved feature and extension checks into checkSupport function
which gets called before initPrograms. This speeds up the
test execution in case a test is not supported.
This the second batch of changes.
Affects:
dEQP-VK.dynamic_state.*
dEQP-VK.fragment_operations.*
dEQP-VK.geometry.*
dEQP-VK.image.*
dEQP-VK.memory.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.*
Components: Vulkan
VK-GL-CTS issue: 1786
Change-Id: Ibbf0b32425cce048d937b5da324ff097b46afd23
Hsin-Hsiao Lin [Thu, 25 Jul 2019 07:13:34 +0000 (09:13 +0200)]
Provide a highp variable to MAKE_HIGH_BALLOT_RESULT
The MAKE_HIGH_BALLOT_RESULT macro assumes the input is 32bit.
Given a mediump variable, ex: gl_SubgroupSize, would produce an
undefined result when the input value is >= 16 and the computation
is in 16 bits.
Provide a highp input would ensure the computation is in 32 bits.
Affects:
dEQP-VK.subgroups.ballot_other.*
Components: vulkan
VK-GL-CTS issue: 1894
Change-Id: I22987f20be3d08444c52cb722fc23494777a5636
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
Fabio [Thu, 25 Jul 2019 15:08:16 +0000 (17:08 +0200)]
Update device_group test to ignore VK_SUBOPTIMAL_KHR
The transform used to create the swapchain does not match the
surface rotation. This causes vkQueuePresentKHR to return
VK_SUBOPTIMAL_KHR. This return code can be ignored.
Components: Vulkan
VK-GL-CTS Issue: 1899
Affects: dEQP-VK.wsi.android.swapchain.render.device_group
Change-Id: I27d8e61007dd049b8e9cc532918056b8493a9b52
Stephen Gallimore [Wed, 31 Jul 2019 15:24:57 +0000 (16:24 +0100)]
Add result buffer invalidates to depth stencil resolve tests
Components: Vulkan
VK-GL-CTS issue: 1907
Affects: dEQP-VK.renderpass2.depth_stencil_resolve.*
Change-Id: I90920f6005b0d6a72a78c588f4c3abec81826516
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
Chris Forbes [Sun, 28 Jul 2019 20:34:13 +0000 (13:34 -0700)]
Add missing checks for sampleShading feature
These cases were missed in the previous pass as they were masked by the
(correct) check for fragmentStoresAndAtomics.
Components: Vulkan
Affects: dEQP-VK.glsl.builtin_var.*
VK-GL-CTS Issue: 1901
Change-Id: I4d19c5075d14f60ead4c6df6370fffc870cde68a
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
Martin Freebody [Mon, 22 Jul 2019 13:30:24 +0000 (14:30 +0100)]
Add barrier to access chain workgroup tests
These tests can complete with a failure to match expected
result in the last array element due to a race condition
with the parallel work-items.
The first work-item should set the last array element to 0
before a function to read the last array element is executed
on a parallel work-item.
Without the barrier it's possible on occasional test runs
to read uninitialised memory into the last array element.
Components: Vulkan
VK-GL-CTS issue: 1893
Affects:
dEQP-VK.spirv_assembly.instruction.compute.ptr_access_chain.*
Change-Id: I072299f7995b8f65e26195cfddd12f49cffcc9ff
Slawomir Cygan [Tue, 6 Aug 2019 19:53:18 +0000 (21:53 +0200)]
Fix wrong image usage flags in external memory info tests
According to spec:
"If usage includes VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT, usage must
also contain at least one of VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, or
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT."
This change adds adds COLOR, DEPTH or INPUT usage bit alongside TRANSIENT usage.
VK-GL-CTS Issue: 1913
Components: Vulkan
Change-Id: If7d4b3889f9b8709af09d448fdb24e61d493ebde
Affects: dEQP-VK.api.external.memory*info
Ari Suonpaa [Tue, 23 Apr 2019 11:57:47 +0000 (14:57 +0300)]
Make random number usage platform independent
Generating multiple random numbers in argument
list can happen in different order depending on
implementation. This change makes these happen
in the same order with all implementations.
Affects:
dEQP-VK.api.granularity.*
dEQP-VK.draw.basic_draw.*
dEQP-VK.protected_memory.*
dEQP-VK.glsl.builtin.function.common.*
dEQP-VK.glsl.builtin.function.pack_unpack.*
dEQP-VK.glsl.texture_gather.*
dEQP-VK.spirv_assembly.*
dEQP-GLES3*.functional.shaders.builtin_functions.common.*
Components: Vulkan, OpenGL, Framework
(cherry picked from commit
0106f01209fe7abb7f4daf029318a1de17844c48)
VK-GL-CTS issue: 1591
Change-Id: Iaaff9625fd331ed7184efd50b89fc835c701ac6f
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
Arkadiusz Sarwa [Wed, 24 Jul 2019 10:41:42 +0000 (12:41 +0200)]
Fixes 64bit random values for 32bit CTS build
In 32bit build a 64bit random value is assigned
to 32bit value what cause different path of execution.
Components: Vulkan
VK-GL-CTS Issue: 1895
Affects:
dEQP-VK.memory.pipeline_barrier.all.*
Change-Id: I1f51b8b30be9a70ae82326609bc382431b8f3b80