mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-25 00:03:29 +00:00
Error on missing web_sys_unstable_apis (#5104)
This commit is contained in:
parent
6c7c6fb999
commit
e128d6c261
@ -5,3 +5,6 @@ xtask = "run --manifest-path xtask/Cargo.toml"
|
|||||||
rustflags = [
|
rustflags = [
|
||||||
"--cfg=web_sys_unstable_apis"
|
"--cfg=web_sys_unstable_apis"
|
||||||
]
|
]
|
||||||
|
rustdocflags = [
|
||||||
|
"--cfg=web_sys_unstable_apis"
|
||||||
|
]
|
||||||
|
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -56,7 +56,7 @@ env:
|
|||||||
RUST_BACKTRACE: full
|
RUST_BACKTRACE: full
|
||||||
PKG_CONFIG_ALLOW_CROSS: 1 # allow android to work
|
PKG_CONFIG_ALLOW_CROSS: 1 # allow android to work
|
||||||
RUSTFLAGS: --cfg=web_sys_unstable_apis -D warnings
|
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
|
WASM_BINDGEN_TEST_TIMEOUT: 300 # 5 minutes
|
||||||
CACHE_SUFFIX: c # cache busting
|
CACHE_SUFFIX: c # cache busting
|
||||||
|
|
||||||
|
@ -1,9 +1,23 @@
|
|||||||
#[cfg(webgpu)]
|
#[cfg(all(webgpu, web_sys_unstable_apis))]
|
||||||
mod webgpu;
|
mod webgpu;
|
||||||
#[cfg(webgpu)]
|
#[cfg(all(webgpu, web_sys_unstable_apis))]
|
||||||
pub(crate) use webgpu::{get_browser_gpu_property, ContextWebGpu};
|
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)]
|
#[cfg(wgpu_core)]
|
||||||
mod wgpu_core;
|
mod wgpu_core;
|
||||||
|
|
||||||
#[cfg(wgpu_core)]
|
#[cfg(wgpu_core)]
|
||||||
pub(crate) use wgpu_core::ContextWgpuCore;
|
pub(crate) use wgpu_core::ContextWgpuCore;
|
||||||
|
@ -1812,7 +1812,7 @@ impl Instance {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(webgpu)]
|
#[cfg(all(webgpu, web_sys_unstable_apis))]
|
||||||
{
|
{
|
||||||
let is_only_available_backend = !cfg!(wgpu_core);
|
let is_only_available_backend = !cfg!(wgpu_core);
|
||||||
let requested_webgpu = _instance_desc.backends.contains(Backends::BROWSER_WEBGPU);
|
let requested_webgpu = _instance_desc.backends.contains(Backends::BROWSER_WEBGPU);
|
||||||
@ -3086,7 +3086,7 @@ impl<'a> BufferSlice<'a> {
|
|||||||
/// this function directly hands you the ArrayBuffer that we mapped the data into in js.
|
/// 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`.
|
/// 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> {
|
pub fn get_mapped_range_as_array_buffer(&self) -> Option<js_sys::ArrayBuffer> {
|
||||||
self.buffer
|
self.buffer
|
||||||
.context
|
.context
|
||||||
|
Loading…
Reference in New Issue
Block a user