diff options
| author | Dustin Graves <dustin@lunarg.com> | 2016-02-26 11:53:28 -0700 |
|---|---|---|
| committer | Dustin Graves <dustin@lunarg.com> | 2016-03-07 11:38:36 -0700 |
| commit | f8754fea1a9395b187fa54d99ed56925425a685d (patch) | |
| tree | 0516e1b8647788609d66a87eaffea1a1d4999f40 /layers/param_checker.cpp | |
| parent | b79741ec66b5496dbd257b59c3d5a6b457f4a5c6 (diff) | |
| download | usermoji-f8754fea1a9395b187fa54d99ed56925425a685d.tar.xz | |
layers: Add vkFreeCommandBuffers param check
Add NULL pointer checks for vkFreeCommandBuffers.
Change-Id: I7bef6a9d55fda6607b483c873485156b8c8148a1
Diffstat (limited to 'layers/param_checker.cpp')
| -rw-r--r-- | layers/param_checker.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index fcbc8f13..cf8c76f0 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -5790,6 +5790,25 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers( return result; } +VK_LAYER_EXPORT VKAPI_ATTR void VKAPI_CALL +vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, + uint32_t commandBufferCount, + const VkCommandBuffer *pCommandBuffers) { + VkBool32 skipCall = VK_FALSE; + layer_data *my_data = + get_my_data_ptr(get_dispatch_key(device), layer_data_map); + assert(my_data != NULL); + + skipCall |= param_check_vkFreeCommandBuffers( + my_data->report_data, commandPool, commandBufferCount, pCommandBuffers); + + if (skipCall == VK_FALSE) { + get_dispatch_table(pc_device_table_map, device) + ->FreeCommandBuffers(device, commandPool, commandBufferCount, + pCommandBuffers); + } +} + bool PreBeginCommandBuffer( VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo) @@ -7680,6 +7699,8 @@ VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkD return (PFN_vkVoidFunction) vkCmdSetStencilReference; if (!strcmp(funcName, "vkAllocateCommandBuffers")) return (PFN_vkVoidFunction) vkAllocateCommandBuffers; + if (!strcmp(funcName, "vkFreeCommandBuffers")) + return (PFN_vkVoidFunction)vkFreeCommandBuffers; if (!strcmp(funcName, "vkBeginCommandBuffer")) return (PFN_vkVoidFunction) vkBeginCommandBuffer; if (!strcmp(funcName, "vkEndCommandBuffer")) |
