Add core feature bit checks for Vulkan 1.1
authorRicardo Garcia <rgarcia@igalia.com>
Mon, 22 Jun 2020 15:45:53 +0000 (17:45 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 2 Jul 2020 08:47:30 +0000 (04:47 -0400)
commit777cf1e763476b2b1822dc7b6bab37c26c422345
tree3911c40b381cb0712186deddeb771d79cb5f7a9d
parent5fbd76750754c0ee910291f247526bf5ed938ba5
Add core feature bit checks for Vulkan 1.1

requireDeviceFuncionality and isDeviceFunctionalitySupported do not
check for the requested extension to be really present in the device
when passing an extension name that's core for the used API version.

If the API version is at least Vulkan 1.2, general feature bits, if
available, are checked for the requested extension using the new
Vulkan11Features and Vulkan12Features structures introduced in Vulkan
1.2.

However, for Vulkan 1.1 no feature check is taking place either, which
does not guarantee the feature will actually be supported despite the
check returning true.

This commit fixes those checks for Vulkan 1.1 by using the equivalent
extension-specific structures and feature bits.

Affected tests (only under Vulkan 1.1 implementations):
dEQP-VK.multiview.*
dEQP-VK.draw.instanced.*_multiview
dEQP-VK.pipeline.extended_dynamic_state.*2_viewports*
dEQP-VK.pipeline.extended_dynamic_state.*2_scissors*
dEQP-VK.spirv_assembly.instruction.*.variable_pointers.*
dEQP-VK.draw.shader_draw_parameters.*
dEQP-VK.protected_memory.*.ycbcr.*
dEQP-VK.ycbcr.conversion.*
dEQP-VK.ycbcr.query.*
dEQP-VK.ycbcr.plane_view.*
dEQP-VK.ycbcr.format.*
dEQP-VK.ycbcr.filtering.*

Components: Vulkan
VK-GL-CTS issue: 2158

Change-Id: Ia9b8c33a4d0d8c3737eae662a854134866e1dfe0
external/vulkancts/modules/vulkan/vktTestCase.cpp