Alexander Galazin [Wed, 18 Sep 2019 16:13:41 +0000 (18:13 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: I99b34ab4ebc31e530d24d61772bcada52e2637d4
John Anthony [Mon, 9 Sep 2019 10:03:44 +0000 (12:03 +0200)]
Use SAMPLE_ZERO resolve mode in imageless framebuffer test
Change imageless framebuffer depth+stencil resolve test to use
SAMPLE_ZERO resolve mode for both depth and stencil, as that resolve
mode is the only one required to be supported.
Affects: dEQP-VK.imageless_framebuffer.depth_stencil_resolve
Components: Vulkan
VK-GL-CTS Issue: 1984
Change-Id: Ib96d6d9f765b336afc2d02cd084ec3ba3c945196
Ricardo Garcia [Tue, 23 Jul 2019 13:51:25 +0000 (15:51 +0200)]
Test SPIRV comparison operations with 64-bit types
Test every comparison operation with 64-bit floats, including all
ordered and unordered variants, as well as 64-bit signed and unsigned
integers.
Every operation is tested on single scalars as well as vectors, and made
to run in vertex, fragment and compute shaders, to take into account
some implementations may use different compilers for different stages.
New tests:
dEQP-VK.spirv_assembly.instruction.*.64bit_compare.*
Components: Vulkan
VK-GL-CTS issue: 1902
Change-Id: I804c12820334d7bfb23c3406833c952ae0e12b44
Ricardo Garcia [Thu, 13 Jun 2019 09:43:52 +0000 (11:43 +0200)]
Enable validation layers for custom devices and instances
Honor the --deqp-validation=enable command line option in tests using
custom devices and instances.
Affected tests:
dEQP-VK.api.buffer.*
dEQP-VK.api.device_init.*
dEQP-VK.api.external.memory.*
dEQP-VK.api.info.*
dEQP-VK.api.object_management.*
dEQP-VK.api.version_check.*
dEQP-VK.compute.basic.*
dEQP-VK.compute.device_group.*
dEQP-VK.device_group.*
dEQP-VK.image.swapchain_mutable.*
dEQP-VK.memory.allocation.*
dEQP-VK.memory.device_group_allocation.*
dEQP-VK.multiview.*
dEQP-VK.pipeline.push_descriptor.*
dEQP-VK.protected_memory.*
dEQP-VK.robustness.*
dEQP-VK.sparse_resources.*
dEQP-VK.synchronization.basic.semaphore.*
dEQP-VK.synchronization.cross_instance.*
dEQP-VK.synchronization.internally_synchronized_objects.*
dEQP-VK.synchronization.op.multi_queue.*
dEQP-VK.synchronization.smoke.*
dEQP-VK.synchronization.win32_keyed_mutex.*
dEQP-VK.wsi.*
dEQP-VK.ycbcr.format.*
Components: Vulkan
VK-GL-CTS issue: 1831
Change-Id: Id4f8f1d5053807740f3cb850554e9e80f5d7319b
Samuel Iglesias Gonsálvez [Mon, 17 Jun 2019 13:32:55 +0000 (15:32 +0200)]
Add tests checking max varyings per shader stage
It adds tests for checking that shaders defining the maximum number
of shader input/output components work as expected.
This patch doesn't test tessellation and geometry shader inputs.
Added tests:
dEQP-VK.pipeline.max_varyings.*
Components: Vulkan
VK-GL-CTS issue: 71
Change-Id: Id6528493ce2048d510365f030478934eaba9ad33
Graeme Leese [Mon, 2 Sep 2019 16:49:51 +0000 (17:49 +0100)]
Combine ARB and Core subgroupBroadcast code
The ARB and core tests are attempting to do the same thing but using
slightly different names for the functions. Parameterise the names so
that we only have to maintain one copy of the test logic.
Also, make it so that we only have to write out the extensions that we
need once.
Components: Vulkan
Affects: dEQP-VK.subgroups.ballot_broadcast.*
Change-Id: I259249abba2b352dbd217aa4c26100ab7dbee637
Ricardo Garcia [Thu, 15 Aug 2019 07:09:42 +0000 (09:09 +0200)]
Add OpFRem to SPIR-V precision tests
Test the precision of OpFRem with scalars and vectors using different
floating point types.
New tests:
dEQP-VK.glsl.builtin.precision*.frem.*
Components: Vulkan
VK-GL-CTS issue: 1928
Change-Id: I3cbba606e8f107105ae860c3ab88804874e3fa27
Gary Sweet [Wed, 11 Sep 2019 10:44:27 +0000 (11:44 +0100)]
Require standardSampleLocations for imageless fb resolve tests
The resolve tests require known sample locations in order to check
the results. If standardSampleLocations is not supported, report
these tests as unsupported.
Affects: dEQP-VK.imageless_framebuffer.*
Components: Vulkan
VK-GL-CTS issue: 1987
Change-Id: I4dbec37df8606ecb994d3b343dee42c5dee6738d
Pawel Ksiezopolski [Fri, 6 Sep 2019 11:55:26 +0000 (13:55 +0200)]
Move part of the dEQP-VK.api.info.* tests into new place
Moving dEQP-VK.api.info.device.* and
dEQP-VK.api.info.instance.* tests to dEQP-VK.info.*.
Affects tests:
dEQP-VK.api.info.*
dEQP-VK.info.*
Components: Vulkan
VK-GL-CTS issue: 1897
Change-Id: I89d61bf320e39ed4660f6ac3073a8c7372bd8b56
Alexander Galazin [Thu, 12 Sep 2019 18:10:05 +0000 (19:10 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/master
Change-Id: Id7429810f24dcf55956635c88a6fdf77cfcf6f9c
Alan Baker [Mon, 19 Aug 2019 14:33:06 +0000 (10:33 -0400)]
Remove 16-bit storage requirement from half arithmetic tests
* Rewrite float16 arithmetic tests to load/store 32-bit values
* Values store in uints and reinterpreted as half vectors
* New sets of functions to load and store variables
Component: Vulkan
VK-GL-CTS issue: 1931
Affects:
dEQP-VK.spirv_assembly.instruction.*.float16.arithmetic*.*
Change-Id: I6b4665103f723b6eb1d6a11320a622c6c0470863
Alexander Galazin [Thu, 12 Sep 2019 17:26:06 +0000 (18:26 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I3b42845035fc496956deb9880ae222aa6eea1ad4
Alexander Galazin [Thu, 12 Sep 2019 16:13:36 +0000 (17:13 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Ida04f504ce53ffeba95b59731cf9d0dd10e63896
Tomasz Owczarek [Mon, 9 Sep 2019 15:03:44 +0000 (16:03 +0100)]
Accept saturated values for the 32bit buffer
API documentation, extension 1.1, vkGetQueryPoolResults description:
"If VK_QUERY_RESULT_64_BIT is not set and the result overflows a 32-bit
value, the value may either wrap or saturate."
Affects:
dEQP-VK.pipeline.timestamp.misc_tests.*
Components: Vulkan
VK-GL-CTS issue: 1985
Change-Id: Id229ea4c13b52bf27c00de734c437d878365fef9
Ben Clayton [Wed, 4 Sep 2019 15:52:07 +0000 (16:52 +0100)]
vktAmberTestCase: Bump recipe timeout to 10 minutes.
dEQP already provides mechanisms for timeouts - we don't need to rely
on additional timeouts inside amber.
Worse still, if the timeout in amber is actually hit, Vulkan objects
are destructed while the commands are still queued, which can
cause crashes instead of a clean test failure.
Components: Vulkan
VK-GL-CTS Issue: 1971
Affects:
dEQP-VK.rasterization.provoking_vertex.*
dEQP-VK.graphicsfuzz.*
dEQP-VK.pipeline.vertex_only.*
dEQP-VK.spirv_assembly.instruction.compute.ptr_access_chain.*
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.*
Change-Id: I3a2e1b1f2796af8eea7e26a8de27e8fc362b9653
Ben Clayton [Wed, 4 Sep 2019 15:46:49 +0000 (16:46 +0100)]
Update amber to
62ef3e4e.
This includes changes that allow us to specify the default
test timeout value.
Components: Vulkan
VK-GL-CTS Issue: 1971
Affects:
dEQP-VK.rasterization.provoking_vertex.*
dEQP-VK.graphicsfuzz.*
dEQP-VK.pipeline.vertex_only.*
dEQP-VK.spirv_assembly.instruction.compute.ptr_access_chain.*
dEQP-VK.spirv_assembly.instruction.compute.signed_int_compare.*
Change-Id: I099c79214ca441f2d0bd31cb8101a7dec872b4bd
John Anthony [Sun, 8 Sep 2019 14:25:48 +0000 (16:25 +0200)]
Use 4 samples for imageless framebuffer resolve tests
Change imageless framebuffer resolve tests to use sample count 4 instead
of 2 for multisample attachments, since 4 is required to be supported,
while 2 is optional.
Affects: dEQP-VK.imageless_framebuffer.*resolve
Components: Vulkan
VK-GL-CTS Issue: 1981
Change-Id: I781b64497ae689ea83609476810207e92cf2d9f6
Stephen Gallimore [Thu, 18 Jul 2019 16:48:41 +0000 (17:48 +0100)]
Correct handling of independentResolveNone
Some depth/stencil resolve tests are incorrectly reported
as unsupported, when the device's supported features include
independentResolveNone but not independentResolve.
Affects:
dEQP-VK.renderpass2.depth_stencil_resolve.*
VK-GL-CTS Issue: 1882
Components: Vulkan
Change-Id: I51f3fbf1447084a052e8f57a5726435f7947384e
Chris Forbes [Thu, 29 Aug 2019 18:22:26 +0000 (11:22 -0700)]
Check whether the underlying format is supported in format_reinterpret tests
Affects: dEQP-VK.image.*
VK-GL-CTS Issue: 1969
Change-Id: I4e78351aa8746ebd2f2ea69980f747ded508802b
Alexander Galazin [Thu, 5 Sep 2019 08:54:18 +0000 (10:54 +0200)]
Remove 1.1.0.3 from the list of accepted versions
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: I34965c973c1fe003dc5ca61e37ddce79d491acd3
Alexander Galazin [Wed, 4 Sep 2019 20:06:14 +0000 (22:06 +0200)]
Notice of withdrawal of Vulkan CTS 1.1.2.x
Components: Vulkan
Change-Id: Icd63b3d4bf9625c4235bc47b05194ebe04fed59e
Alexander Galazin [Fri, 6 Sep 2019 12:27:23 +0000 (14:27 +0200)]
Whitelist Vulkan CTS 1.1.5.1
Components: Vulkan
Affects: dEQP-VK.api.driver_properties.properties
Change-Id: I8fe5d5d033e2c236e1556e100e44d7020f1066a1
Alexander Galazin [Fri, 6 Sep 2019 11:48:07 +0000 (13:48 +0200)]
Fix Android mustpass
Change-Id: Ifa36b7f6beee082b41773c069f6b01b330f09cf9
Alastair Donaldson [Wed, 21 Aug 2019 07:48:43 +0000 (08:48 +0100)]
dEQP-VK.graphicsfuzz.write-red-in-loop-nest
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.write-red-in-loop-nest
Change-Id: I026829faffa3dc27fa2269ae67bff092b3bede7d
Jeff Bolz [Wed, 22 May 2019 19:00:25 +0000 (14:00 -0500)]
VK_EXT_line_rasterization tests
Components: Vulkan
Affects: dEQP-VK.rasterization.*
Change-Id: I69a3be4c19005f5f944da57285687cf564473da4
Alexander Galazin [Thu, 5 Sep 2019 15:18:55 +0000 (17:18 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
Change-Id: I9127426326658bfa984eb90837e731d8a26139c1
Alexander Galazin [Thu, 5 Sep 2019 15:17:32 +0000 (17:17 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
Change-Id: Ia899f8486ce88f6fdb54cfb070a7026b815bb25b
Ilkka Saarelainen [Wed, 21 Aug 2019 11:41:07 +0000 (14:41 +0300)]
Fix API usage errors in geometry tests
Fixes validation errors in various geometry tests.
geometry.basic.output_* tests were potentially exceeding the
maxGeometryTotalOutputComponents limit because the gl_PerVertex was
implicitly declared and therefore contained gl_Position and gl_PointSize.
Now the gl_PerVertex is declared explicitly to contain only gl_Position.
Fixes flush/invalidate mapped memory range -validation errors by using the
flushAlloc/invalidateAlloc -framework functions.
Affects:
dEQP-VK.geometry.basic.output_*
dEQP-VK.geometry.instanced.*
Components: Vulkan
VK-GL-CTS issue: 1911
Change-Id: I8e4cfd5879ba8c61be3019578b8afbc76592d82e
Chris Forbes [Wed, 14 Aug 2019 02:46:32 +0000 (19:46 -0700)]
Avoid timeouts in dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail
Components: Vulkan
Affects: dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail
VK-GL-CTS Issue: 1919
Google bug: b/
139391065
Change-Id: Id5f20ef22147431aef2eabb97f2c7ef5171ed2ae
David Emett [Wed, 21 Aug 2019 18:48:38 +0000 (19:48 +0100)]
Fix build when DEQP_HAVE_GLSLANG not defined
Change-Id: I437a51e03c72b823ae3093fbce178f556b0e23c1
Alastair Donaldson [Wed, 21 Aug 2019 07:51:26 +0000 (08:51 +0100)]
dEQP-VK.graphicsfuzz.unreachable-loops
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.unreachable-loops
Change-Id: I0dd661075f3ceb825bf542f0acd6bbeb3ea5c5c7
Alastair Donaldson [Wed, 21 Aug 2019 07:53:19 +0000 (08:53 +0100)]
dEQP-VK.graphicsfuzz.write-before-break
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.write-before-break
Change-Id: I0a03a211a2d0696e4f6562c4604155be6eca7c24
Ari Suonpaa [Wed, 21 Aug 2019 11:02:25 +0000 (14:02 +0300)]
Test for loop with condition always false
Added a shader found by GraphicsFuzz: A function gets
passed a value which is used as a condition in a for
loop. The condition is always false. The shader should
get past the for loop and write a red color.
New tests:
dEQP-VK.graphicsfuzz.for-condition-always-false
Components: Vulkan
VK-GL-CTS issue: 1935
Change-Id: I0a1d19601d81d4aaad4961877839047f930ea735
Piotr Byszewski [Thu, 4 Jul 2019 11:40:03 +0000 (13:40 +0200)]
Test cbuffer packing with scalar block layout
Components: Vulkan
VK-GL-CTS issue: 1826
Add tests:
dEQP-VK.spirv_assembly.instruction.compute.hlsl_cases.cbuffer_packing
Change-Id: Ibeef726b4d0387b021184c68cd313173f834d06d
Alastair Donaldson [Thu, 4 Jul 2019 13:17:15 +0000 (14:17 +0100)]
dEQP-VK.graphicsfuzz.do-while-loop-in-conditionals
Components: Vulkan
New Tests:
dEQP-VK.graphicsfuzz.do-while-loop-in-conditionals
Change-Id: I232d4bf0010f08d7c9352f7258fda34272e89cbc
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