dEQP-VK.api.device_init.create_device_unsupported_features.legacy_dithering_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.multisampled_render_to_single_sampled_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.pipeline_protected_access_features_ext
- dEQP-VK.api.device_init.create_device_unsupported_features.rasterization_order_attachment_access_features_ext
+dEQP-VK.api.device_init.create_device_unsupported_features.descriptor_buffer_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.graphics_pipeline_library_features_ext
dEQP-VK.api.device_init.create_device_unsupported_features.descriptor_set_host_mapping_features_valve
dEQP-VK.api.device_init.create_device_unsupported_features.shader_module_identifier_features_ext
nextPtr = &physicalDeviceMultiviewFeatures.pNext;
}
++ vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT physicalDeviceMutableDescriptorTypeFeaturesEXT;
++ deMemset(&physicalDeviceMutableDescriptorTypeFeaturesEXT, 0, sizeof(physicalDeviceMutableDescriptorTypeFeaturesEXT));
++
++ if ( isExtensionStructSupported(deviceExtensions, RequiredExtension("VK_EXT_mutable_descriptor_type")) )
++ {
++ physicalDeviceMutableDescriptorTypeFeaturesEXT.sType = getStructureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT>();
++ *nextPtr = &physicalDeviceMutableDescriptorTypeFeaturesEXT;
++ nextPtr = &physicalDeviceMutableDescriptorTypeFeaturesEXT.pNext;
++ }
++
vk::VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE physicalDeviceMutableDescriptorTypeFeaturesVALVE;
deMemset(&physicalDeviceMutableDescriptorTypeFeaturesVALVE, 0, sizeof(physicalDeviceMutableDescriptorTypeFeaturesVALVE));
}
}
++ if ( isExtensionStructSupported(deviceExtensions, RequiredExtension("VK_EXT_mutable_descriptor_type")) )
++ {
++ if ( physicalDeviceMutableDescriptorTypeFeaturesEXT.mutableDescriptorType == VK_FALSE )
++ {
++ log << tcu::TestLog::Message << "Mandatory feature mutableDescriptorType not supported" << tcu::TestLog::EndMessage;
++ result = false;
++ }
++ }
++
#if defined(CTS_USES_VULKAN)
if ( isExtensionStructSupported(deviceExtensions, RequiredExtension("VK_EXT_non_seamless_cube_map")) )
{
vktBindingDescriptorUpdateASTests.hpp
vktBindingDynamicOffsetTests.cpp
vktBindingDynamicOffsetTests.hpp
- vktBindingValveMutableTests.cpp
- vktBindingValveMutableTests.hpp
+ vktBindingMutableTests.cpp
- vktBindingMutableTests.hpp )
++ vktBindingMutableTests.hpp
+ vktBindingDescriptorBufferTests.cpp
+ vktBindingDescriptorBufferTests.hpp
+ )
PCH(DEQP_VK_BINDING_MODEL_SRCS ../pch.cpp)
#include "vktTestGroupUtil.hpp"
#ifndef CTS_USES_VULKANSC
#include "vktBindingDynamicOffsetTests.hpp"
- #include "vktBindingValveMutableTests.hpp"
+ #include "vktBindingMutableTests.hpp"
+#include "vktBindingDescriptorBufferTests.hpp"
#endif // CTS_USES_VULKANSC
namespace vkt
group->addChild(createBufferDeviceAddressTests(testCtx));
#ifndef CTS_USES_VULKANSC
group->addChild(createDynamicOffsetTests(testCtx));
- group->addChild(createDescriptorValveMutableTests(testCtx));
+ group->addChild(createDescriptorMutableTests(testCtx));
+ group->addChild(createDescriptorBufferTests(testCtx));
#endif
// \todo [2015-07-30 jarkko] .change_binding.{between_renderpasses, within_pass}
--- /dev/null
--- /dev/null
++{
++ "mandatory_features":
++ {
++ "VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT":
++ [
++ { "features": ["mutableDescriptorType"], "requirements": ["VK_EXT_mutable_descriptor_type"] }
++ ]
++ }
++}