Skip to content

Commit

Permalink
Error on missing web_sys_unstable_apis
Browse files Browse the repository at this point in the history
  • Loading branch information
rukai committed Jan 20, 2024
1 parent f9509bc commit 3820066
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 4 deletions.
3 changes: 3 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ xtask = "run --manifest-path xtask/Cargo.toml"
rustflags = [
"--cfg=web_sys_unstable_apis"
]
rustdocflags = [
"--cfg=web_sys_unstable_apis"
]
17 changes: 15 additions & 2 deletions wgpu/src/backend/mod.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
#[cfg(webgpu)]
#[cfg(all(webgpu, web_sys_unstable_apis))]
mod webgpu;
#[cfg(webgpu)]
#[cfg(all(webgpu, web_sys_unstable_apis))]
pub(crate) use webgpu::{get_browser_gpu_property, ContextWebGpu};

#[cfg(all(webgpu, not(web_sys_unstable_apis)))]
compile_error!(
"webgpu feature used without web_sys_unstable_apis config:
Here are some ways to resolve this:
* If you wish to use webgpu backend, create a .cargo/config.toml in the root of the repo containing:
[build]
rustflags = [ \"--cfg=web_sys_unstable_apis\" ]
* If you wish to disable webgpu backend and instead use webgl backend, change your wgpu Cargo.toml entry to:
wgpu = { version = \"\", default-features = false, features = [\"webgl\"] }
"
);

#[cfg(wgpu_core)]
mod wgpu_core;

#[cfg(wgpu_core)]
pub(crate) use wgpu_core::ContextWgpuCore;
4 changes: 2 additions & 2 deletions wgpu/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1812,7 +1812,7 @@ impl Instance {
);
}

#[cfg(webgpu)]
#[cfg(all(webgpu, web_sys_unstable_apis))]
{
let is_only_available_backend = !cfg!(wgpu_core);
let requested_webgpu = _instance_desc.backends.contains(Backends::BROWSER_WEBGPU);
Expand Down Expand Up @@ -3086,7 +3086,7 @@ impl<'a> BufferSlice<'a> {
/// this function directly hands you the ArrayBuffer that we mapped the data into in js.
///
/// This is only available on WebGPU, on any other backends this will return `None`.
#[cfg(webgpu)]
#[cfg(all(webgpu, web_sys_unstable_apis))]
pub fn get_mapped_range_as_array_buffer(&self) -> Option<js_sys::ArrayBuffer> {
self.buffer
.context
Expand Down

0 comments on commit 3820066

Please sign in to comment.