diff --git a/vulkan.d b/vulkan.d index e2406bb..6eccd04 100644 --- a/vulkan.d +++ b/vulkan.d @@ -187,8 +187,12 @@ enum ImageLayout : VkImageLayout General = VK_IMAGE_LAYOUT_GENERAL, ColorAttach = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, ReadOnly = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, + TransferDst = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, + TransferSrc = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, } +alias IL = ImageLayout; + struct Image { VkImage image; @@ -1091,12 +1095,16 @@ CreateImageView(Vulkan* vk, ImageView* view, u32 w, u32 h, Format format, ImageU if(usage == IU.Draw || usage == IU.Depth) { - view.shader_layout = ImageLayout.General; + view.shader_layout = IL.General; } else if(usage == IU.Texture) { - view.shader_layout = ImageLayout.ReadOnly; + view.shader_layout = IL.ReadOnly; } + else if(usage == IU.Convert) + { + view.shader_layout = IL.TransferDst; + } else assert(false, "Unimplemented usage"); }