156 lines
5.6 KiB
TOML
156 lines
5.6 KiB
TOML
[package]
|
|
name = "bevy_render"
|
|
version = "0.18.1"
|
|
edition = "2024"
|
|
description = "Provides rendering functionality for Bevy Engine"
|
|
homepage = "https://bevy.org"
|
|
repository = "https://github.com/bevyengine/bevy"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["bevy"]
|
|
|
|
[features]
|
|
# Bevy users should _never_ turn this feature on.
|
|
#
|
|
# Bevy/wgpu developers can turn this feature on to test a newer version of wgpu without needing to also update naga_oil.
|
|
#
|
|
# When turning this feature on, you can add the following to bevy/Cargo.toml (not this file), and then run `cargo update`:
|
|
# [patch.crates-io]
|
|
# wgpu = { git = "https://github.com/gfx-rs/wgpu", rev = "..." }
|
|
# wgpu-core = { git = "https://github.com/gfx-rs/wgpu", rev = "..." }
|
|
# wgpu-hal = { git = "https://github.com/gfx-rs/wgpu", rev = "..." }
|
|
# wgpu-types = { git = "https://github.com/gfx-rs/wgpu", rev = "..." }
|
|
decoupled_naga = ["bevy_shader/decoupled_naga"]
|
|
|
|
multi_threaded = ["bevy_tasks/multi_threaded"]
|
|
|
|
morph = ["bevy_mesh/morph"]
|
|
|
|
shader_format_spirv = ["bevy_shader/shader_format_spirv", "wgpu/spirv"]
|
|
|
|
# Enable SPIR-V shader passthrough
|
|
spirv_shader_passthrough = ["wgpu/spirv"]
|
|
|
|
# Statically linked DXC shader compiler for DirectX 12
|
|
# TODO: When wgpu switches to DirectX 12 instead of Vulkan by default on windows, make this a default feature
|
|
statically-linked-dxc = ["wgpu/static-dxc"]
|
|
|
|
# Forces the wgpu instance to be initialized using the raw Vulkan HAL, enabling additional configuration
|
|
raw_vulkan_init = ["wgpu/vulkan"]
|
|
|
|
trace = ["profiling"]
|
|
tracing-tracy = ["dep:tracy-client"]
|
|
ci_limits = []
|
|
webgl = ["wgpu/webgl"]
|
|
webgpu = ["wgpu/webgpu"]
|
|
vulkan-portability = ["wgpu/vulkan-portability"]
|
|
gles = ["wgpu/gles"]
|
|
detailed_trace = []
|
|
## Adds serialization support through `serde`.
|
|
serialize = ["bevy_mesh/serialize"]
|
|
|
|
[dependencies]
|
|
# bevy
|
|
bevy_app = { path = "../bevy_app", version = "0.18.0" }
|
|
bevy_asset = { path = "../bevy_asset", version = "0.18.0" }
|
|
bevy_color = { path = "../bevy_color", version = "0.18.0", features = [
|
|
"serialize",
|
|
"wgpu-types",
|
|
] }
|
|
bevy_derive = { path = "../bevy_derive", version = "0.18.0" }
|
|
bevy_diagnostic = { path = "../bevy_diagnostic", version = "0.18.0" }
|
|
bevy_ecs = { path = "../bevy_ecs", version = "0.18.0" }
|
|
bevy_encase_derive = { path = "../bevy_encase_derive", version = "0.18.0" }
|
|
bevy_math = { path = "../bevy_math", version = "0.18.0" }
|
|
bevy_reflect = { path = "../bevy_reflect", version = "0.18.0" }
|
|
bevy_render_macros = { path = "macros", version = "0.18.0" }
|
|
bevy_time = { path = "../bevy_time", version = "0.18.0" }
|
|
bevy_transform = { path = "../bevy_transform", version = "0.18.0" }
|
|
bevy_window = { path = "../bevy_window", version = "0.18.0" }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.18.0" }
|
|
bevy_tasks = { path = "../bevy_tasks", version = "0.18.0" }
|
|
bevy_image = { path = "../bevy_image", version = "0.18.0" }
|
|
bevy_mesh = { path = "../bevy_mesh", version = "0.18.0" }
|
|
bevy_camera = { path = "../bevy_camera", version = "0.18.0" }
|
|
bevy_shader = { path = "../bevy_shader", version = "0.18.0" }
|
|
bevy_platform = { path = "../bevy_platform", version = "0.18.0", default-features = false, features = [
|
|
"std",
|
|
"serialize",
|
|
] }
|
|
|
|
# rendering
|
|
image = { version = "0.25.2", default-features = false }
|
|
|
|
# misc
|
|
# `fragile-send-sync-non-atomic-wasm` feature means we can't use Wasm threads for rendering
|
|
# It is enabled for now to avoid having to do a significant overhaul of the renderer just for wasm.
|
|
# When the 'atomics' feature is enabled `fragile-send-sync-non-atomic` does nothing
|
|
# and Bevy instead wraps `wgpu` types to verify they are not used off their origin thread.
|
|
wgpu = { version = "27", default-features = false, features = [
|
|
"wgsl",
|
|
"dx12",
|
|
"metal",
|
|
"vulkan",
|
|
"naga-ir",
|
|
"fragile-send-sync-non-atomic-wasm",
|
|
] }
|
|
naga = { version = "27", features = ["wgsl-in"] }
|
|
bytemuck = { version = "1.5", features = ["derive", "must_cast"] }
|
|
downcast-rs = { version = "2", default-features = false, features = ["std"] }
|
|
thiserror = { version = "2", default-features = false }
|
|
derive_more = { version = "2", default-features = false, features = ["from"] }
|
|
encase = "0.12"
|
|
glam = { version = "0.30.7", default-features = false, features = [
|
|
"std",
|
|
"encase",
|
|
] }
|
|
# For wgpu profiling using tracing. Use `RUST_LOG=info` to also capture the wgpu spans.
|
|
profiling = { version = "1", features = [
|
|
"profile-with-tracing",
|
|
], optional = true }
|
|
async-channel = "2.3.0"
|
|
nonmax = "0.5"
|
|
smallvec = { version = "1", default-features = false, features = ["const_new"] }
|
|
offset-allocator = "0.2"
|
|
variadics_please = "1.1"
|
|
tracing = { version = "0.1", default-features = false, features = ["std"] }
|
|
tracy-client = { version = "0.18.3", optional = true }
|
|
indexmap = { version = "2" }
|
|
fixedbitset = { version = "0.5" }
|
|
bitflags = "2"
|
|
|
|
[target.'cfg(all(target_arch = "wasm32", target_feature = "atomics"))'.dependencies]
|
|
send_wrapper = { version = "0.6.0" }
|
|
|
|
[dev-dependencies]
|
|
proptest = "1"
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
js-sys = "0.3.83"
|
|
web-sys = { version = "0.3.67", features = [
|
|
'Blob',
|
|
'Document',
|
|
'Element',
|
|
'HtmlElement',
|
|
'Node',
|
|
'Url',
|
|
'Window',
|
|
] }
|
|
wasm-bindgen = "0.2"
|
|
# TODO: Assuming all wasm builds are for the browser. Require `no_std` support to break assumption.
|
|
bevy_app = { path = "../bevy_app", version = "0.18.0", default-features = false, features = [
|
|
"web",
|
|
] }
|
|
bevy_platform = { path = "../bevy_platform", version = "0.18.0", default-features = false, features = [
|
|
"web",
|
|
] }
|
|
bevy_reflect = { path = "../bevy_reflect", version = "0.18.0", default-features = false, features = [
|
|
"web",
|
|
] }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[package.metadata.docs.rs]
|
|
rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"]
|
|
all-features = true
|