From ad4ead6be633f9fbe3e7c9da0aac8efad4a9dca0 Mon Sep 17 00:00:00 2001 From: Jeremy Hayes Date: Tue, 1 Mar 2016 14:01:45 -0700 Subject: layers: gllavl#76 validate initialLayout Change-Id: Iede6dcf3bc83a5663b80b62c3239ef54bc74278a --- layers/image.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'layers/image.cpp') diff --git a/layers/image.cpp b/layers/image.cpp index 0f3fae97..5f354502 100644 --- a/layers/image.cpp +++ b/layers/image.cpp @@ -417,6 +417,15 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(VkDevice device, co string_VkSampleCountFlagBits(pCreateInfo->samples), ImageFormatProperties.sampleCounts); } + if (pCreateInfo->initialLayout != VK_IMAGE_LAYOUT_UNDEFINED || + pCreateInfo->initialLayout != VK_IMAGE_LAYOUT_PREINITIALIZED) + { + skipCall |= log_msg(phy_dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT, + (uint64_t)pImage, __LINE__, IMAGE_INVALID_LAYOUT, "Image", + "vkCreateImage parameter, pCreateInfo->initialLayout, must be VK_IMAGE_LAYOUT_UNDEFINED or " + "VK_IMAGE_LAYOUT_PREINITIALIZED"); + } + if (VK_FALSE == skipCall) { result = device_data->device_dispatch_table->CreateImage(device, pCreateInfo, pAllocator, pImage); } -- cgit v1.2.3