aboutsummaryrefslogtreecommitdiff
path: root/layers/image.cpp
diff options
context:
space:
mode:
authorJeremy Hayes <jeremy@lunarg.com>2016-03-01 14:01:45 -0700
committerJeremy Hayes <jeremy@lunarg.com>2016-03-01 17:03:35 -0700
commitad4ead6be633f9fbe3e7c9da0aac8efad4a9dca0 (patch)
treea312447b7f5447b7cff8091c87622bfd298761e4 /layers/image.cpp
parente782b01122eb24aa25420350ae26561a1c025660 (diff)
downloadusermoji-ad4ead6be633f9fbe3e7c9da0aac8efad4a9dca0.tar.xz
layers: gllavl#76 validate initialLayout
Change-Id: Iede6dcf3bc83a5663b80b62c3239ef54bc74278a
Diffstat (limited to 'layers/image.cpp')
-rw-r--r--layers/image.cpp9
1 files changed, 9 insertions, 0 deletions
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);
}