add array index to descriptor struct
This commit is contained in:
parent
11cf96b799
commit
e412227cfc
25
vulkan.d
25
vulkan.d
@ -232,16 +232,18 @@ struct Buffer
|
||||
|
||||
struct Descriptor
|
||||
{
|
||||
union
|
||||
{
|
||||
Buffer buf;
|
||||
Image image;
|
||||
ImageView view;
|
||||
BufferView buf_view;
|
||||
VkSampler sampler;
|
||||
}
|
||||
DescType type;
|
||||
u32 binding;
|
||||
union
|
||||
{
|
||||
Buffer buf;
|
||||
Image image;
|
||||
ImageView view;
|
||||
BufferView buf_view;
|
||||
VkSampler sampler;
|
||||
}
|
||||
u32 index;
|
||||
bool array_elem;
|
||||
}
|
||||
|
||||
enum MipmapMode : VkSamplerMipmapMode
|
||||
@ -2021,6 +2023,11 @@ PrepareWrite(Vulkan* vk, VkWriteDescriptorSet* write, DescSet set, Descriptor* d
|
||||
write.dstBinding = desc.binding;
|
||||
write.descriptorCount = 1;
|
||||
|
||||
if(desc.array_elem)
|
||||
{
|
||||
write.dstArrayElement = desc.index;
|
||||
}
|
||||
|
||||
switch(desc.type) with(DescType)
|
||||
{
|
||||
case Image, StorageImage, InputAttach:
|
||||
@ -2038,7 +2045,7 @@ PrepareWrite(Vulkan* vk, VkWriteDescriptorSet* write, DescSet set, Descriptor* d
|
||||
info.buffer = desc.buf.buffer;
|
||||
info.offset = cast(VkDeviceSize)0;
|
||||
info.range = cast(VkDeviceSize)desc.buf.size;
|
||||
write.pBufferInfo = info;
|
||||
write.pBufferInfo = info;
|
||||
} break;
|
||||
case UniformTexelBuf, StorageTexelBuf:
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user