internal SubpassBuilder(RenderPassWithIdentifiersBuilder <TAttachment, TPass> builder, TPass id) { _id = id; _builder = builder; _desc = new VkSubpassDescription() { PipelineBindPoint = VkPipelineBindPoint.Graphics, Flags = 0 }; }
internal AttachmentBuilder(RenderPassWithIdentifiersBuilder <TAttachment, TPass> builder, TAttachment id, VkFormat format, VkImageLayout finalLayout, VkSampleCountFlag samples) { _id = id; _builder = builder; _desc = new VkAttachmentDescription() { Format = format, FinalLayout = finalLayout, InitialLayout = VkImageLayout.Undefined, Flags = 0, LoadOp = VkAttachmentLoadOp.DontCare, StoreOp = VkAttachmentStoreOp.DontCare, StencilLoadOp = VkAttachmentLoadOp.DontCare, StencilStoreOp = VkAttachmentStoreOp.DontCare, Samples = samples }; }
internal DependencyBuilder(RenderPassWithIdentifiersBuilder <TAttachment, TPass> builder, TPass srcPass, TPass dstPass, bool srcExternal, bool dstExternal) { SrcPass = srcPass; DstPass = dstPass; SrcExternal = srcExternal; DstExternal = dstExternal; Debug.Assert(!srcExternal || !dstExternal); _builder = builder; _desc = new VkSubpassDependency() { DependencyFlags = 0, DstAccessMask = 0, DstStageMask = VkPipelineStageFlag.AllCommands, SrcAccessMask = 0, SrcStageMask = VkPipelineStageFlag.AllCommands }; }