# 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 are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.65"
name = "gpu-allocator"
version = "0.26.0"
authors = ["Traverse Research <opensource@traverseresearch.nl>"]
include = [
    "/README.md",
    "/LICENSE-*",
    "/src",
    "/examples",
]
description = "Memory allocator for GPU memory in Vulkan and DirectX 12"
homepage = "https://github.com/Traverse-Research/gpu-allocator"
documentation = "https://docs.rs/gpu-allocator/"
readme = "README.md"
keywords = [
    "vulkan",
    "memory",
    "allocator",
]
categories = [
    "rendering",
    "rendering::graphics-api",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Traverse-Research/gpu-allocator"

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

[[example]]
name = "vulkan-buffer"
required-features = [
    "vulkan",
    "ash/loaded",
]

[[example]]
name = "d3d12-buffer"
required-features = [
    "d3d12",
    "public-winapi",
]

[[example]]
name = "d3d12-buffer-winrs"
required-features = ["d3d12"]

[[example]]
name = "metal-buffer"
required-features = ["metal"]

[dependencies.ash]
version = ">=0.34, <=0.37"
features = ["debug"]
optional = true
default-features = false

[dependencies.egui]
version = ">=0.24, <=0.27"
optional = true
default-features = false

[dependencies.egui_extras]
version = ">=0.24, <=0.27"
optional = true
default-features = false

[dependencies.log]
version = "0.4"

[dependencies.presser]
version = "0.3"

[dependencies.thiserror]
version = "1.0"

[dev-dependencies.ash]
version = ">=0.34,<=0.37"
features = [
    "debug",
    "loaded",
]
default-features = false

[dev-dependencies.env_logger]
version = "0.10"

[features]
d3d12 = ["dep:windows"]
default = [
    "d3d12",
    "vulkan",
]
metal = ["dep:metal"]
public-winapi = ["dep:winapi"]
visualizer = [
    "dep:egui",
    "dep:egui_extras",
]
vulkan = ["dep:ash"]

[target."cfg(any(target_os = \"macos\", target_os = \"ios\"))".dependencies.metal]
version = "0.27.0"
features = [
    "link",
    "dispatch",
]
optional = true
default-features = false

[target."cfg(windows)".dependencies.winapi]
version = "0.3.9"
features = [
    "d3d12",
    "winerror",
    "impl-default",
    "impl-debug",
]
optional = true

[target."cfg(windows)".dependencies.windows]
version = ">=0.51,<=0.52"
features = [
    "Win32_Foundation",
    "Win32_Graphics",
    "Win32_Graphics_Direct3D",
    "Win32_Graphics_Direct3D12",
    "Win32_Graphics_Dxgi",
    "Win32_Graphics_Dxgi_Common",
]
optional = true

[target."cfg(windows)".dev-dependencies.winapi]
version = "0.3.9"
features = [
    "d3d12",
    "d3d12sdklayers",
    "dxgi1_6",
    "winerror",
    "impl-default",
    "impl-debug",
    "winuser",
    "windowsx",
    "libloaderapi",
]

[target."cfg(windows)".dev-dependencies.windows]
version = ">=0.51,<=0.52"
features = [
    "Win32_Foundation",
    "Win32_Graphics",
    "Win32_Graphics_Direct3D",
    "Win32_Graphics_Direct3D12",
    "Win32_Graphics_Dxgi",
    "Win32_Graphics_Dxgi_Common",
]
