Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to wgpu 0.18 #10266

Merged
merged 14 commits into from
Dec 14, 2023
12 changes: 10 additions & 2 deletions crates/bevy_core_pipeline/src/bloom/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,8 @@ impl ViewNode for BloomNode {
ops: Operations::default(),
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});
downsampling_first_pass.set_render_pipeline(downsampling_first_pipeline);
downsampling_first_pass.set_bind_group(
Expand All @@ -211,6 +213,8 @@ impl ViewNode for BloomNode {
ops: Operations::default(),
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});
downsampling_pass.set_render_pipeline(downsampling_pipeline);
downsampling_pass.set_bind_group(
Expand All @@ -232,10 +236,12 @@ impl ViewNode for BloomNode {
resolve_target: None,
ops: Operations {
load: LoadOp::Load,
store: true,
store: StoreOp::Store,
},
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});
upsampling_pass.set_render_pipeline(upsampling_pipeline);
upsampling_pass.set_bind_group(
Expand All @@ -262,10 +268,12 @@ impl ViewNode for BloomNode {
color_attachments: &[Some(view_target.get_unsampled_color_attachment(
Operations {
load: LoadOp::Load,
store: true,
store: StoreOp::Store,
},
))],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});
upsampling_final_pass.set_render_pipeline(upsampling_final_pipeline);
upsampling_final_pass.set_bind_group(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ impl Node for CASNode {
ops: Operations::default(),
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
};

let mut render_pass = render_context
Expand Down
10 changes: 7 additions & 3 deletions crates/bevy_core_pipeline/src/core_2d/main_pass_2d_node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use bevy_render::{
camera::ExtractedCamera,
render_graph::{Node, NodeRunError, RenderGraphContext},
render_phase::RenderPhase,
render_resource::{LoadOp, Operations, RenderPassDescriptor},
render_resource::{LoadOp, Operations, RenderPassDescriptor, StoreOp},
renderer::RenderContext,
view::{ExtractedView, ViewTarget},
};
Expand Down Expand Up @@ -66,9 +66,11 @@ impl Node for MainPass2dNode {
ClearColorConfig::Custom(color) => LoadOp::Clear(color.into()),
ClearColorConfig::None => LoadOp::Load,
},
store: true,
store: StoreOp::Store,
}))],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});

if let Some(viewport) = camera.viewport.as_ref() {
Expand All @@ -88,9 +90,11 @@ impl Node for MainPass2dNode {
label: Some("reset_viewport_pass_2d"),
color_attachments: &[Some(target.get_color_attachment(Operations {
load: LoadOp::Load,
store: true,
store: StoreOp::Store,
}))],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
};

render_context
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ use bevy_render::{
render_phase::RenderPhase,
render_resource::{
LoadOp, Operations, PipelineCache, RenderPassDepthStencilAttachment, RenderPassDescriptor,
StoreOp,
},
renderer::RenderContext,
view::{ViewDepthTexture, ViewTarget, ViewUniformOffset},
Expand Down Expand Up @@ -82,9 +83,10 @@ impl ViewNode for MainOpaquePass3dNode {
label: Some("main_opaque_pass_3d"),
// NOTE: The opaque pass loads the color
// buffer as well as writing to it.
color_attachments: &[Some(
target.get_color_attachment(Operations { load, store: true }),
)],
color_attachments: &[Some(target.get_color_attachment(Operations {
load,
store: StoreOp::Store,
}))],
depth_stencil_attachment: Some(RenderPassDepthStencilAttachment {
view: &depth.view,
// NOTE: The opaque main pass loads the depth buffer and possibly overwrites it
Expand All @@ -102,10 +104,12 @@ impl ViewNode for MainOpaquePass3dNode {
camera_3d.depth_load_op.clone()
}
.into(),
store: true,
store: StoreOp::Store,
}),
stencil_ops: None,
}),
timestamp_writes: None,
occlusion_query_set: None,
});

