diff --git a/Cargo.toml b/Cargo.toml index 6981457ed4..54d2df6a7d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,14 +28,14 @@ vulkan = ["wgc/gfx-backend-vulkan"] package = "wgpu-core" version = "0.5" git = "https://github.com/gfx-rs/wgpu" -rev = "bee826e79dcbe11b544296179a6bbb2c05d9639b" +rev = "4c448c3fc583da6d22c62c7e92bbb74b53863357" features = ["raw-window-handle"] [dependencies.wgt] package = "wgpu-types" version = "0.5" git = "https://github.com/gfx-rs/wgpu" -rev = "bee826e79dcbe11b544296179a6bbb2c05d9639b" +rev = "4c448c3fc583da6d22c62c7e92bbb74b53863357" [dependencies] arrayvec = "0.5" diff --git a/src/backend/direct.rs b/src/backend/direct.rs index 24794b7cfb..c814fa0f69 100644 --- a/src/backend/direct.rs +++ b/src/backend/direct.rs @@ -813,7 +813,8 @@ impl crate::Context for Context { let ptr = wgc::command::compute_ffi::wgpu_compute_pass_finish(pass, &mut length); slice::from_raw_parts(ptr, length) }; - gfx_select!(*encoder => self.command_encoder_run_compute_pass(*encoder, data)) + gfx_select!(*encoder => self.command_encoder_run_compute_pass(*encoder, data)); + unsafe { pass.invalidate() }; } fn encoder_begin_render_pass<'a>( @@ -867,7 +868,8 @@ impl crate::Context for Context { let ptr = wgc::command::render_ffi::wgpu_render_pass_finish(pass, &mut length); slice::from_raw_parts(ptr, length) }; - gfx_select!(*encoder => self.command_encoder_run_render_pass(*encoder, data)) + gfx_select!(*encoder => self.command_encoder_run_render_pass(*encoder, data)); + unsafe { pass.invalidate() }; } fn encoder_finish(&self, encoder: &Self::CommandEncoderId) -> Self::CommandBufferId {