mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 15:24:46 -05:00
fix(op_crates/webgpu): create instance only when required (#9771)
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
This commit is contained in:
parent
941a7c8ec9
commit
0f9c929b3a
3 changed files with 20 additions and 16 deletions
|
@ -198,7 +198,16 @@ pub async fn op_webgpu_request_adapter(
|
||||||
) -> Result<Value, AnyError> {
|
) -> Result<Value, AnyError> {
|
||||||
let mut state = state.borrow_mut();
|
let mut state = state.borrow_mut();
|
||||||
check_unstable(&state, "navigator.gpu.requestAdapter");
|
check_unstable(&state, "navigator.gpu.requestAdapter");
|
||||||
let instance = state.borrow::<Instance>();
|
let instance = if let Some(instance) = state.try_borrow::<Instance>() {
|
||||||
|
instance
|
||||||
|
} else {
|
||||||
|
state.put(wgpu_core::hub::Global::new(
|
||||||
|
"webgpu",
|
||||||
|
wgpu_core::hub::IdentityManagerFactory,
|
||||||
|
wgpu_types::BackendBit::PRIMARY,
|
||||||
|
));
|
||||||
|
state.borrow::<Instance>()
|
||||||
|
};
|
||||||
|
|
||||||
let descriptor = wgpu_core::instance::RequestAdapterOptions {
|
let descriptor = wgpu_core::instance::RequestAdapterOptions {
|
||||||
power_preference: match args.power_preference {
|
power_preference: match args.power_preference {
|
||||||
|
|
|
@ -4,11 +4,6 @@ pub fn init(rt: &mut deno_core::JsRuntime) {
|
||||||
{
|
{
|
||||||
let op_state = rt.op_state();
|
let op_state = rt.op_state();
|
||||||
let mut state = op_state.borrow_mut();
|
let mut state = op_state.borrow_mut();
|
||||||
state.put(wgpu_core::hub::Global::new(
|
|
||||||
"webgpu",
|
|
||||||
wgpu_core::hub::IdentityManagerFactory,
|
|
||||||
wgpu_types::BackendBit::PRIMARY,
|
|
||||||
));
|
|
||||||
let unstable_checker = state.borrow::<super::UnstableChecker>();
|
let unstable_checker = state.borrow::<super::UnstableChecker>();
|
||||||
let unstable = unstable_checker.unstable;
|
let unstable = unstable_checker.unstable;
|
||||||
state.put(Unstable(unstable));
|
state.put(Unstable(unstable));
|
||||||
|
|
Loading…
Reference in a new issue