if let Some(viewport) = camera.viewport.as_ref() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ use bevy_render::{
render_phase::RenderPhase,
render_resource::{
Extent3d, LoadOp, Operations, RenderPassDepthStencilAttachment, RenderPassDescriptor,
StoreOp,
},
renderer::RenderContext,
view::{ViewDepthTexture, ViewTarget},
Expand Down Expand Up @@ -47,17 +48,19 @@ impl ViewNode for MainTransmissivePass3dNode {
// NOTE: The transmissive pass loads the color buffer as well as overwriting it where appropriate.
color_attachments: &[Some(target.get_color_attachment(Operations {
load: LoadOp::Load,
store: true,
store: StoreOp::Store,
}))],
depth_stencil_attachment: Some(RenderPassDepthStencilAttachment {
view: &depth.view,
// NOTE: The transmissive main pass loads the depth buffer and possibly overwrites it
depth_ops: Some(Operations {
load: LoadOp::Load,
store: true,
store: StoreOp::Store,
}),
stencil_ops: None,
}),
timestamp_writes: None,
occlusion_query_set: None,
};

// Run the transmissive pass, sorted back-to-front
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ use bevy_render::{
camera::ExtractedCamera,
render_graph::{NodeRunError, RenderGraphContext, ViewNode},
render_phase::RenderPhase,
render_resource::{LoadOp, Operations, RenderPassDepthStencilAttachment, RenderPassDescriptor},
render_resource::{
LoadOp, Operations, RenderPassDepthStencilAttachment, RenderPassDescriptor, StoreOp,
},
renderer::RenderContext,
view::{ViewDepthTexture, ViewTarget},
};
Expand Down Expand Up @@ -42,7 +44,7 @@ impl ViewNode for MainTransparentPass3dNode {
// NOTE: The transparent pass loads the color buffer as well as overwriting it where appropriate.
color_attachments: &[Some(target.get_color_attachment(Operations {
load: LoadOp::Load,
store: true,
store: StoreOp::Store,
}))],
depth_stencil_attachment: Some(RenderPassDepthStencilAttachment {
view: &depth.view,
Expand All @@ -54,10 +56,12 @@ impl ViewNode for MainTransparentPass3dNode {
// transparent ones.
depth_ops: Some(Operations {
load: LoadOp::Load,
store: true,
store: StoreOp::Store,
}),
stencil_ops: None,
}),
timestamp_writes: None,
occlusion_query_set: None,
});

if let Some(viewport) = camera.viewport.as_ref() {
Expand All @@ -77,9 +81,11 @@ impl ViewNode for MainTransparentPass3dNode {
label: Some("reset_viewport_pass_3d"),
color_attachments: &[Some(target.get_color_attachment(Operations {
load: LoadOp::Load,
store: true,
store: StoreOp::Store,
}))],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
};

render_context
Expand Down
4 changes: 3 additions & 1 deletion crates/bevy_core_pipeline/src/deferred/copy_lighting_id.rs
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,12 @@ impl ViewNode for CopyDeferredLightingIdNode {
view: &deferred_lighting_id_depth_texture.texture.default_view,
depth_ops: Some(Operations {
load: LoadOp::Clear(0.0),
store: true,
store: StoreOp::Store,
}),
stencil_ops: None,
}),
timestamp_writes: None,
occlusion_query_set: None,
});

render_pass.set_render_pipeline(pipeline);
Expand Down
13 changes: 8 additions & 5 deletions crates/bevy_core_pipeline/src/deferred/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ use bevy_ecs::prelude::*;
use bevy_ecs::query::QueryItem;
use bevy_render::render_graph::ViewNode;

use bevy_render::render_resource::StoreOp;
use bevy_render::{
camera::ExtractedCamera,
prelude::Color,
Expand Down Expand Up @@ -76,7 +77,7 @@ impl ViewNode for DeferredGBufferPrepassNode {
} else {
LoadOp::Clear(Color::BLACK.into())
},
store: true,
store: StoreOp::Store,
},
}),
);
Expand All @@ -92,7 +93,7 @@ impl ViewNode for DeferredGBufferPrepassNode {
} else {
LoadOp::Clear(Color::BLACK.into())
},
store: true,
store: StoreOp::Store,
},
},
));
Expand Down Expand Up @@ -122,7 +123,7 @@ impl ViewNode for DeferredGBufferPrepassNode {
load: LoadOp::Load,
#[cfg(not(all(feature = "webgl", target_arch = "wasm32")))]
load: LoadOp::Clear(Default::default()),
store: true,
store: StoreOp::Store,
},
}),
);
Expand All @@ -136,7 +137,7 @@ impl ViewNode for DeferredGBufferPrepassNode {
resolve_target: None,
ops: Operations {
load: LoadOp::Clear(Default::default()),
store: true,
store: StoreOp::Store,
},
}),
);
Expand Down Expand Up @@ -165,10 +166,12 @@ impl ViewNode for DeferredGBufferPrepassNode {
camera_3d.depth_load_op.clone()
}
.into(),
store: true,
store: StoreOp::Store,
}),
stencil_ops: None,
}),
timestamp_writes: None,
occlusion_query_set: None,
});

