inline setup code
This commit is contained in:
@@ -19,29 +19,6 @@ impl From<ToSurfaceTarget> for wgpu::SurfaceTarget<'static>{
|
||||
}
|
||||
}
|
||||
|
||||
async fn setup_and_start(canvas:web_sys::HtmlCanvasElement)->(wgpu::Device,wgpu::Queue,wgpu::Surface<'static>,wgpu::SurfaceConfiguration){
|
||||
let size=(canvas.width(),canvas.height());
|
||||
|
||||
println!("Initializing the surface...");
|
||||
|
||||
let instance=setup::step1::create_instance();
|
||||
|
||||
let surface=setup::step2::create_surface(&instance,ToSurfaceTarget{canvas}).unwrap();
|
||||
|
||||
let adapter=setup::step3::pick_adapter(&instance,&surface).await.expect("No suitable GPU adapters found on the system!");
|
||||
|
||||
let (device,queue)=setup::step4::request_device(&adapter).await;
|
||||
|
||||
let config=setup::step5::configure_surface(&adapter,&device,&surface,size);
|
||||
|
||||
(
|
||||
device,
|
||||
queue,
|
||||
surface,
|
||||
config,
|
||||
)
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub struct Setup{
|
||||
device:wgpu::Device,
|
||||
@@ -51,7 +28,14 @@ pub struct Setup{
|
||||
}
|
||||
#[wasm_bindgen]
|
||||
pub async fn setup(canvas:web_sys::HtmlCanvasElement)->Setup{
|
||||
let (device,queue,surface,config)=setup_and_start(canvas).await;
|
||||
let size=(canvas.width(),canvas.height());
|
||||
|
||||
let instance=setup::step1::create_instance();
|
||||
let surface=setup::step2::create_surface(&instance,ToSurfaceTarget{canvas}).unwrap();
|
||||
let adapter=setup::step3::pick_adapter(&instance,&surface).await.expect("No suitable GPU adapters found on the system!");
|
||||
let (device,queue)=setup::step4::request_device(&adapter).await;
|
||||
let config=setup::step5::configure_surface(&adapter,&device,&surface,size);
|
||||
|
||||
Setup{device,queue,surface,config}
|
||||
}
|
||||
#[wasm_bindgen]
|
||||
|
||||
Reference in New Issue
Block a user