vulkane 0.4.0

Vulkan API bindings generated entirely from vk.xml, with a complete safe RAII wrapper covering compute and graphics: instance/device/queue, buffer, image, sampler, render pass, framebuffer, graphics + compute pipelines, swapchain, a VMA-style sub-allocator with TLSF + linear pools and defragmentation, sync primitives (fences, binary + timeline semaphores, sync2 barriers), query pools, and an optional naga GLSL/WGSL→SPIR-V feature. Supports Vulkan 1.2.175 onward — swap vk.xml and rebuild.
# 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 = "2024"
rust-version = "1.85"
name = "vulkane"
version = "0.4.0"
authors = ["Eric Evans <CireSnave@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Vulkan API bindings generated entirely from vk.xml, with a complete safe RAII wrapper covering compute and graphics: instance/device/queue, buffer, image, sampler, render pass, framebuffer, graphics + compute pipelines, swapchain, a VMA-style sub-allocator with TLSF + linear pools and defragmentation, sync primitives (fences, binary + timeline semaphores, sync2 barriers), query pools, and an optional naga GLSL/WGSL→SPIR-V feature. Supports Vulkan 1.2.175 onward — swap vk.xml and rebuild."
homepage = "https://github.com/ciresnave/vulkane"
documentation = "https://docs.rs/vulkane"
readme = "README.md"
keywords = [
    "vulkan",
    "graphics",
    "gpu",
    "rendering",
    "ffi",
]
categories = [
    "graphics",
    "api-bindings",
    "rendering",
    "external-ffi-bindings",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ciresnave/vulkane"
resolver = "2"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
build-support = []
default = ["build-support"]
derive = ["dep:vulkane_derive"]
fetch-spec = []
naga = ["dep:naga"]

[lib]
name = "vulkane"
path = "src/lib.rs"

[[example]]
name = "allocator_compute"
path = "examples/allocator_compute.rs"

[[example]]
name = "buffer_upload"
path = "examples/buffer_upload.rs"

[[example]]
name = "compile_shader"
path = "examples/compile_shader.rs"

[[example]]
name = "compute_image_invert"
path = "examples/compute_image_invert.rs"

[[example]]
name = "compute_square"
path = "examples/compute_square.rs"

[[example]]
name = "deferred_shading"
path = "examples/deferred_shading.rs"

[[example]]
name = "depth_prepass"
path = "examples/depth_prepass.rs"

[[example]]
name = "derive_vertex"
path = "examples/derive_vertex.rs"

[[example]]
name = "device_info"
path = "examples/device_info.rs"

[[example]]
name = "fill_buffer"
path = "examples/fill_buffer.rs"

[[example]]
name = "headless_triangle"
path = "examples/headless_triangle.rs"

[[example]]
name = "instanced_mesh"
path = "examples/instanced_mesh.rs"

[[example]]
name = "raw_interop"
path = "examples/raw_interop.rs"

[[example]]
name = "shadow_map"
path = "examples/shadow_map.rs"

[[example]]
name = "textured_quad"
path = "examples/textured_quad.rs"

[[example]]
name = "windowed_triangle"
path = "examples/windowed_triangle.rs"

[[test]]
name = "fetch_spec_test"
path = "tests/fetch_spec_test.rs"

[[test]]
name = "naga_test"
path = "tests/naga_test.rs"

[[test]]
name = "real_vulkan_test"
path = "tests/real_vulkan_test.rs"

[[test]]
name = "safe_wrapper_test"
path = "tests/safe_wrapper_test.rs"

[dependencies.libloading]
version = "0.9"

[dependencies.naga]
version = "29"
features = [
    "glsl-in",
    "wgsl-in",
    "spv-out",
]
optional = true
default-features = false

[dependencies.vulkane_derive]
version = "0.1"
optional = true

[dev-dependencies.raw-window-handle]
version = "0.6"

[dev-dependencies.winit]
version = "0.30"

[build-dependencies.ureq]
version = "3"

[build-dependencies.vulkan_gen]
version = "0.1"