if let Some(viewport) = camera.viewport.as_ref() {
Expand Down
2 changes: 2 additions & 0 deletions crates/bevy_core_pipeline/src/fxaa/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ impl ViewNode for FxaaNode {
ops: Operations::default(),
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
};

let mut render_pass = render_context
Expand Down
4 changes: 3 additions & 1 deletion crates/bevy_core_pipeline/src/msaa_writeback.rs
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,11 @@ impl Node for MsaaWritebackNode {
// the MSAA resolve step.
color_attachments: &[Some(target.get_color_attachment(Operations {
load: LoadOp::Clear(Default::default()),
store: true,
store: StoreOp::Store,
}))],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
};

let bind_group = render_context.render_device().create_bind_group(
Expand Down
9 changes: 6 additions & 3 deletions crates/bevy_core_pipeline/src/prepass/node.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use bevy_ecs::prelude::*;
use bevy_ecs::query::QueryItem;
use bevy_render::render_graph::ViewNode;
use bevy_render::render_resource::StoreOp;
use bevy_render::{
camera::ExtractedCamera,
prelude::Color,
Expand Down Expand Up @@ -59,7 +60,7 @@ impl ViewNode for PrepassNode {
resolve_target: None,
ops: Operations {
load: LoadOp::Clear(Color::BLACK.into()),
store: true,
store: StoreOp::Store,
},
}),
view_prepass_textures
Expand All @@ -73,7 +74,7 @@ impl ViewNode for PrepassNode {
// Blue channel doesn't matter, but set to 0.0 for possible faster clear
// https://gpuopen.com/performance/#clears
load: LoadOp::Clear(Color::BLACK.into()),
store: true,
store: StoreOp::Store,
},
}),
// Use None in place of Deferred attachments
Expand All @@ -95,10 +96,12 @@ impl ViewNode for PrepassNode {
view: &view_depth_texture.view,
depth_ops: Some(Operations {
load: LoadOp::Clear(0.0),
store: true,
store: StoreOp::Store,
}),
stencil_ops: None,
}),
timestamp_writes: None,
occlusion_query_set: None,
});
if let Some(viewport) = camera.viewport.as_ref() {
render_pass.set_camera_viewport(viewport);
Expand Down
2 changes: 2 additions & 0 deletions crates/bevy_core_pipeline/src/taa/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,8 @@ impl ViewNode for TemporalAntiAliasNode {
}),
],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
});
taa_pass.set_render_pipeline(taa_pipeline);
taa_pass.set_bind_group(0, &taa_bind_group, &[]);
Expand Down
6 changes: 4 additions & 2 deletions crates/bevy_core_pipeline/src/tonemapping/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use bevy_render::{
render_graph::{NodeRunError, RenderGraphContext, ViewNode},
render_resource::{
BindGroup, BindGroupEntries, BufferId, LoadOp, Operations, PipelineCache,
RenderPassColorAttachment, RenderPassDescriptor, SamplerDescriptor, TextureViewId,
RenderPassColorAttachment, RenderPassDescriptor, SamplerDescriptor, StoreOp, TextureViewId,
},
renderer::RenderContext,
texture::Image,
Expand Down Expand Up @@ -113,10 +113,12 @@ impl ViewNode for TonemappingNode {
resolve_target: None,
ops: Operations {
load: LoadOp::Clear(Default::default()), // TODO shouldn't need to be cleared
store: true,
store: StoreOp::Store,
},
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
};

let mut render_pass = render_context
Expand Down
6 changes: 4 additions & 2 deletions crates/bevy_core_pipeline/src/upscaling/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use bevy_render::{
render_graph::{NodeRunError, RenderGraphContext, ViewNode},
render_resource::{
BindGroup, BindGroupEntries, LoadOp, Operations, PipelineCache, RenderPassColorAttachment,
RenderPassDescriptor, SamplerDescriptor, TextureViewId,
RenderPassDescriptor, SamplerDescriptor, StoreOp, TextureViewId,
},
renderer::RenderContext,
view::ViewTarget,
Expand Down Expand Up @@ -78,10 +78,12 @@ impl ViewNode for UpscalingNode {
resolve_target: None,
ops: Operations {
load: color_attachment_load_op,
store: true,
store: StoreOp::Store,
},
})],
depth_stencil_attachment: None,
timestamp_writes: None,
occlusion_query_set: None,
};

let mut render_pass = render_context
Expand Down
Loading
Loading