From d7d766e21a0b159ff47d0368588c6b8525f61673 Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 10 Oct 2015 12:32:54 +0200 Subject: [PATCH] Restore VkResult return value to vkAllocDescriptorSets --- renderdoc/driver/vulkan/vk_core.h | 2 +- renderdoc/driver/vulkan/vk_hookset_defs.h | 2 +- renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/renderdoc/driver/vulkan/vk_core.h b/renderdoc/driver/vulkan/vk_core.h index a181f7dfc..793206ce0 100644 --- a/renderdoc/driver/vulkan/vk_core.h +++ b/renderdoc/driver/vulkan/vk_core.h @@ -811,7 +811,7 @@ public: VkDevice device, VkDescriptorPool descriptorPool); - IMPLEMENT_FUNCTION_SERIALISED(void, vkAllocDescriptorSets, + IMPLEMENT_FUNCTION_SERIALISED(VkResult, vkAllocDescriptorSets, VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorSetUsage setUsage, diff --git a/renderdoc/driver/vulkan/vk_hookset_defs.h b/renderdoc/driver/vulkan/vk_hookset_defs.h index e5e75f9ad..6a4645680 100644 --- a/renderdoc/driver/vulkan/vk_hookset_defs.h +++ b/renderdoc/driver/vulkan/vk_hookset_defs.h @@ -209,7 +209,7 @@ HookDefine2(void, vkDestroyDescriptorSetLayout, VkDevice, device, VkDescriptorSetLayout, descriptorSetLayout); \ HookDefine3(VkResult, vkCreateDescriptorPool, VkDevice, device, const VkDescriptorPoolCreateInfo*, pCreateInfo, VkDescriptorPool*, pDescriptorPool); \ HookDefine2(void, vkDestroyDescriptorPool, VkDevice, device, VkDescriptorPool, descriptorPool); \ - HookDefine6(void, vkAllocDescriptorSets, VkDevice, device, VkDescriptorPool, descriptorPool, VkDescriptorSetUsage, setUsage, uint32_t, count, const VkDescriptorSetLayout*, pSetLayouts, VkDescriptorSet*, pDescriptorSets); \ + HookDefine6(VkResult, vkAllocDescriptorSets, VkDevice, device, VkDescriptorPool, descriptorPool, VkDescriptorSetUsage, setUsage, uint32_t, count, const VkDescriptorSetLayout*, pSetLayouts, VkDescriptorSet*, pDescriptorSets); \ HookDefine5(void, vkUpdateDescriptorSets, VkDevice, device, uint32_t, writeCount, const VkWriteDescriptorSet*, pDescriptorWrites, uint32_t, copyCount, const VkCopyDescriptorSet*, pDescriptorCopies); \ HookDefine4(VkResult, vkFreeDescriptorSets, VkDevice, device, VkDescriptorPool, descriptorPool, uint32_t, count, const VkDescriptorSet*, pDescriptorSets); \ HookDefine3(VkResult, vkCreateCommandPool, VkDevice, device, const VkCmdPoolCreateInfo*, pCreateInfo, VkCmdPool*, pCmdPool); \ diff --git a/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp index f4e6e715d..05770634d 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_descriptor_funcs.cpp @@ -232,7 +232,7 @@ bool WrappedVulkan::Serialise_vkAllocDescriptorSets( return true; } -void WrappedVulkan::vkAllocDescriptorSets( +VkResult WrappedVulkan::vkAllocDescriptorSets( VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorSetUsage setUsage, @@ -243,7 +243,9 @@ void WrappedVulkan::vkAllocDescriptorSets( VkDescriptorSetLayout *unwrapped = GetTempArray(count); for(uint32_t i=0; i < count; i++) unwrapped[i] = Unwrap(pSetLayouts[i]); - ObjDisp(device)->AllocDescriptorSets(Unwrap(device), Unwrap(descriptorPool), setUsage, count, unwrapped, pDescriptorSets); + VkResult ret = ObjDisp(device)->AllocDescriptorSets(Unwrap(device), Unwrap(descriptorPool), setUsage, count, unwrapped, pDescriptorSets); + + if(ret != VK_SUCCESS) return ret; for(uint32_t i=0; i < count; i++) { @@ -284,6 +286,8 @@ void WrappedVulkan::vkAllocDescriptorSets( GetResourceManager()->AddLiveResource(id, pDescriptorSets[i]); } } + + return ret; } VkResult WrappedVulkan::vkFreeDescriptorSets(