Fixes AHB image tests feature check
Test now checks for protected feature
before adding protected flag to test set.
Components: Vulkan
VK-GL-CTS issue: 1396
Affects:
dEQP-VK.api.external.memory.android_hardware_buffer.image_formats.*
https://android.googlesource.com/platform/external/deqp/+/7a014a8de760c111e14ad21c851acadc27358562%5E%21/#F0
Change-Id: I050ef6501bad37b8169a333040c937ac1ce49eb3
Signed-off-by: rie kanazawa <rie.kanazawa.sd@kyocera.jp>
diff --git a/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp
old mode 100644
new mode 100755
index 051d772..7a92125
--- a/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp
+++ b/external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp
@@ -3854,6 +3854,17 @@
const vk::DeviceDriver vkd (vki, *device);
TestLog& log = context.getTestContext().getLog();
+ vk::VkPhysicalDeviceProtectedMemoryFeatures protectedFeatures;
+ protectedFeatures.sType = vk::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES;
+ protectedFeatures.pNext = DE_NULL;
+ protectedFeatures.protectedMemory = VK_FALSE;
+
+ vk::VkPhysicalDeviceFeatures2 deviceFeatures;
+ deviceFeatures.sType = vk::VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
+ deviceFeatures.pNext = &protectedFeatures;
+
+ vki.getPhysicalDeviceFeatures2(physicalDevice, &deviceFeatures);
+
const vk::VkImageUsageFlagBits usageFlags[] =
{
vk::VK_IMAGE_USAGE_TRANSFER_SRC_BIT,
@@ -3897,6 +3908,9 @@
const size_t bit = numOfUsageFlags + createFlagNdx;
if ((combo & (1u << bit)) == 0)
continue;
+ if (((createFlags[createFlagNdx] & vk::VK_IMAGE_CREATE_PROTECTED_BIT) == vk::VK_IMAGE_CREATE_PROTECTED_BIT ) &&
+ (protectedFeatures.protectedMemory == VK_FALSE))
+ continue;
createFlag |= createFlags[createFlagNdx];
requiredAhbUsage |= ahbApi->vkCreateToAhbUsage(createFlags[createFlagNdx]);
}