MCPcopy Create free account
hub / github.com/Rust-GPU/rust-gpu / create_render_pass

Method create_render_pass

examples/runners/ash/src/main.rs:594–628  ·  view source on GitHub ↗
(&self)

Source from the content-addressed store, hash-verified

592 }
593
594 pub fn create_render_pass(&self) -> vk::RenderPass {
595 let renderpass_attachments = [vk::AttachmentDescription {
596 format: self.surface_format.format,
597 samples: vk::SampleCountFlags::TYPE_1,
598 load_op: vk::AttachmentLoadOp::CLEAR,
599 store_op: vk::AttachmentStoreOp::STORE,
600 final_layout: vk::ImageLayout::PRESENT_SRC_KHR,
601 ..Default::default()
602 }];
603 let color_attachment_refs = [vk::AttachmentReference {
604 attachment: 0,
605 layout: vk::ImageLayout::COLOR_ATTACHMENT_OPTIMAL,
606 }];
607 let dependencies = [vk::SubpassDependency {
608 src_subpass: vk::SUBPASS_EXTERNAL,
609 src_stage_mask: vk::PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT,
610 dst_access_mask: vk::AccessFlags::COLOR_ATTACHMENT_READ
611 | vk::AccessFlags::COLOR_ATTACHMENT_WRITE,
612 dst_stage_mask: vk::PipelineStageFlags::COLOR_ATTACHMENT_OUTPUT,
613 ..Default::default()
614 }];
615 let subpasses = [vk::SubpassDescription::builder()
616 .color_attachments(&color_attachment_refs)
617 .pipeline_bind_point(vk::PipelineBindPoint::GRAPHICS)
618 .build()];
619 let renderpass_create_info = vk::RenderPassCreateInfo::builder()
620 .attachments(&renderpass_attachments)
621 .subpasses(&subpasses)
622 .dependencies(&dependencies);
623 unsafe {
624 self.device
625 .create_render_pass(&renderpass_create_info, None)
626 .unwrap()
627 }
628 }
629
630 pub fn create_render_sync(&self) -> RenderSync {
631 RenderSync::new(self)

Callers 1

from_baseMethod · 0.80

Calls 1

buildMethod · 0.45

Tested by

no test coverage detected