internal SubpassBuilder(RenderPassBuilder builder) { _builder = builder; _desc = new VkSubpassDescription() { PipelineBindPoint = VkPipelineBindPoint.Graphics, Flags = 0 }; }
internal AttachmentBuilder(RenderPassBuilder builder, VkFormat format, VkImageLayout finalLayout, VkSampleCountFlag samples) { _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(RenderPassBuilder builder, uint srcPass, uint dstPass) { Debug.Assert(srcPass != Vulkan.SubpassExternal || dstPass != Vulkan.SubpassExternal); if (srcPass != Vulkan.SubpassExternal && dstPass != Vulkan.SubpassExternal) { Debug.Assert(srcPass <= dstPass); } _builder = builder; _desc = new VkSubpassDependency() { SrcSubpass = srcPass, DstSubpass = dstPass, DependencyFlags = 0, DstAccessMask = 0, DstStageMask = VkPipelineStageFlag.AllCommands, SrcAccessMask = 0, SrcStageMask = VkPipelineStageFlag.AllCommands }; }