[package]
name = "naga"
version = "25.0.1"
authors = ["gfx-rs developers"]
edition = "2021"
description = "Shader translator and validator. Part of the wgpu project"
repository = "https://github.com/gfx-rs/wgpu/tree/trunk/naga"
keywords = ["shader", "SPIR-V", "GLSL", "MSL"]
license = "MIT OR Apache-2.0"
exclude = ["bin/**/*", "tests/**/*", "Cargo.lock", "target/**/*"]
resolver = "2"
rust-version = "1.82.0"
[package.metadata.docs.rs]
all-features = true
[features]
default = []
dot-out = []
glsl-in = ["dep:pp-rs"]
glsl-out = []
msl-out = []
msl-out-if-target-apple = []
serialize = [
"dep:serde",
"bitflags/serde",
"half/serde",
"hashbrown/serde",
"indexmap/serde",
]
deserialize = [
"dep:serde",
"bitflags/serde",
"half/serde",
"hashbrown/serde",
"indexmap/serde",
]
arbitrary = [
"dep:arbitrary",
"bitflags/arbitrary",
"indexmap/arbitrary",
"half/arbitrary",
"half/std",
]
spv-in = ["dep:petgraph", "dep:spirv"]
spv-out = ["dep:spirv"]
wgsl-in = [
"dep:hexf-parse",
"dep:strum",
"dep:unicode-ident",
"indexmap/std",
"compact",
]
wgsl-out = []
hlsl-out = []
hlsl-out-if-target-windows = []
compact = []
[dependencies]
arbitrary = { version = "1.4", features = ["derive"], optional = true }
arrayvec.workspace = true
bitflags.workspace = true
bit-set.workspace = true
codespan-reporting = { workspace = true, default-features = false, features = [
"std",
"termcolor",
] }
hashbrown.workspace = true
half = { workspace = true, default-features = false, features = ["num-traits"] }
rustc-hash.workspace = true
indexmap.workspace = true
log = "0.4"
num-traits = { version = "0.2.16", default-features = false }
once_cell = { workspace = true, features = ["alloc", "race"] }
strum = { workspace = true, optional = true }
spirv = { version = "0.3", optional = true }
thiserror.workspace = true
serde = { version = "1.0.219", features = [
"default",
"derive",
], optional = true }
petgraph = { version = "0.8", optional = true }
pp-rs = { version = "0.2.1", optional = true }
hexf-parse = { version = "0.2.1", optional = true }
unicode-ident = { version = "1.0", optional = true }
[build-dependencies]
cfg_aliases.workspace = true
[dev-dependencies]
diff = "0.1"
env_logger.workspace = true
hashbrown = { workspace = true, features = ["serde"] }
hlsl-snapshots = { path = "./hlsl-snapshots" }
itertools.workspace = true
ron.workspace = true
rspirv = { version = "0.11", git = "https://github.com/gfx-rs/rspirv", rev = "b969f175d5663258b4891e44b76c1544da9661ab" }
serde = { workspace = true, features = ["default", "derive"] }
spirv = { version = "0.3", features = ["deserialize"] }
toml = "0.8"
walkdir.workspace = true
[lints.clippy]
std_instead_of_alloc = "warn"
std_instead_of_core = "warn"
alloc_instead_of_core = "warn"