From 2bbfa66d72b96c4b2881b4f8dc45136f52e41f51 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 16 Sep 2015 15:16:36 +0200 Subject: [PATCH] Add pool identification utility function --- renderdoc/driver/vulkan/vk_resources.cpp | 38 ++++++++++++++++++++++++ renderdoc/driver/vulkan/vk_resources.h | 2 ++ 2 files changed, 40 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_resources.cpp b/renderdoc/driver/vulkan/vk_resources.cpp index 95ee9c24b..67ddaa866 100644 --- a/renderdoc/driver/vulkan/vk_resources.cpp +++ b/renderdoc/driver/vulkan/vk_resources.cpp @@ -58,6 +58,44 @@ WRAPPED_POOL_INST(WrappedVkCmdPool) WRAPPED_POOL_INST(WrappedVkSwapChainWSI) +VkNamespace IdentifyTypeByPtr(WrappedVkRes *ptr) +{ + if(WrappedVkPhysicalDevice::IsAlloc(ptr)) return eResPhysicalDevice; + if(WrappedVkInstance::IsAlloc(ptr)) return eResInstance; + if(WrappedVkDevice::IsAlloc(ptr)) return eResDevice; + if(WrappedVkQueue::IsAlloc(ptr)) return eResQueue; + if(WrappedVkDeviceMemory::IsAlloc(ptr)) return eResDeviceMemory; + if(WrappedVkBuffer::IsAlloc(ptr)) return eResBuffer; + if(WrappedVkBufferView::IsAlloc(ptr)) return eResBufferView; + if(WrappedVkImage::IsAlloc(ptr)) return eResImage; + if(WrappedVkImageView::IsAlloc(ptr)) return eResImageView; + if(WrappedVkAttachmentView::IsAlloc(ptr)) return eResAttachmentView; + if(WrappedVkFramebuffer::IsAlloc(ptr)) return eResFramebuffer; + if(WrappedVkRenderPass::IsAlloc(ptr)) return eResRenderPass; + if(WrappedVkShaderModule::IsAlloc(ptr)) return eResShaderModule; + if(WrappedVkShader::IsAlloc(ptr)) return eResShader; + if(WrappedVkPipelineCache::IsAlloc(ptr)) return eResPipelineCache; + if(WrappedVkPipelineLayout::IsAlloc(ptr)) return eResPipelineLayout; + if(WrappedVkPipeline::IsAlloc(ptr)) return eResPipeline; + if(WrappedVkSampler::IsAlloc(ptr)) return eResSampler; + if(WrappedVkDescriptorPool::IsAlloc(ptr)) return eResDescriptorPool; + if(WrappedVkDescriptorSetLayout::IsAlloc(ptr)) return eResDescriptorSetLayout; + if(WrappedVkDescriptorSet::IsAlloc(ptr)) return eResDescriptorSet; + if(WrappedVkDynamicViewportState::IsAlloc(ptr)) return eResViewportState; + if(WrappedVkDynamicRasterState::IsAlloc(ptr)) return eResRasterState; + if(WrappedVkDynamicColorBlendState::IsAlloc(ptr)) return eResColorBlendState; + if(WrappedVkDynamicDepthStencilState::IsAlloc(ptr)) return eResDepthStencilState; + if(WrappedVkCmdPool::IsAlloc(ptr)) return eResCmdPool; + if(WrappedVkCmdBuffer::IsAlloc(ptr)) return eResCmdBuffer; + if(WrappedVkFence::IsAlloc(ptr)) return eResFence; + if(WrappedVkSemaphore::IsAlloc(ptr)) return eResSemaphore; + if(WrappedVkSwapChainWSI::IsAlloc(ptr)) return eResWSISwapChain; + + RDCERR("Unknown type for ptr 0x%p", ptr); + + return eResUnknown; +} + bool IsBlockFormat(VkFormat f) { switch(f) diff --git a/renderdoc/driver/vulkan/vk_resources.h b/renderdoc/driver/vulkan/vk_resources.h index f61b13d10..0ba926641 100644 --- a/renderdoc/driver/vulkan/vk_resources.h +++ b/renderdoc/driver/vulkan/vk_resources.h @@ -354,6 +354,8 @@ enum VkNamespace eResWSISwapChain, }; +VkNamespace IdentifyTypeByPtr(WrappedVkRes *ptr); + enum NullInitialiser { MakeNullResource }; struct VkResource