From 4b7f26b8a203cd7efafbe9343b2d8811101752c3 Mon Sep 17 00:00:00 2001 From: Dzmitry Malyshau Date: Tue, 5 May 2020 21:55:25 -0400 Subject: [PATCH 1/2] [rs] Free pass contents --- wgpu/Cargo.toml | 4 ++-- wgpu/src/backend/direct.rs | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml index 6981457ed4..54d2df6a7d 100644 --- a/wgpu/Cargo.toml +++ b/wgpu/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/wgpu/src/backend/direct.rs b/wgpu/src/backend/direct.rs index 24794b7cfb..c814fa0f69 100644 --- a/wgpu/src/backend/direct.rs +++ b/wgpu/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 { From 55b727e0c5e9b05caa8c69eb11792aebeda9d4e1 Mon Sep 17 00:00:00 2001 From: Dzmitry Malyshau Date: Tue, 5 May 2020 21:55:42 -0400 Subject: [PATCH 2/2] [rs] Rustfmt pass on examples --- wgpu/examples/capture/main.rs | 13 ++++++++----- wgpu/examples/framework.rs | 13 ++++++++----- wgpu/examples/hello-compute/main.rs | 13 ++++++++----- wgpu/examples/hello-triangle/main.rs | 13 ++++++++----- 4 files changed, 32 insertions(+), 20 deletions(-) diff --git a/wgpu/examples/capture/main.rs b/wgpu/examples/capture/main.rs index de4f0f25c1..8b6aef4ece 100644 --- a/wgpu/examples/capture/main.rs +++ b/wgpu/examples/capture/main.rs @@ -17,12 +17,15 @@ async fn run() { .unwrap(); let (device, queue) = adapter - .request_device(&wgpu::DeviceDescriptor { - extensions: wgpu::Extensions { - anisotropic_filtering: false, + .request_device( + &wgpu::DeviceDescriptor { + extensions: wgpu::Extensions { + anisotropic_filtering: false, + }, + limits: wgpu::Limits::default(), }, - limits: wgpu::Limits::default(), - }, None) + None, + ) .await .unwrap(); diff --git a/wgpu/examples/framework.rs b/wgpu/examples/framework.rs index f088d9f176..cfba525afd 100644 --- a/wgpu/examples/framework.rs +++ b/wgpu/examples/framework.rs @@ -68,12 +68,15 @@ async fn run_async(event_loop: EventLoop<()>, window: Window) { .unwrap(); let (device, queue) = adapter - .request_device(&wgpu::DeviceDescriptor { - extensions: wgpu::Extensions { - anisotropic_filtering: false, + .request_device( + &wgpu::DeviceDescriptor { + extensions: wgpu::Extensions { + anisotropic_filtering: false, + }, + limits: wgpu::Limits::default(), }, - limits: wgpu::Limits::default(), - }, None) + None, + ) .await .unwrap(); diff --git a/wgpu/examples/hello-compute/main.rs b/wgpu/examples/hello-compute/main.rs index ea333a1361..9e4e954198 100644 --- a/wgpu/examples/hello-compute/main.rs +++ b/wgpu/examples/hello-compute/main.rs @@ -35,12 +35,15 @@ async fn execute_gpu(numbers: Vec) -> Vec { .unwrap(); let (device, queue) = adapter - .request_device(&wgpu::DeviceDescriptor { - extensions: wgpu::Extensions { - anisotropic_filtering: false, + .request_device( + &wgpu::DeviceDescriptor { + extensions: wgpu::Extensions { + anisotropic_filtering: false, + }, + limits: wgpu::Limits::default(), }, - limits: wgpu::Limits::default(), - }, None) + None, + ) .await .unwrap(); diff --git a/wgpu/examples/hello-triangle/main.rs b/wgpu/examples/hello-triangle/main.rs index 15c8e9b8f8..6f62cdeeb5 100644 --- a/wgpu/examples/hello-triangle/main.rs +++ b/wgpu/examples/hello-triangle/main.rs @@ -20,12 +20,15 @@ async fn run(event_loop: EventLoop<()>, window: Window, swapchain_format: wgpu:: .unwrap(); let (device, queue) = adapter - .request_device(&wgpu::DeviceDescriptor { - extensions: wgpu::Extensions { - anisotropic_filtering: false, + .request_device( + &wgpu::DeviceDescriptor { + extensions: wgpu::Extensions { + anisotropic_filtering: false, + }, + limits: wgpu::Limits::default(), }, - limits: wgpu::Limits::default(), - }, None) + None, + ) .await .unwrap();