add generic interfaces for updating descriptors

This commit is contained in:
Matthew 2025-08-17 12:44:14 +10:00
parent 1290c5f45a
commit 7646558d8c

View File

@ -1,4 +1,4 @@
import vulkan_funcs; import iulkan_funcs;
import vulkan_logging; import vulkan_logging;
import vulkan_util; import vulkan_util;
import std.stdio; import std.stdio;
@ -2159,6 +2159,47 @@ InitGlobalDescSet(Vulkan* vk)
return success; return success;
} }
void
Write(Vulkan* vk, DescSet set, ImageView* view, u32 index, DescType type)
{
VkDescriptorImageInfo info = {
imageView: view.view,
imagelayout: view.layout,
};
VkWriteDescriptorSet write = {
sType: VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
dstSet: set.handle,
dstBinding: index,
descriptorCount: 1,
descriptorType: type,
pImageInfo: &info,
};
vkUpdateDescriptorSets(vk.device, 1, &write, 0, null);
}
void
Write(Vulkan* vk, DescSet set, Buffer* buffer, u32 index, DescType type)
{
VkDescriptorBufferInfo info = {
buffer: buffer.buffer,
range: buffer.size,
offset: 0,
};
VkWriteDescriptorSet write = {
sType: VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
dstSet: set.handle,
dstBinding: index,
descriptorCount: 1,
descriptorType: type,
pBufferInfo: &info,
};
vkUpdateDescriptorSets(vk.device, 1, &write, 0, null);
}
void void
WriteGUI(Vulkan* vk, DescSet set, ImageView* atlas, Buffer* buf) WriteGUI(Vulkan* vk, DescSet set, ImageView* atlas, Buffer* buf)
{ {