Skip to content

Commit

Permalink
Error on missing web_sys_unstable_apis (#5104)
Browse files Browse the repository at this point in the history
  • Loading branch information
rukai authored and cwfitzgerald committed Jan 21, 2024
1 parent e1481b6 commit f9454d1
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 5 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"
]
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ env:
RUST_BACKTRACE: full
PKG_CONFIG_ALLOW_CROSS: 1 # allow android to work
RUSTFLAGS: --cfg=web_sys_unstable_apis -D warnings
RUSTDOCFLAGS: -Dwarnings
RUSTDOCFLAGS: --cfg=web_sys_unstable_apis -D warnings
WASM_BINDGEN_TEST_TIMEOUT: 300 # 5 minutes
CACHE_SUFFIX: c # cache busting

Expand Down
18 changes: 16 additions & 2 deletions wgpu/src/backend/mod.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,23 @@
#[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\" ]
rustdocflags = [ \"--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 f9454d1

Please sign in to comment.