{ modules = ( // specify shader modules to load into memory { // the name of the module for referecy by the pipeline name = passthrough; // the path to the spv file to load // $shader refers to the shader install path // $builtin refers to compiled-in shaders file = $builtin/passthrough.vert; }, { name = pushcolor; file = $builtin/pushcolor.frag; }, ); renderpass = { attachments = ( { flags = 0; format = $swapchain.format; samples = $msaaSamples; loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; storeOp = VK_ATTACHMENT_STORE_OP_STORE; stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; finalLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; }, { flags = 0; format = VK_FORMAT_D32_SFLOAT; samples = $msaaSamples; loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; storeOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; finalLayout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; }, { flags = 0; format = $swapchain.format; samples = VK_SAMPLE_COUNT_1_BIT; loadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; storeOp = VK_ATTACHMENT_STORE_OP_STORE; stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR; }, ); subpasses = ( { pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS; colorAttachments = ( { attachment = 0; layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; } ); resolveAttachments = ( { attachment = 2; layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; } ); depthStencilAttachment = { attachment = 1; layout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL; }; preserveAttachments = (); }, ); dependencies = ( { srcSubpass = VK_SUBPASS_EXTERNAL; dstSubpass = 0; srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; srcAccessMask = 0; dstAccessMask = "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"; dependencyFlags = 0; } ); } }