Fix submission in integration example
This commit is contained in:
parent
33d20763c8
commit
cd27dae8ab
1 changed files with 28 additions and 14 deletions
|
|
@ -35,9 +35,10 @@ pub fn main() -> Result<(), winit::error::EventLoopError> {
|
||||||
Loading,
|
Loading,
|
||||||
Ready {
|
Ready {
|
||||||
window: Arc<winit::window::Window>,
|
window: Arc<winit::window::Window>,
|
||||||
|
queue: wgpu::Queue,
|
||||||
|
device: wgpu::Device,
|
||||||
surface: wgpu::Surface<'static>,
|
surface: wgpu::Surface<'static>,
|
||||||
format: wgpu::TextureFormat,
|
format: wgpu::TextureFormat,
|
||||||
device: wgpu::Device,
|
|
||||||
renderer: Renderer,
|
renderer: Renderer,
|
||||||
scene: Scene,
|
scene: Scene,
|
||||||
state: program::State<Controls>,
|
state: program::State<Controls>,
|
||||||
|
|
@ -143,10 +144,18 @@ pub fn main() -> Result<(), winit::error::EventLoopError> {
|
||||||
|
|
||||||
// Initialize iced
|
// Initialize iced
|
||||||
let mut debug = Debug::new();
|
let mut debug = Debug::new();
|
||||||
let engine =
|
|
||||||
Engine::new(&adapter, device.clone(), queue, format, None);
|
let mut renderer = {
|
||||||
let mut renderer =
|
let engine = Engine::new(
|
||||||
Renderer::new(engine, Font::default(), Pixels::from(16));
|
&adapter,
|
||||||
|
device.clone(),
|
||||||
|
queue.clone(),
|
||||||
|
format,
|
||||||
|
None,
|
||||||
|
);
|
||||||
|
|
||||||
|
Renderer::new(engine, Font::default(), Pixels::from(16))
|
||||||
|
};
|
||||||
|
|
||||||
let state = program::State::new(
|
let state = program::State::new(
|
||||||
controls,
|
controls,
|
||||||
|
|
@ -160,10 +169,11 @@ pub fn main() -> Result<(), winit::error::EventLoopError> {
|
||||||
|
|
||||||
*self = Self::Ready {
|
*self = Self::Ready {
|
||||||
window,
|
window,
|
||||||
|
device,
|
||||||
|
queue,
|
||||||
|
renderer,
|
||||||
surface,
|
surface,
|
||||||
format,
|
format,
|
||||||
device,
|
|
||||||
renderer,
|
|
||||||
scene,
|
scene,
|
||||||
state,
|
state,
|
||||||
cursor_position: None,
|
cursor_position: None,
|
||||||
|
|
@ -185,6 +195,7 @@ pub fn main() -> Result<(), winit::error::EventLoopError> {
|
||||||
let Self::Ready {
|
let Self::Ready {
|
||||||
window,
|
window,
|
||||||
device,
|
device,
|
||||||
|
queue,
|
||||||
surface,
|
surface,
|
||||||
format,
|
format,
|
||||||
renderer,
|
renderer,
|
||||||
|
|
@ -230,18 +241,18 @@ pub fn main() -> Result<(), winit::error::EventLoopError> {
|
||||||
|
|
||||||
match surface.get_current_texture() {
|
match surface.get_current_texture() {
|
||||||
Ok(frame) => {
|
Ok(frame) => {
|
||||||
let mut encoder = device.create_command_encoder(
|
|
||||||
&wgpu::CommandEncoderDescriptor { label: None },
|
|
||||||
);
|
|
||||||
|
|
||||||
let program = state.program();
|
let program = state.program();
|
||||||
|
|
||||||
let view = frame.texture.create_view(
|
let view = frame.texture.create_view(
|
||||||
&wgpu::TextureViewDescriptor::default(),
|
&wgpu::TextureViewDescriptor::default(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let mut encoder = device.create_command_encoder(
|
||||||
|
&wgpu::CommandEncoderDescriptor { label: None },
|
||||||
|
);
|
||||||
|
|
||||||
{
|
{
|
||||||
// We clear the frame
|
// Clear the frame
|
||||||
let mut render_pass = Scene::clear(
|
let mut render_pass = Scene::clear(
|
||||||
&view,
|
&view,
|
||||||
&mut encoder,
|
&mut encoder,
|
||||||
|
|
@ -252,7 +263,10 @@ pub fn main() -> Result<(), winit::error::EventLoopError> {
|
||||||
scene.draw(&mut render_pass);
|
scene.draw(&mut render_pass);
|
||||||
}
|
}
|
||||||
|
|
||||||
// And then iced on top
|
// Submit the scene
|
||||||
|
queue.submit([encoder.finish()]);
|
||||||
|
|
||||||
|
// Draw iced on top
|
||||||
renderer.present(
|
renderer.present(
|
||||||
None,
|
None,
|
||||||
frame.texture.format(),
|
frame.texture.format(),
|
||||||
|
|
@ -261,7 +275,7 @@ pub fn main() -> Result<(), winit::error::EventLoopError> {
|
||||||
&debug.overlay(),
|
&debug.overlay(),
|
||||||
);
|
);
|
||||||
|
|
||||||
// Then we submit the work
|
// Present the frame
|
||||||
frame.present();
|
frame.present();
|
||||||
|
|
||||||
// Update the mouse cursor
|
// Update the mouse cursor
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue