wgpu-shaders 28.0.0

Shader compilation for wgpu, using naga.
Documentation
[package]
name = "wgpu-shaders"
version.workspace = true
authors.workspace = true
edition.workspace = true
description = "Shader compilation for wgpu, using naga."
homepage.workspace = true
repository.workspace = true
keywords.workspace = true
license.workspace = true

# Override the workspace's `rust-version` key. `wgpu-core` and its dependencies
# have a less strict MSRV, to allow firefox more leeway in updating their Rust toolchain.
#
# See the repo README for more information on MSRV policy.
rust-version = "1.87"

[package.metadata.docs.rs]
all-features = true

[features]
# Useful for build scripts that don't care about binary size, or for prebuilt binaries. Wgpu-hal will pick and choose which ones it needs.
default = [
    "std",
    "wgsl-in",
    "spv-in",
    "glsl-in",
    "ir-in",
    "wgsl-out",
    "spv-out",
    "glsl-out",
    "hlsl-out",
    "msl-out",
    "ir-out",
    "static-dxc",
]

std = ["wgpu-types/std"]

static-dxc = []
# TODO: add options for spirv-opt and spirv-val

wgsl-in = ["naga/wgsl-in"]
spv-in = ["naga/spv-in"]
glsl-in = ["naga/glsl-in"]
# IR basically piggy backs off of serialize/deserialize.
ir-in = ["naga/serialize"]

# Don't actually enable these unless one of the input formats is enabled.
wgsl-out = ["naga?/wgsl-out"]
spv-out = ["naga?/spv-out"]
glsl-out = ["naga?/glsl-out"]
hlsl-out = ["naga?/hlsl-out"]
msl-out = ["naga?/msl-out"]
# Noop
ir-out = ["naga/deserialize"]

[dependencies]
naga = { workspace = true, optional = true }
wgpu-types = {workspace = true, default-features = false}

[lints]
workspace = true