layers: LX190, Image layer doe snot recognize swapchain images
Image layer was using helper function limited only to header definitions,
ignoring the WSI extension images for image layouts.
diff --git a/layers/image.cpp b/layers/image.cpp
index 8cf18cb..4c08a83 100644
--- a/layers/image.cpp
+++ b/layers/image.cpp
@@ -255,6 +255,12 @@
return result;
}
+static inline uint32_t validate_VkImageLayoutKHR(VkImageLayout input_value)
+{
+ return ((validate_VkImageLayout(input_value) == 1) ||
+ (input_value == VK_IMAGE_LAYOUT_PRESENT_SOURCE_KHR));
+}
+
VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
{
VkBool32 skipCall = VK_FALSE;
@@ -312,8 +318,8 @@
for(uint32_t i = 0; i < pCreateInfo->attachmentCount; ++i)
{
- if(!validate_VkImageLayout(pCreateInfo->pAttachments[i].initialLayout) ||
- !validate_VkImageLayout(pCreateInfo->pAttachments[i].finalLayout))
+ if(!validate_VkImageLayoutKHR(pCreateInfo->pAttachments[i].initialLayout) ||
+ !validate_VkImageLayoutKHR(pCreateInfo->pAttachments[i].finalLayout))
{
std::stringstream ss;
ss << "vkCreateRenderPass parameter, VkImageLayout in pCreateInfo->pAttachments[" << i << "], is unrecognized";