diff options
Diffstat (limited to 'ext/webgpu/command_encoder.rs')
-rw-r--r-- | ext/webgpu/command_encoder.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/webgpu/command_encoder.rs b/ext/webgpu/command_encoder.rs index 3d82b77d4..4bee7aac3 100644 --- a/ext/webgpu/command_encoder.rs +++ b/ext/webgpu/command_encoder.rs @@ -79,7 +79,7 @@ pub struct GpuRenderPassColorAttachment { #[serde(rename_all = "camelCase")] pub struct GpuRenderPassDepthStencilAttachment { view: ResourceId, - depth_clear_value: f32, + depth_clear_value: Option<f32>, depth_load_op: Option<wgpu_core::command::LoadOp>, depth_store_op: Option<wgpu_core::command::StoreOp>, depth_read_only: bool, @@ -168,7 +168,9 @@ pub fn op_webgpu_command_encoder_begin_render_pass( store_op: attachment .depth_store_op .unwrap_or(wgpu_core::command::StoreOp::Store), - clear_value: attachment.depth_clear_value, + // In "01_webgpu.js", `depthLoadOp` is cheked to ensure its value is not "clear" + // when `depthClearValue` is undefined, so the default 0.0 doesn't matter. + clear_value: attachment.depth_clear_value.unwrap_or(0.0), read_only: attachment.depth_read_only, }, stencil: wgpu_core::command::PassChannel { |