Chris Forbes [Fri, 6 Sep 2019 21:01:18 +0000 (22:01 +0100)]
Always require glslang and spirv-tools to be present
The prebuilt shader paths are no longer used. Just require both
dependencies to be present and drop the !DEQP_HAVE_GLSLANG /
!DEQP_HAVE_SPIRV_TOOLS paths.
Mention of prebuilt binaries is removed from the Vulkan CTS readme.
The machinery to actually build all the shaders upfront is left
in place for now as it has value as a presubmit check.
Components: Vulkan, OpenGL
VK-GL-CTS Issue: 1951
Change-Id: I6a79766a07e5aeb3c9c43236a3a220f8b654511e
(cherry picked from commit
d936e5f039f3a8137594bd5f39ab46140ff3079b)
Pawel Ksiezopolski [Wed, 18 Sep 2019 12:16:22 +0000 (14:16 +0200)]
gen_ext_deps.py made independent from VK versions
Script gen_ext_deps.py has been modified so that it's independent
from incoming Vulkan versions ( it uses <feature> information
from vk.xml to establish what VK versions will be required ).
Accompanying CTS tests have been modified to take advantage
of this modification.
Components: Vulkan Framework
VK-GL-CTS issue: 1954
Change-Id: I2b691e1bd64a6bcb8d1cb7193318aca6bc70655c
(cherry picked from commit
a8ff253688dccdf42da109f4b53c462ac9b9bc1f)
Graeme Leese [Fri, 6 Sep 2019 10:39:27 +0000 (11:39 +0100)]
Use a single test source for quad tests
Rather than repeat this through all the various combinations, just keep
one copy of the test source, so that changing it is not such a massive
pain.
Also, use a single source for the extension enables in the tests.
Components: Vulkan
Affects: dEQP-VK.subgroups.quad.*
Change-Id: Ie3a5734c9ebeaa12c96600c7bd764a62afe7a68e
Boris Zanin [Wed, 18 Sep 2019 14:13:55 +0000 (16:13 +0200)]
Request features with VkPhysicalDeviceVulkan12Features
Test creates device requesting feature activation using one of core
structures:
* VkPhysicalDeviceVulkan11Features
* VkPhysicalDeviceVulkan12Features
or appropriate extention structure
Add test:
* dEQP-VK.api.info.vulkan1p2.feature_bits_influence
Components: vulkan
VK-GL-CTS issue: 1993
Change-Id: I1068a5f412cb6d4027656bc6f821184ad4072023
Jason Ekstrand [Wed, 25 Sep 2019 18:59:39 +0000 (13:59 -0500)]
vulkan: Adjust the required max*UpdateAfterBindInputAttachments
Components: Vulkan
VK-GL-CTS issue: 2020
Affects: dEQP-VK.api.info.vulkan1p2.limits_validation
Change-Id: Id1d1ecf19edcdaa9a68bb099d5b7334e347eec22
Graeme Leese [Mon, 9 Sep 2019 14:18:15 +0000 (15:18 +0100)]
Re-enable non-const broadcast tests
Components: Vulkan
VK-GL-CTS issue: 1933
New tests: dEQP-VK.subgroups.ballot_broadcast.*_nonconst_*
Change-Id: I626f6d17bba6c2c82e019d9695f7fcdd787e4edd
Alexander Galazin [Sun, 22 Sep 2019 08:23:16 +0000 (10:23 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: I943694007a4e5e2512a3f93c257d5c08e7e50218
Jarred Davies [Fri, 13 Sep 2019 17:24:55 +0000 (18:24 +0100)]
Fix depth store flag in seperate_channels tests
Depth wasn't being stored despite being used.
Affects:
dEQP-VK.renderpass*.suballocation.subpass_dependencies.separate_channels.*
Components: Vulkan
VK-GL-CTS Issue: 2002
Change-Id: Ib2c678dcaef1f0c87756424c23057fb1df1c311e
(cherry picked from commit
f5e267274daff5f11ad8e18f81d0abdbc064043d)
Graeme Leese [Thu, 19 Sep 2019 16:01:07 +0000 (17:01 +0100)]
Update glslang
Change-Id: I2ac91546c86305cd72d69ced4c5a6d12d51287db
Jeff Bolz [Fri, 13 Sep 2019 19:57:48 +0000 (14:57 -0500)]
Initialize output buffer in fragment_shader_interlock tests
In discard tests, not all output elements are written by the shader.
Clear the output buffer to zero to match what the test expects. The
output image was already being cleared.
Components: Vulkan
VK-GL-CTS issue: 2004
Affects: dEQP-VK.fragment_shader_interlock.*
Change-Id: Ie1049765ec4b7187b39e3d46261e9abef9f5104d
(cherry picked from commit
7b1cb5b16f44bd9598a2bc4726e78f7c13c84ea7)
Jeff Bolz [Fri, 13 Sep 2019 19:57:48 +0000 (14:57 -0500)]
Initialize output buffer in fragment_shader_interlock tests
In discard tests, not all output elements are written by the shader.
Clear the output buffer to zero to match what the test expects. The
output image was already being cleared.
Components: Vulkan
VK-GL-CTS issue: 2004
Affects: dEQP-VK.fragment_shader_interlock.*
Change-Id: Ie1049765ec4b7187b39e3d46261e9abef9f5104d
Jari Komppa [Tue, 17 Sep 2019 08:27:59 +0000 (11:27 +0300)]
Add build option for amber to use shared C runtime
Adding build option for Amber to avoid C runtime conflicts with CTS
Affects: None
Components: Vulkan, Framework
VK-GL-CTS issue: 2001
Change-Id: Ie9f9d8efee887996de843e545b808ff200e5103a
(cherry picked from commit
6500c70cbbbf32709a80417f1a54b35e568fd9d7)
Jari Komppa [Tue, 17 Sep 2019 08:27:59 +0000 (11:27 +0300)]
Add build option for amber to use shared C runtime
Adding build option for Amber to avoid C runtime conflicts with CTS
Affects: None
Components: Vulkan, Framework
VK-GL-CTS issue: 2001
Change-Id: Ie9f9d8efee887996de843e545b808ff200e5103a
Boris Zanin [Mon, 16 Sep 2019 06:47:45 +0000 (08:47 +0200)]
Check only Vulkan 1.1 and 1.2 limits
Removce all extension limits check. They are expected to be tested
in a per-extension separate tests. The per-extension tests are
expected to be committed in a separate commit.
Update test:
* dEQP-VK.api.info.vulkan1p2.limits_validation
Components: vulkan
VK-GL-CTS issue: 1999, 1924, 2008
Change-Id: Ice55c8f61500699dcfd7715df7dd3270193774b7
Alexander Galazin [Wed, 18 Sep 2019 19:14:03 +0000 (21:14 +0200)]
Update headers
Components: Vulkan
Change-Id: Id0a9c7f59e1557e53d9074ad73b73a80bcf2ef22
Alexander Galazin [Wed, 18 Sep 2019 16:12:50 +0000 (18:12 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: Iec182e5892633045b5f1b821e9f6259bd1c3d40c
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
(cherry picked from commit
84ddfc07a5b15a580590d5b405e1c5ff55b70fd9)
Piers Daniell [Tue, 10 Sep 2019 22:33:58 +0000 (16:33 -0600)]
Increase the sleep measurement tolerance to 100ms
The calibration_test works by measuring the "before"
device time, sleeping the thread for 200ms, and then
measuring the "after" device time. It then checks
the "after"-"before" delta is not more than 200ms
plus/minus 10ms.
This 10ms is too short for many systems and may
result in false failures. If the system is heavily
loaded the thread may sleep for more than 200ms.
Increasing the tolerance to 100ms appears to
eliminate the false failure I've been seeing.
Affects:
dEQP-VK.pipeline.timestamp.calibrated.calibration_test
Components: Vulkan
VK-GL-CTS issue: 1990
Change-Id: Ifc7f877daf8e361e39b3cd9ee447445529fd01d7
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
Marcin Kańtoch [Fri, 13 Sep 2019 14:42:54 +0000 (16:42 +0200)]
Fix indexing a push constant array member
gl_VertexIndex is used to index a push constant array member.
Vulkan spec says: Any member of a push constant block that is
declared as an array must only be accessed with dynamically
uniform indices. But gl_VertexIndex is not dynamically uniform.
Changed the test to use dynamically uniform indexing.
Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint.vert_pc_entry_point
Components: Vulkan
VK-GL-CTS issue: 2000
Change-Id: I767aacfe0fde27e083f7b4a82f808cb99fb31d16
Alexander Galazin [Thu, 12 Sep 2019 18:08:56 +0000 (19:08 +0100)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: I138bdc04aecc86f159b8b755ad80fb9f84b11681
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
(cherry picked from commit
9eeec03a6dc5f6c05dab28eb418d25c5794f8d0e)
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
Marcin Kańtoch [Wed, 11 Sep 2019 14:23:07 +0000 (16:23 +0200)]
Change vertex buffer format to VK_FORMAT_R8G8B8A8_UNORM
Change the vertex buffer format to VK_FORMAT_R8G8B8A8_UNORM
in spirv1p4.entrypoint* tests to make the tests pass, while
waiting on a fix in Amber.
Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.entrypoint*
Components: Vulkan
VK-GL-CTS issue: 1992
Change-Id: Icb97b7328c2e1a61c1e1c20d7dda0449738619e1
Boris Zanin [Wed, 4 Sep 2019 11:47:37 +0000 (13:47 +0200)]
Validate Vulkan 1.2 limits
Validate limits against Limit Requirements chapter.
Add test:
* dEQP-VK.api.info.vulkan1p2.limits_validation
Components: vulkan
VK-GL-CTS issue: 1924
Change-Id: Ibe54ef2c6ced9864731c358172358d871d823312
Boris Zanin [Wed, 11 Sep 2019 13:38:53 +0000 (15:38 +0200)]
Implement getPhysicalDeviceVulkan1xProperties
Addtwo helper API functions to query properties:
* getPhysicalDeviceVulkan11Properties
* getPhysicalDeviceVulkan12Properties
Components: framework
VK-GL-CTS issue: 1924
Change-Id: Icf6e178da2ec7acc21752867348a0885feb78ecf
Boris Zanin [Fri, 6 Sep 2019 12:42:14 +0000 (14:42 +0200)]
Make Context class to query extensions properties
Add functionality into Context class to query extension's
properties from default device.
Components: framework
VK-GL-CTS issue: 1924
Change-Id: If456123fa9214fdf0c8360bf645531b2a00fd9b2
Graeme Leese [Tue, 10 Sep 2019 09:15:20 +0000 (10:15 +0100)]
Don't require 8bit storage features for SPIR-V tests
Return NotSupported if the features are not supported instead. (It's
checked elsewhere that an implementation supports the mandatory feature
set).
Components: Vulkan
VK-GL-CTS issue: 1988
Affects: dEQP-VK.spirv_assembly.*
Change-Id: I6f87a996b99f55902b1c5afa502b1cdbbd73197a
Piers Daniell [Mon, 9 Sep 2019 18:41:19 +0000 (12:41 -0600)]
Check Vulkan 1.2 core features in 1.2 context
Affects:
dEQP-VK.draw.shader_layer.*
dEQP-VK.draw.shader_viewport_index.*
dEQP-VK.pipeline.sampler.view_type.*.format.*
dEQP-VK.pipeline.sampler.*.address_mode.*
VK-GL-CTS issue: 1986
Components: Vulkan
Change-Id: Ie02326cb6891a206d49297b2c49e5f5d7e7c0198
Reed Koser [Thu, 5 Sep 2019 20:48:11 +0000 (13:48 -0700)]
Fix undersized buffer use in extend operands tests
Prior to this patch, the dEQP.image.extend_operands_spirv1p4.* tests
used the size of the input image as the buffer size. Since the tests
reuse the buffer to read back the output image (which is potentially
much larger, due to the unconditional use of R32G32B32A32_*INT formats),
this resulted in corruption of device memory.
Affects: dEQP-VK.image.extend_operands_spirv1p4.*
Components: Vulkan
VK-GL-CTS issue: 1980
Change-Id: I8d07cd7d54cc305635b9674074a7eafa52bf6dfa
Alexander Galazin [Sun, 8 Sep 2019 11:08:03 +0000 (13:08 +0200)]
Implement getPhysicalDeviceVulkan12Features
The generated helper returns all-0s since
there is an assumed extension check.
Affects:
dEQP-VK.draw.indirect_draw.*
dEQP-VK.descriptor_indexing.*
Components: Vulkan
VK-GL-CTS issue: 1983
Change-Id: Iace6611d6261d2e80fe6d4dc118b5c8de55b84de
Pawel Ksiezopolski [Wed, 4 Sep 2019 12:44:53 +0000 (14:44 +0200)]
Test consistency between VkPhysicalDeviceVulkanXXFeatures and extensions
Check if appropriate fields of the VkPhysicalDeviceVulkanXXFeatures are
set when corresponding extensions are present.
New tests:
dEQP-VK.api.info.vulkan1p2.feature_extensions_consistency
dEQP-VK.api.info.vulkan1p2.property_extensions_consistency
Components: Vulkan
VK-GL-CTS issue: 1977
Change-Id: Ib9b55811293a4bc35ae32707888af761b6e8f656
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
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
(cherry picked from commit
ad22b59722c8e19416cc9c9a9cc5cc377f7a848b)
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
Alexander Galazin [Fri, 6 Sep 2019 18:22:19 +0000 (20:22 +0200)]
Update SPIR-V Tools
Components: Framework
Affects: dEQP-VK.*
Change-Id: I2b144d95efca4331bbb8bf0133983b523ff51a1a
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 12:25:45 +0000 (14:25 +0200)]
Whitelist Vulkan CTS 1.2.0.0
Affects: dEQP-VK.api.driver_properties.properties
Components: Vulkan
Change-Id: I6f3f4d2dd96d2c8540187cb55ffc888db3bb647e
Boris Zanin [Mon, 2 Sep 2019 07:22:35 +0000 (09:22 +0200)]
Functions to initialize Vulkan structures
The commit adds three helper functions:
* initStructureType
* initStructureTypeConst
* addToChainVulkanStructure
The functions designed to initialize Vulkan structures
during creation time. The initStructureType designed
to initialize variables and initStructureTypeConst
designed to initialize constants. Using pNext argument
it is useful to intialize chains of structures.
The functions do:
* fill memory of the result structure with zeros
* set sType field approprately to structure type
* assign pNext field with passed value
The function addToChainVulkanStructure enables easily
chain Vulkan structures with pNext/sType fields.
Components: Framework
VK-GL-CTS issue: 1924
Change-Id: I228fb094e6c8df7b32028e2d01474d813c47ca01
Alan Baker [Tue, 3 Sep 2019 15:01:57 +0000 (11:01 -0400)]
Remove input blocks from SPIR-V 1.4 compute shaders
Split input blocks in compute shaders into flat variables.
Component: Vulkan
VK-GL-CTS Issue: 1967
Affects:
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.ssbo_comparisons_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrequal.wg_comparisons_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.ssbo_comparisons_not_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrnotequal.wg_comparisons_not_equal
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrdiff.ssbo_comparisons_diff
dEQP-VK.spirv_assembly.instruction.spirv1p4.opptrdiff.wg_comparisons_diff
Change-Id: I228583843148e36a33d7f469cb90f628eb432c37
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
(cherry picked from commit
06eddc62b934edb7672408252b03af1877dee01c)
Alexander Galazin [Thu, 5 Sep 2019 10:06:38 +0000 (12:06 +0200)]
Integrate SPIR-V 1.5 fixes
Fixes validation errors that appeared with new 1.4 rules
Affects: dEQP-VK.spirv_assembly.instruction.*.spirv_version.*
Components: Vulkan
Change-Id: I9070357bd29092341229782f35bb0399532da1be
Alexander Galazin [Wed, 4 Sep 2019 07:46:37 +0000 (09:46 +0200)]
Update support checks for descriptorIndexing/drawIndirectCount
Use core feature struct for checks in Vulkan 1.2 context and
extension feature struct for previous API versions.
Affects:
dEQP-VK.descriptor_indexing.*
dEQP-VK.binding_model.descriptorset_random*
dEQP-VK.draw.indirect_draw.*
Components: Vulkan
Change-Id: I07ca69a5d0e7c38523c2f06e8769fa38228e0b38
Alexander Galazin [Tue, 3 Sep 2019 19:23:08 +0000 (21:23 +0200)]
Alias vkResetQueryPoolEXT to the core function
Previously only KHR-suffixed functions were considered as
candidates for aliases. This changed in Vulkan 1.2 with promotion
of VK_EXT_host_query_reset to core.
This CL changes gen_framework.py to take into account
whether an extension was promoted to core and search for
aliases only among objects introduced by the extension.
This CL also adds VK_KHR_timeline_semaphore,
VK_KHR_spirv_1_4, and VK_EXT_separate_stencil_usage
to the list of promoted extensions.
Affects:
dEQP-VK.*.host_query_reset*
dEQP-VK.api.info.device.extensions
Components: Vulkan
VK-GL-CTS issue: 1976
Change-Id: I2e31e709f7c303b775e576e617820bd67d95d78d
Alexander Galazin [Thu, 5 Sep 2019 15:26:59 +0000 (17:26 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: I44b8c90e31d532d29e601ec4dc40f5d87fc8643c
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
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
(cherry picked from commit
db50943898abca5bf39122a62d329c864809f96e)
John Anthony [Mon, 26 Aug 2019 17:02:53 +0000 (19:02 +0200)]
Fix issues in VK_KHR_buffer_device_address tests
Fixes various issues in buffer_device_address tests:
- Prefer KHR over EXT if both are available
- Check if extension is supported before checking features
- Use appropriate version of vkGetBufferDeviceAddress*
- dEQP-VK.binding_model.buffer_device_address.*convert.* requires shaderInt64
Affects:
- dEQP-VK.binding_model.buffer_device_address*
- dEQP-VK.compute.cooperative_matrix*phys*
- dEQP-VK.memory_model.*phys*
- dEQP-VK.ssbo.*phys*
- dEQP-VK.spirv_assembly.*phys*
Components: Vulkan
VK-GL-CTS Issue: 1957
Change-Id: I914d50104c08a6974e7db5902d1e88b91b2deb67
Piotr Byszewski [Mon, 2 Sep 2019 10:59:03 +0000 (12:59 +0200)]
Fix check support for (Sign|Zero)Extend tests
Components: Vulkan
Affects:
dEQP-VK.image.extend_operands_spirv1p4.*
Change-Id: I5c546afcfdc533957fbb7d78a0a98f8845a56a1b
Alexander Galazin [Thu, 5 Sep 2019 09:12:31 +0000 (11:12 +0200)]
Uncoment SPV_ENV_VULKAN_1_2 case
Components: Vulkan
Change-Id: Ie8305971f82c355266021a6487893ebf291a6103
Alexander Galazin [Wed, 4 Sep 2019 09:17:28 +0000 (11:17 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: If4c022edf815bc00ea6b8f64bb6aeac6ba44fbe6
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
Boris Zanin [Fri, 17 May 2019 09:46:12 +0000 (11:46 +0200)]
Check SPV_KHR_float_controls usage w/o OpExtension
Runs float controls test under Vulkan 1.2, that includes SPIR-V
with embedded float controls into core and thus does not require
SPV_KHR_float_controls extension in shader code.
Add tests:
* dEQP-VK.spirv_assembly.instruction.compute.float_controls_extensionless.*
Components: Vulkan
VK-GL-CTS issue: 1707
Change-Id: I4da1183a59cce915b32b2e052235fd705342fb82
(cherry picked from commit
9d0c6a51fec7bfe1b9fd1178436dbf792c2e5015)
Alexander Galazin [Tue, 3 Sep 2019 05:35:30 +0000 (07:35 +0200)]
Update SPIR-V tools and headers
Now with 1.5 support
Affects: dEQP-VK.*
Components: Vulkan, Framework
VK-GL-CTS issue: 1926
Change-Id: Ib45e3d917dd613d1615f7f9d5c5056959d48bfac
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
(cherry picked from commit
79766c897f2fb5f36561cb63c5dd80bd75e5d045)
Jeff Bolz [Tue, 9 Jul 2019 04:09:44 +0000 (23:09 -0500)]
Tests for VK_KHR_buffer_device_address
Components: Vulkan
Affects: dEQP-VK.binding_model.buffer_device_address*
Affects: dEQP-VK.compute.cooperative_matrix*phys*
Affects: dEQP-VK.memory_model.*phys*
Affects: dEQP-VK.ssbo.*phys*
Affects: dEQP-VK.spirv_assembly.*phys*
Change-Id: I045b5832e9857f6e826957e204237a32e0bcbce4
Alexander Galazin [Fri, 30 Aug 2019 11:48:28 +0000 (13:48 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: Ib45d4048f7ff9278ac5c376c17115e0e35984297
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 12:53:47 +0000 (14:53 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: I2601738259c16747c7cbd70189d0af546ce37525
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
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
(cherry picked from commit
7fdd5db62c826ec0f4e3ca17cc4252ec408ca914)
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
(cherry picked from commit
e0cd1b0113c54ae4e48d8633f29149a4c12cbffe)
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
(cherry picked from commit
6627cdcaada240502dd7a729c85cc5d508d67f95)
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
(cherry picked from commit
367c958793953cfff9c59e0f397378ab6f28c605)
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
(cherry picked from commit
da5c09f2d67257bc5979d2f2dec826e09001761d)
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
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
Alexander Galazin [Thu, 22 Aug 2019 18:22:07 +0000 (20:22 +0200)]
Update VK_KHR_performance_query headers
Align CTS header for VK_KHR_performance_query with API MR 3268
Components: Vulkan
Affects:
dEQP-VK.query_pool.performance_query.*
dEQP-VK.api.info.get_physical_device_properties2.features
dEQP-VK.api.info.get_physical_device_properties2.properties
VK-GL-CTS issue: 1947
Change-Id: I7ac34348d34122f0e9a33dd566be407ec44d55c7
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
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
Lionel Landwerlin [Fri, 1 Mar 2019 17:03:15 +0000 (17:03 +0000)]
Add tests for VK_KHR_timeline_semaphore
Renames existing semaphore tests from .*semaphore.* into .*binary_semaphore.*
Affects: dEQP-VK.synchronization.*
Change-Id: I48173432da6410a609c0d2000f21c379d4a64429
Components: Vulkan
(cherry picked from commit
a86d535bb75d21445df66cdfcce0b9dc79c37604)
Piotr Byszewski [Wed, 12 Jun 2019 14:53:49 +0000 (15:53 +0100)]
Test SPIR-V 1.4 SignExtend and ZeroExtend
SPIR-V 1.4 has 2 new extra image operands (SignExtend and ZeroExtend)
indicating if the resulting texel of the operation should be sign
or zero extended.
Components: Vulkan
Affects:
dEQP-VK.image.extend_operands_spirv1p4.*
Change-Id: Ie0ca0125d4f536c318428fc95ebaf000c3f7136f
(cherry picked from commit
6c4f066ef6aac566e8ec400e4343de86a089143c)
Alexander Galazin [Mon, 26 Aug 2019 09:18:44 +0000 (11:18 +0200)]
Allow Vulkan 1.2 in api.info.device.properties
Components: Vulkan
Affects: dEQP-VK.api.info.device.properties
VK-GL-CTS issue: 1952
Change-Id: I810a4aab69a611823703ad7b06b37c75c5f5d292
Boris Zanin [Fri, 16 Aug 2019 13:51:21 +0000 (15:51 +0200)]
Validate Vulkan 1.2 mandatory features
Check new mandatory features for Vulkan 1.2.
Updates:
* dEQP-VK.api.info.device.mandatory_features
* dEQP-VK.api.info.vulkan1p2.*
* dEQP-VK.descriptor_indexing.*
* dEQP-VK.binding_model.descriptorset_random*
Components: Vulkan
VK-GL-CTS issue: 1891, 1925, 1929
Change-Id: I59107cced3331fbaf1a54ab89e177dae68c71667
Alexander Galazin [Tue, 27 Aug 2019 08:09:07 +0000 (10:09 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: I0c2d8b0e0fc665ae231559d1d1e0a1bad8ca1baf
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: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 12:56:03 +0000 (14:56 +0200)]
Fix features2 test for VK_EXT_buffer_device_address
Take into account that VK_EXT_buffer_device_address wasn't promoted to KHR
and retained separate enum entries
Components: Vulkan
Affects: dEQP-VK.api.info.get_physical_device_properties2.features
VK-GL-CTS issue: 1932
Change-Id: I0714802865d8ef35fb41d6fbab7393c46a0b3a68
Alexander Galazin [Thu, 22 Aug 2019 18:38:57 +0000 (20:38 +0200)]
Merge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
Change-Id: Icc06dc631471d963bd6812ca84b794b2448b4b39