alpha2-gpu 0.5.0

GPU context and capability boundary for alpha2.
Documentation
[package]
name = "alpha2-gpu"
version.workspace = true
description = "GPU context and capability boundary for alpha2."
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
keywords = ["gpu", "wgpu", "webgpu", "video"]
categories = ["graphics", "rendering"]
# Tests, benches and fixtures stay out of the published crate.
include = [
  "/src/**",
  "/README.md",
  "/LICENSE.md",
  "!/src/**/tests.rs",
  "!/src/**/*_tests.rs",
  "!/src/**/tests/**",
]

[features]
# Serializes device acquisition within a process; enabled by test dev-dependencies only.
serial-acquisition = []
# Exposes `alpha2_gpu::wgpu` and the items that take or return `wgpu` types.
wgpu-interop = []

[dependencies]
wgpu.workspace = true
web-time = "1.1.0"
# `validation_log` installs the process logger that wgpu-hal logs through.
log = "0.4.34"

# Must match the version wgpu-hal uses so its raw device casts to the debug info queue.
[target.'cfg(windows)'.dependencies]
windows = { version = "0.62", features = ["Win32_Graphics_Direct3D12"] }

[dev-dependencies]
alpha2-test-support.workspace = true
alpha2-gpu = { path = ".", features = ["serial-acquisition"] }
pollster.workspace = true
serde_json.workspace = true

[target.'cfg(target_os = "linux")'.dev-dependencies]
ash = "0.38"

[target.'cfg(windows)'.dev-dependencies]
windows = { version = "0.62", features = [
  "Win32_Graphics_Direct3D12",
  "Win32_Graphics_Dxgi_Common",
] }

[lints.rust]
# Allowed only where the validation collector reaches raw devices through wgpu's hal interop.
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "deny"
missing_docs = "warn"

[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
undocumented_unsafe_blocks = "warn"