platform/upstream/VK-GL-CTS.git
5 years agoAdd signal ordering tests
Lionel Landwerlin [Tue, 10 Sep 2019 11:36:19 +0000 (14:36 +0300)]
Add signal ordering tests

We want to verify that the signaling of semaphores in multiple
VkSubmitInfo a vkQueueSubmit() is ordered.

Add tests:
   dEQP-VK.synchronization.signal_order.*

Change-Id: Ibf47e7e4105f479ab33b5bafeda3efdd4c2782b5
(cherry picked from commit 70ed33e49cd109a494b85a0daeb73ff40d3157f9)

5 years agoAlways require glslang and spirv-tools to be present
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)

5 years agogen_ext_deps.py made independent from VK versions
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)

5 years agoUse a single test source for quad tests
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

5 years agoRequest features with VkPhysicalDeviceVulkan12Features
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

5 years agovulkan: Adjust the required max*UpdateAfterBindInputAttachments
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

5 years agoRe-enable non-const broadcast tests
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
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

5 years agoFix depth store flag in seperate_channels tests
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)

5 years agoUpdate glslang
Graeme Leese [Thu, 19 Sep 2019 16:01:07 +0000 (17:01 +0100)]
Update glslang

Change-Id: I2ac91546c86305cd72d69ced4c5a6d12d51287db

5 years agoInitialize output buffer in fragment_shader_interlock tests
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)

5 years agoInitialize output buffer in fragment_shader_interlock tests
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

5 years agoAdd build option for amber to use shared C runtime
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)

5 years agoAdd build option for amber to use shared C runtime
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

5 years agoCheck only Vulkan 1.1 and 1.2 limits
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

5 years agoUpdate headers
Alexander Galazin [Wed, 18 Sep 2019 19:14:03 +0000 (21:14 +0200)]
Update headers

Components: Vulkan

Change-Id: Id0a9c7f59e1557e53d9074ad73b73a80bcf2ef22

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
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

5 years agoCombine ARB and Core subgroupBroadcast code
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)

5 years agoIncrease the sleep measurement tolerance to 100ms
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

5 years agoRequire standardSampleLocations for imageless fb resolve tests
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

5 years agoFix indexing a push constant array member
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
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

5 years agoAccept saturated values for the 32bit buffer
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)

5 years agovktAmberTestCase: Bump recipe timeout to 10 minutes.
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

5 years agoUpdate amber to 62ef3e4e.
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

5 years agoUse 4 samples for imageless framebuffer resolve tests
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

5 years agoCorrect handling of independentResolveNone
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

5 years agoChange vertex buffer format to VK_FORMAT_R8G8B8A8_UNORM
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

5 years agoValidate Vulkan 1.2 limits
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

5 years agoImplement getPhysicalDeviceVulkan1xProperties
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

5 years agoMake Context class to query extensions properties
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

5 years agoDon't require 8bit storage features for SPIR-V tests
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

5 years agoCheck Vulkan 1.2 core features in 1.2 context
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

5 years agoFix undersized buffer use in extend operands tests
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

5 years agoImplement getPhysicalDeviceVulkan12Features
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

5 years agoTest consistency between VkPhysicalDeviceVulkanXXFeatures and extensions
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

5 years agoCheck whether the underlying format is supported in format_reinterpret tests
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

5 years agoVK_EXT_line_rasterization tests
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)

5 years agoAccount for precision loss in unorm depth pipeline
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

5 years agoUpdate SPIR-V Tools
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

5 years agoWhitelist Vulkan CTS 1.1.5.1
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

5 years agoWhitelist Vulkan CTS 1.2.0.0
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

5 years agoFunctions to initialize Vulkan structures
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

5 years agoRemove input blocks from SPIR-V 1.4 compute shaders
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

5 years agoFix API usage errors in geometry tests
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)

5 years agoIntegrate SPIR-V 1.5 fixes
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

5 years agoUpdate support checks for descriptorIndexing/drawIndirectCount
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

5 years agoAlias vkResetQueryPoolEXT to the core function
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
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

5 years agoAvoid timeouts in dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail
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

5 years agoFix build when DEQP_HAVE_GLSLANG not defined
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)

5 years agoFix issues in VK_KHR_buffer_device_address tests
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

5 years agoFix check support for (Sign|Zero)Extend tests
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

5 years agoUncoment SPV_ENV_VULKAN_1_2 case
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
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

5 years agoFixes binding_model tests check for shaderInt64
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

5 years agoCheck SPV_KHR_float_controls usage w/o OpExtension
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)

5 years agoUpdate SPIR-V tools and headers
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

5 years agoTest enum with settings for separate controls
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)

5 years agoTests for VK_KHR_buffer_device_address
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
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

5 years agoFix uniformBufferStandardLayout enforcement to match spec
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

5 years agoUse enumerateDeviceExtensionProperties in mandatory features
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

5 years agoFixes sync test shader instance counts
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
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

5 years agoAdds geometry shader check for test
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

5 years agoReduce long execution time in spirv_asm float16
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

5 years agoFix pixels_resolution computation in GLSL shader
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
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

5 years agoAdd a command line option to run a fraction of tests
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)

5 years agoImprove verification in sampled image tests
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)

5 years agoUpdate dependency test
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)

5 years ago1d_image: enforce height 1 in decompress stage as well
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)

5 years agoRemove unnecessary 16-bit storage requirement
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)

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.3 into vk-gl-cts/vulkan-cts-1.1.4
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

5 years agoexternal fence tests: account for sync fd -1 in multiple export case
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)

5 years agoExplicitly use -A Win32 platform in CMake Visual Studio 2019 builds
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

5 years agoAdds cubic filter to allowed ycbcr format features
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

5 years agoUpdate VK_KHR_performance_query headers
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

5 years agoCheck supported features and properties for transform feedback tests
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

5 years agoFixes stencil load/store flags in renderpass tests
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

5 years agoHave just one definition of AmberTestCase
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

5 years agoFix AmberTestCase feature mapping for geometryShader
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

5 years agoAdd tests for VK_KHR_timeline_semaphore
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)

5 years agoTest SPIR-V 1.4 SignExtend and ZeroExtend
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)

5 years agoAllow Vulkan 1.2 in api.info.device.properties
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

5 years agoValidate Vulkan 1.2 mandatory features
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.5 into vk-gl-cts/vulkan-cts-1.2.0
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

5 years agoMerge vk-gl-cts/vulkan-cts-1.1.4 into vk-gl-cts/vulkan-cts-1.1.5
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

5 years agoVK_EXT_fragment_shader_interlock tests
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)

5 years agoNew tests for VK_EXT_shader_demote_to_helper_invocation
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)

5 years agoWhitelist 1.1.4.3 and 1.1.3.3 versions
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

5 years agoTest coverage for VK_EXT_index_type_uint8
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)

5 years agoFix features2 test for VK_EXT_buffer_device_address
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