layers: Pass VkResults to PostCallRecord functions
In several cases, PostCallRecordApi functions need to do different
things depending upon the return code. The most flexible way to handle
this is to allow each validation object's PCR routines to decide this
for themselves.
All PostCallRecord functions returning a VkResult will now have a
VkResult as an additional, final parameter.
Change-Id: Ibd9d7c25f8c290dd228409e793f065bf0cd253fb
diff --git a/layers/stateless_validation.h b/layers/stateless_validation.h
index bfa0e4a..0087c23 100644
--- a/layers/stateless_validation.h
+++ b/layers/stateless_validation.h
@@ -900,15 +900,15 @@
bool OutputExtensionError(const std::string &api_name, const std::string &extension_name);
void PostCallRecordCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo *pCreateInfo,
- const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass);
+ const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass, VkResult result);
void PostCallRecordCreateRenderPass2KHR(VkDevice device, const VkRenderPassCreateInfo2KHR *pCreateInfo,
- const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass);
+ const VkAllocationCallbacks *pAllocator, VkRenderPass *pRenderPass, VkResult result);
void PostCallRecordDestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks *pAllocator);
void PostCallRecordCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo,
- const VkAllocationCallbacks *pAllocator, VkDevice *pDevice);
+ const VkAllocationCallbacks *pAllocator, VkDevice *pDevice, VkResult result);
void PostCallRecordCreateInstance(const VkInstanceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator,
- VkInstance *pInstance);
+ VkInstance *pInstance, VkResult result);
bool manual_PreCallValidateCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo *pCreateInfo,
const VkAllocationCallbacks *pAllocator, VkQueryPool *pQueryPool);