Skip to content
This repository was archived by the owner on Jun 18, 2021. It is now read-only.

Commit 89ee5bf

Browse files
bors[bot]kvark
andauthored
Merge #300
300: Properly free pass contents r=kvark a=kvark Fixes #299 Co-authored-by: Dzmitry Malyshau <[email protected]>
2 parents c5b1423 + 17b4668 commit 89ee5bf

File tree

6 files changed

+38
-24
lines changed

6 files changed

+38
-24
lines changed

Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ vulkan = ["wgc/gfx-backend-vulkan"]
2828
package = "wgpu-core"
2929
version = "0.5"
3030
git = "https://github.com/gfx-rs/wgpu"
31-
rev = "bee826e79dcbe11b544296179a6bbb2c05d9639b"
31+
rev = "4c448c3fc583da6d22c62c7e92bbb74b53863357"
3232
features = ["raw-window-handle"]
3333

3434
[dependencies.wgt]
3535
package = "wgpu-types"
3636
version = "0.5"
3737
git = "https://github.com/gfx-rs/wgpu"
38-
rev = "bee826e79dcbe11b544296179a6bbb2c05d9639b"
38+
rev = "4c448c3fc583da6d22c62c7e92bbb74b53863357"
3939

4040
[dependencies]
4141
arrayvec = "0.5"

examples/capture/main.rs

+8-5
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,15 @@ async fn run() {
1717
.unwrap();
1818

1919
let (device, queue) = adapter
20-
.request_device(&wgpu::DeviceDescriptor {
21-
extensions: wgpu::Extensions {
22-
anisotropic_filtering: false,
20+
.request_device(
21+
&wgpu::DeviceDescriptor {
22+
extensions: wgpu::Extensions {
23+
anisotropic_filtering: false,
24+
},
25+
limits: wgpu::Limits::default(),
2326
},
24-
limits: wgpu::Limits::default(),
25-
}, None)
27+
None,
28+
)
2629
.await
2730
.unwrap();
2831

examples/framework.rs

+8-5
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,15 @@ async fn run_async<E: Example>(event_loop: EventLoop<()>, window: Window) {
6868
.unwrap();
6969

7070
let (device, queue) = adapter
71-
.request_device(&wgpu::DeviceDescriptor {
72-
extensions: wgpu::Extensions {
73-
anisotropic_filtering: false,
71+
.request_device(
72+
&wgpu::DeviceDescriptor {
73+
extensions: wgpu::Extensions {
74+
anisotropic_filtering: false,
75+
},
76+
limits: wgpu::Limits::default(),
7477
},
75-
limits: wgpu::Limits::default(),
76-
}, None)
78+
None,
79+
)
7780
.await
7881
.unwrap();
7982

examples/hello-compute/main.rs

+8-5
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,15 @@ async fn execute_gpu(numbers: Vec<u32>) -> Vec<u32> {
3535
.unwrap();
3636

3737
let (device, queue) = adapter
38-
.request_device(&wgpu::DeviceDescriptor {
39-
extensions: wgpu::Extensions {
40-
anisotropic_filtering: false,
38+
.request_device(
39+
&wgpu::DeviceDescriptor {
40+
extensions: wgpu::Extensions {
41+
anisotropic_filtering: false,
42+
},
43+
limits: wgpu::Limits::default(),
4144
},
42-
limits: wgpu::Limits::default(),
43-
}, None)
45+
None,
46+
)
4447
.await
4548
.unwrap();
4649

examples/hello-triangle/main.rs

+8-5
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,15 @@ async fn run(event_loop: EventLoop<()>, window: Window, swapchain_format: wgpu::
2020
.unwrap();
2121

2222
let (device, queue) = adapter
23-
.request_device(&wgpu::DeviceDescriptor {
24-
extensions: wgpu::Extensions {
25-
anisotropic_filtering: false,
23+
.request_device(
24+
&wgpu::DeviceDescriptor {
25+
extensions: wgpu::Extensions {
26+
anisotropic_filtering: false,
27+
},
28+
limits: wgpu::Limits::default(),
2629
},
27-
limits: wgpu::Limits::default(),
28-
}, None)
30+
None,
31+
)
2932
.await
3033
.unwrap();
3134

src/backend/direct.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -813,7 +813,8 @@ impl crate::Context for Context {
813813
let ptr = wgc::command::compute_ffi::wgpu_compute_pass_finish(pass, &mut length);
814814
slice::from_raw_parts(ptr, length)
815815
};
816-
gfx_select!(*encoder => self.command_encoder_run_compute_pass(*encoder, data))
816+
gfx_select!(*encoder => self.command_encoder_run_compute_pass(*encoder, data));
817+
unsafe { pass.invalidate() };
817818
}
818819

819820
fn encoder_begin_render_pass<'a>(
@@ -867,7 +868,8 @@ impl crate::Context for Context {
867868
let ptr = wgc::command::render_ffi::wgpu_render_pass_finish(pass, &mut length);
868869
slice::from_raw_parts(ptr, length)
869870
};
870-
gfx_select!(*encoder => self.command_encoder_run_render_pass(*encoder, data))
871+
gfx_select!(*encoder => self.command_encoder_run_render_pass(*encoder, data));
872+
unsafe { pass.invalidate() };
871873
}
872874

873875
fn encoder_finish(&self, encoder: &Self::CommandEncoderId) -> Self::CommandBufferId {

0 commit comments

Comments
 (0)