From b3766dfebf5a8f8211e4a7a99c0e26f0f7db3d82 Mon Sep 17 00:00:00 2001 From: baldurk Date: Sun, 30 Aug 2015 14:54:08 +0200 Subject: [PATCH] Hook Get*MemoryRequirements functions --- renderdoc/driver/vulkan/vk_core.cpp | 16 ++++++++++++++++ renderdoc/driver/vulkan/vk_core.h | 10 ++++++++++ renderdoc/driver/vulkan/vk_hookset_defs.h | 4 ++++ 3 files changed, 30 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index 1dc2f3760..42a6d163b 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -803,6 +803,22 @@ VkResult WrappedVulkan::vkGetImageSubresourceLayout( return m_Real.vkGetImageSubresourceLayout(device, image, pSubresource, pLayout); } +VkResult WrappedVulkan::vkGetBufferMemoryRequirements( + VkDevice device, + VkBuffer buffer, + VkMemoryRequirements* pMemoryRequirements) +{ + return m_Real.vkGetBufferMemoryRequirements(device, buffer, pMemoryRequirements); +} + +VkResult WrappedVulkan::vkGetImageMemoryRequirements( + VkDevice device, + VkImage image, + VkMemoryRequirements* pMemoryRequirements) +{ + return m_Real.vkGetImageMemoryRequirements(device, image, pMemoryRequirements); +} + VkResult WrappedVulkan::vkGetGlobalExtensionProperties( const char* pLayerName, uint32_t* pCount, diff --git a/renderdoc/driver/vulkan/vk_core.h b/renderdoc/driver/vulkan/vk_core.h index 24a701880..56d2b463f 100644 --- a/renderdoc/driver/vulkan/vk_core.h +++ b/renderdoc/driver/vulkan/vk_core.h @@ -386,6 +386,16 @@ public: VkDevice device, VkDeviceMemory mem)); + IMPLEMENT_FUNCTION_SERIALISED(VkResult, vkGetBufferMemoryRequirements( + VkDevice device, + VkBuffer buffer, + VkMemoryRequirements* pMemoryRequirements)); + + IMPLEMENT_FUNCTION_SERIALISED(VkResult, vkGetImageMemoryRequirements( + VkDevice device, + VkImage image, + VkMemoryRequirements* pMemoryRequirements)); + // Memory management API functions IMPLEMENT_FUNCTION_SERIALISED(VkResult, vkBindBufferMemory( diff --git a/renderdoc/driver/vulkan/vk_hookset_defs.h b/renderdoc/driver/vulkan/vk_hookset_defs.h index 339d8dea2..06962414b 100644 --- a/renderdoc/driver/vulkan/vk_hookset_defs.h +++ b/renderdoc/driver/vulkan/vk_hookset_defs.h @@ -56,6 +56,8 @@ HookInit(vkCreateImage); \ HookInit(vkDestroyImage); \ HookInit(vkGetImageSubresourceLayout); \ + HookInit(vkGetBufferMemoryRequirements); \ + HookInit(vkGetImageMemoryRequirements); \ HookInit(vkCreateImageView); \ HookInit(vkDestroyImageView); \ HookInit(vkCreateAttachmentView); \ @@ -167,6 +169,8 @@ HookDefine3(VkResult, vkCreateImage, VkDevice, device, const VkImageCreateInfo*, pCreateInfo, VkImage*, pImage); \ HookDefine2(VkResult, vkDestroyImage, VkDevice, device, VkImage, image); \ HookDefine4(VkResult, vkGetImageSubresourceLayout, VkDevice, device, VkImage, image, const VkImageSubresource*, pSubresource, VkSubresourceLayout*, pLayout); \ + HookDefine3(VkResult, vkGetBufferMemoryRequirements, VkDevice, device, VkBuffer, buffer, VkMemoryRequirements*, VkMemoryRequirements); \ + HookDefine3(VkResult, vkGetImageMemoryRequirements, VkDevice, device, VkImage, image, VkMemoryRequirements*, VkMemoryRequirements); \ HookDefine3(VkResult, vkCreateImageView, VkDevice, device, const VkImageViewCreateInfo*, pCreateInfo, VkImageView*, pView); \ HookDefine2(VkResult, vkDestroyImageView, VkDevice, device, VkImageView, imageView); \ HookDefine3(VkResult, vkCreateAttachmentView, VkDevice, device, const VkAttachmentViewCreateInfo*, pCreateInfo, VkAttachmentView*, pView); \