mirror of
https://github.com/gfx-rs/wgpu.git
synced 2026-04-22 03:02:01 -04:00
[rs] Merge #300
300: Properly free pass contents r=kvark a=kvark Fixes #299 Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -68,12 +68,15 @@ async fn run_async<E: Example>(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();
|
||||
|
||||
|
||||
@@ -35,12 +35,15 @@ async fn execute_gpu(numbers: Vec<u32>) -> Vec<u32> {
|
||||
.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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user