add generic interfaces for updating descriptors
This commit is contained in:
parent
1290c5f45a
commit
7646558d8c
43
vulkan.d
43
vulkan.d
@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user