# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
edition = "2018"
name = "vulkano"
version = "0.25.0"
authors = ["Pierre Krieger <pierre.krieger1708@gmail.com>", "The vulkano contributors"]
build = "build.rs"
description = "Safe wrapper for the Vulkan graphics API"
homepage = "https://vulkano.rs"
documentation = "https://docs.rs/vulkano"
readme = "../README.md"
keywords = ["vulkan", "bindings", "graphics", "gpu", "rendering"]
categories = ["rendering::graphics-api"]
license = "MIT/Apache-2.0"
repository = "https://github.com/vulkano-rs/vulkano"
[dependencies.ash]
version = "0.33.0"

[dependencies.crossbeam-queue]
version = "0.3"

[dependencies.fnv]
version = "1.0"

[dependencies.half]
version = "1.7"

[dependencies.lazy_static]
version = "1.4"

[dependencies.parking_lot]
version = "0.11.1"
features = ["send_guard"]

[dependencies.shared_library]
version = "0.1"

[dependencies.smallvec]
version = "1.6"
[build-dependencies.heck]
version = "0.3"

[build-dependencies.indexmap]
version = "1.7"

[build-dependencies.regex]
version = "1.5"

[build-dependencies.vk-parse]
version = "0.6"
