Consistently use descriptor slots as array

* Even for inline uniform block where we know there's only one slot
This commit is contained in:
baldurk
2020-06-03 18:41:11 +01:00
parent 6fcd34dd0d
commit ee02cfa130
3 changed files with 6 additions and 6 deletions
+1 -1
View File
@@ -2190,7 +2190,7 @@ void VulkanReplay::PatchReservedDescriptors(const VulkanStatePipeline &pipe,
inlineWrite->sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT;
inlineWrite->pNext = NULL;
inlineWrite->dataSize = bind.descriptorCount;
inlineWrite->pData = setInfo.inlineData.data() + slot->inlineOffset;
inlineWrite->pData = setInfo.inlineData.data() + slot[0].inlineOffset;
write.pNext = inlineWrite;
break;
}
+1 -1
View File
@@ -461,7 +461,7 @@ void VulkanRenderState::BindDescriptorSet(WrappedVulkan *vk, const DescSetLayout
inlineWrite->sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT;
inlineWrite->pNext = NULL;
inlineWrite->dataSize = bind.descriptorCount;
inlineWrite->pData = setInfo.inlineData.data() + slots->inlineOffset;
inlineWrite->pData = setInfo.inlineData.data() + slots[0].inlineOffset;
push.pNext = inlineWrite;
push.descriptorCount = bind.descriptorCount;
@@ -796,8 +796,8 @@ void WrappedVulkan::ReplayDescriptorSetCopy(VkDevice device, const VkCopyDescrip
bytebuf &dstInlineData = m_DescriptorSetState[dstSetId].inlineData;
bytebuf &srcInlineData = m_DescriptorSetState[srcSetId].inlineData;
memcpy(dstInlineData.data() + (*dstbind)->inlineOffset + copyDesc.dstArrayElement,
srcInlineData.data() + (*srcbind)->inlineOffset + copyDesc.srcArrayElement,
memcpy(dstInlineData.data() + (*dstbind)[0].inlineOffset + copyDesc.dstArrayElement,
srcInlineData.data() + (*srcbind)[0].inlineOffset + copyDesc.srcArrayElement,
copyDesc.descriptorCount);
break;
@@ -1202,9 +1202,9 @@ void WrappedVulkan::vkUpdateDescriptorSets(VkDevice device, uint32_t writeCount,
bytebuf &dstInlineData = dstrecord->descInfo->inlineData;
bytebuf &srcInlineData = srcrecord->descInfo->inlineData;
memcpy(dstInlineData.data() + (*dstbinding)->inlineOffset +
memcpy(dstInlineData.data() + (*dstbinding)[0].inlineOffset +
pDescriptorCopies[i].dstArrayElement,
srcInlineData.data() + (*srcbinding)->inlineOffset +
srcInlineData.data() + (*srcbinding)[0].inlineOffset +
pDescriptorCopies[i].srcArrayElement,
pDescriptorCopies[i].descriptorCount);