From 7fb16bf797955147288737ae89be51cbe00b5622 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 29 Nov 2018 18:05:48 +0000 Subject: [PATCH] Android seems to have broken descriptor set copies, disable * We take the push descriptor path which replaces it with writes, which works for any descriptor set as we know the current contents. --- renderdoc/driver/vulkan/vk_postvs.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/renderdoc/driver/vulkan/vk_postvs.cpp b/renderdoc/driver/vulkan/vk_postvs.cpp index a94936e85..64e741559 100644 --- a/renderdoc/driver/vulkan/vk_postvs.cpp +++ b/renderdoc/driver/vulkan/vk_postvs.cpp @@ -1519,7 +1519,9 @@ void VulkanReplay::FetchVSOut(uint32_t eventId) WrappedVulkan::DescriptorSetInfo &setInfo = m_pDriver->m_DescriptorSetState[state.graphics.descSets[i].descSet]; +#if DISABLED(RDOC_ANDROID) if(setInfo.push) +#endif { // push descriptors don't have a source to copy from, we need to add writes VkWriteDescriptorSet write = {VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET}; @@ -1585,6 +1587,7 @@ void VulkanReplay::FetchVSOut(uint32_t eventId) write.pTexelBufferView = NULL; } } +#if DISABLED(RDOC_ANDROID) else { VkCopyDescriptorSet copy = {VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET}; @@ -1606,6 +1609,7 @@ void VulkanReplay::FetchVSOut(uint32_t eventId) descCopies.push_back(copy); } } +#endif } m_pDriver->vkUpdateDescriptorSets(dev, (uint32_t)descWrites.size(), descWrites.data(),