Cargo Features

librashader-reflect = { version = "0.2.7", default-features = false, features = ["dxil", "wgsl", "cross", "naga", "serialize", "msl"] }
default = cross, msl, naga, serialize, wgsl

These default features are set whenever librashader-reflect is added without default-features = false somewhere in the dependency tree.

dxil = spirv-to-dxil

Enables hlsl of librashader-spirv-cross

Affects back::dxil

wgsl default = cross, rspirv, spirv

Enables wgsl-out of naga ^0.19.0

cross default wgsl = spirv_cross

Enables glsl, hlsl and msl of librashader-spirv-cross

naga default msl wgsl = rspirv, spirv

Enables msl-out, spv-in, spv-out and wgsl-out of naga ^0.19.0

Affects reflect::naga

serialize default = serde
msl default

Enables msl of librashader-spirv-cross and msl-out of naga ^0.19.0


Enables outputting to the Metal Shading Language (MSL).

This enables MSL output regardless of the target platform. If you want to enable it only when targeting iOS/tvOS/watchOS/macOS, use naga/msl-out-if-target-apple.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

spirv_cross cross dxil? msl

Enables librashader-spirv-cross

rspirv naga wgsl
spirv naga wgsl
serde serialize
spirv-to-dxil win dxil?