From: Tobin Ehlis Date: Tue, 22 Sep 2015 16:11:37 +0000 (-0600) Subject: layers: Added Image layer to validation test suite with new test for bad ImageView X-Git-Tag: submit/tizen/20181227.054638~4830 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c19057b19af19dae79074851df98b6d0b811b741;p=platform%2Fupstream%2FVulkan-Tools.git layers: Added Image layer to validation test suite with new test for bad ImageView --- diff --git a/layers/image.cpp b/layers/image.cpp index 10fc36c9..d822b2eb 100644 --- a/layers/image.cpp +++ b/layers/image.cpp @@ -50,7 +50,7 @@ typedef struct _layer_data { debug_report_data *report_data; VkDbgMsgCallback logging_callback; VkPhysicalDevice physicalDevice; - unordered_map> imageMap; + unordered_map> imageMap; } layer_data; static unordered_map layer_data_map; @@ -171,6 +171,7 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateDevice(VkPhysicalDevice physicalDevice, c layer_data *device_data = get_my_data_ptr(get_dispatch_key(*pDevice), layer_data_map); device_data->report_data = layer_debug_report_create_device(instance_data->report_data, *pDevice); device_data->physicalDevice = physicalDevice; + device_data->imageMap.reserve(10); } return result; @@ -285,7 +286,7 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateImage(VkDevice device, const VkImageCreat VkResult result = get_dispatch_table(image_device_table_map, device)->CreateImage(device, pCreateInfo, pImage); if(result == VK_SUCCESS) { - device_data->imageMap[pImage->handle] = unique_ptr(new VkImageCreateInfo(*pCreateInfo)); + device_data->imageMap[pImage->handle] = unique_ptr(new IMAGE_STATE(pCreateInfo)); } return result; } @@ -433,6 +434,8 @@ VK_LAYER_EXPORT PFN_vkVoidFunction VKAPI vkGetDeviceProcAddr(VkDevice device, co return (PFN_vkVoidFunction) vkDestroyDevice; if (!strcmp(funcName, "vkCreateImage")) return (PFN_vkVoidFunction) vkCreateImage; + if (!strcmp(funcName, "vkCreateImageView")) + return (PFN_vkVoidFunction) vkCreateImageView; if (!strcmp(funcName, "vkCreateRenderPass")) return (PFN_vkVoidFunction) vkCreateRenderPass; diff --git a/layers/image.h b/layers/image.h index 631d1c64..ce4f77b3 100644 --- a/layers/image.h +++ b/layers/image.h @@ -37,4 +37,12 @@ typedef enum _IMAGE_ERROR IMAGE_VIEW_CREATE_ERROR, // Error occurred trying to create Image View } IMAGE_ERROR; +typedef struct _IMAGE_STATE +{ + uint32_t mipLevels; + uint32_t arraySize; + _IMAGE_STATE():mipLevels(0), arraySize(0) {}; + _IMAGE_STATE(const VkImageCreateInfo* pCreateInfo):mipLevels(pCreateInfo->mipLevels), arraySize(pCreateInfo->arraySize) {}; +} IMAGE_STATE; + #endif // IMAGE_H