Add common shortcut to write a GPUBuffer to a storage descriptor

This commit is contained in:
baldurk
2025-01-25 16:14:42 +00:00
parent 18ee579490
commit 770ee04172
2 changed files with 26 additions and 0 deletions
+24
View File
@@ -379,6 +379,30 @@ void GPUBuffer::Unmap()
ObjDisp(device)->UnmapMemory(Unwrap(device), mem);
}
void GPUBuffer::WriteDescriptor(VkDescriptorSet unwrappedDescSet, uint32_t destBinding,
uint32_t destArrayElement)
{
// vkUpdateDescriptorSet desc set to point to buffer
VkDescriptorBufferInfo desc = {0};
FillDescriptor(desc);
VkWriteDescriptorSet write = {
VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
NULL,
unwrappedDescSet,
destBinding,
destArrayElement,
1,
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
NULL,
&desc,
NULL,
};
ObjDisp(device)->UpdateDescriptorSets(Unwrap(device), 1, &write, 0, NULL);
}
bool VkInitParams::IsSupportedVersion(uint64_t ver)
{
if(ver == CurrentVersion)
+2
View File
@@ -220,6 +220,8 @@ struct GPUBuffer
const VkDeviceMemory &UnwrappedMemory() const { return mem; }
void FillDescriptor(VkDescriptorBufferInfo &desc);
void WriteDescriptor(VkDescriptorSet unwrappedDescSet, uint32_t destBinding,
uint32_t destArrayElement);
VkDeviceAddress Address() const { return addr; }