aboutsummaryrefslogtreecommitdiff
path: root/layers/param_checker.cpp
diff options
context:
space:
mode:
authorDustin Graves <dustin@lunarg.com>2016-02-26 11:53:28 -0700
committerDustin Graves <dustin@lunarg.com>2016-03-07 11:38:36 -0700
commitf8754fea1a9395b187fa54d99ed56925425a685d (patch)
tree0516e1b8647788609d66a87eaffea1a1d4999f40 /layers/param_checker.cpp
parentb79741ec66b5496dbd257b59c3d5a6b457f4a5c6 (diff)
downloadusermoji-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.cpp21
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"))