cranpose_render_wgpu/
initial_present.rs1use crate::{
2 frame_graph::{WgpuFrameGraph, WgpuFrameGraphExecutor},
3 render::CLEAR_COLOR,
4};
5
6pub fn clear_to_default_background(
9 device: &wgpu::Device,
10 queue: &wgpu::Queue,
11 view: &wgpu::TextureView,
12) {
13 clear_to_background(device, queue, view, CLEAR_COLOR);
14}
15
16pub fn clear_to_background(
26 device: &wgpu::Device,
27 queue: &wgpu::Queue,
28 view: &wgpu::TextureView,
29 color: wgpu::Color,
30) {
31 let mut graph = WgpuFrameGraph::new(Some("Cranpose Initial Present Clear"));
32 let target = graph.import_surface("initial-present-clear-target");
33 graph.add_fallible_command_pass(Some("Initial Present Clear"), &[], &[target], |context| {
34 let _pass = context
35 .encoder
36 .begin_render_pass(&wgpu::RenderPassDescriptor {
37 label: Some("Cranpose Initial Present Clear"),
38 color_attachments: &[Some(wgpu::RenderPassColorAttachment {
39 view,
40 resolve_target: None,
41 depth_slice: None,
42 ops: wgpu::Operations {
43 load: wgpu::LoadOp::Clear(color),
44 store: wgpu::StoreOp::Store,
45 },
46 })],
47 depth_stencil_attachment: None,
48 timestamp_writes: None,
49 occlusion_query_set: None,
50 multiview_mask: None,
51 });
52 Ok(())
53 });
54 if let Err(error) = WgpuFrameGraphExecutor::new().execute_recorded_graph(device, queue, graph) {
55 log::error!("[initial-present] placeholder clear failed: {error:?}");
56 }
57}