VK_VALVE_mutable_descriptor_type tests
authorRicardo Garcia <rgarcia@igalia.com>
Wed, 5 May 2021 10:35:29 +0000 (12:35 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 20 May 2021 06:38:13 +0000 (06:38 +0000)
commit4672fb985b7bbca773cff3836b3651796403eef2
tree8d86df88839e818e41daab2ab625ed63efd4fd52
parentdabf73cb1c4d0b2e7e1f730d09cc8ea375400752
VK_VALVE_mutable_descriptor_type tests

This commit adds a new group of tests to check the
VK_VALVE_mutable_descriptor_type extension. The extension allows
applications to use a new type of descriptor that doesn't have a fixed
type and can mutate among several actual descriptor types.

In addition, the extension also allows creating descriptor pools and
sets that reside entirely in host memory. They can be used as the source
for descriptor copies but cannot be bound in a command buffer.

The new tests mix mutable descriptors with nonmutable ones, arrays of
them, descriptor writes, descriptor copies, host-only and normal pool
and sets, update-after-bind, different shader stages, etc.

New tests:
dEQP-VK.binding_model.mutable_descriptor.*

Components: Framework, Vulkan
VK-GL-CTS issue: 2852

Change-Id: I19b00c2e0f56ce547a615cb39d50965f513c74db
17 files changed:
AndroidGen.mk
android/cts/master/vk-master-2021-03-01/binding-model.txt
android/cts/master/vk-master/binding-model.txt
external/vulkancts/framework/vulkan/vkDeviceExtensions.inl
external/vulkancts/framework/vulkan/vkMandatoryFeatures.inl
external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp
external/vulkancts/framework/vulkan/vkRayTracingUtil.hpp
external/vulkancts/modules/vulkan/binding_model/CMakeLists.txt
external/vulkancts/modules/vulkan/binding_model/vktBindingModelTests.cpp
external/vulkancts/modules/vulkan/binding_model/vktBindingValveMutableTests.cpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/binding_model/vktBindingValveMutableTests.hpp [new file with mode: 0644]
external/vulkancts/modules/vulkan/vktTestCase.cpp
external/vulkancts/mustpass/master/vk-default/binding-model.txt
external/vulkancts/scripts/src/extensions_data.txt
external/vulkancts/scripts/src/mandatory_features.txt
framework/common/tcuDefs.cpp
framework/common/tcuDefs.hpp