[workspace] members = [ "examples/*", "vulkano", "vulkano-macros", "vulkano-shaders", "vulkano-taskgraph", "vulkano-util", # "vulkano-win", ] # NOTE(Marc): Linux CI is failing because of a transitive dependency of the old winit that this # example depends on. I don't know how to update glium to the new version. exclude = ["examples/gl-interop"] resolver = "2" [workspace.package] edition = "2021" rust-version = "1.75.0" license = "MIT OR Apache-2.0" homepage = "https://vulkano.rs" keywords = ["vulkan", "bindings", "graphics", "gpu", "rendering"] categories = ["rendering::graphics-api"] [workspace.dependencies.vulkano] version = "0.34" path = "vulkano" default-features = false [workspace.dependencies.vulkano-macros] version = "0.34" path = "vulkano-macros" [workspace.dependencies.vulkano-shaders] version = "0.34" path = "vulkano-shaders" [workspace.dependencies.vulkano-taskgraph] version = "0.34" path = "vulkano-taskgraph" [workspace.dependencies.vulkano-util] version = "0.34" path = "vulkano-util" [workspace.dependencies] ahash = "0.8" # When updating Ash, also update vk.xml to the same Vulkan patch version that Ash uses. # All versions of vk.xml can be found at: # https://github.com/KhronosGroup/Vulkan-Headers/commits/main/registry/vk.xml ash = "0.38.0" bytemuck = "1.9" concurrent-slotmap = "0.1.0-alpha.1" crossbeam-queue = "0.3" half = "2.0" heck = "0.4" indexmap = "2.0" libloading = "0.8" nom = "7.1" once_cell = "1.17" parking_lot = "0.12" proc-macro2 = "1.0" proc-macro-crate = "3.0" quote = "1.0" rangemap = "1.5" raw-window-handle = "0.6" raw-window-metal = "1.0" serde = "1.0" serde_json = "1.0" shaderc = "0.8.3" slabbin = "1.1" smallvec = "1.8" syn = "2.0" thread_local = "1.1" vk-parse = "0.15" winit = { version = "0.30", default-features = false } x11-dl = "2.0" x11rb = "0.13" # Only used in examples glam = "0.29" png = "0.17" rand = "0.8" ron = "0.8" [workspace.lints] rust.missing_docs = "allow" # TODO: warn eventually rust.rust_2018_idioms = { level = "warn", priority = -1 } rust.rust_2024_compatibility = { level = "allow", priority = -1 } # TODO: warn eventually clippy.borrow_as_ptr = "warn" clippy.missing_safety_doc = "allow" # TODO: warn eventually clippy.ptr_as_ptr = "warn" clippy.ptr_cast_constness = "warn" # clippy.ref_as_ptr = "warn" # TODO: enable once it's stable clippy.trivially_copy_pass_by_ref = "warn" # These lints are a bit too pedantic, so they're disabled here. # They can be removed if they no longer happen in the future. clippy.arc_with_non_send_sync = "allow" clippy.collapsible_else_if = "allow" clippy.collapsible_if = "allow" clippy.len_without_is_empty = "allow" clippy.needless_borrowed_reference = "allow" clippy.nonminimal_bool = "allow" clippy.result_large_err = "allow" clippy.too_many_arguments = "allow" clippy.type_complexity = "allow" [profile.CI] inherits = "dev" debug = 0 codegen-units = 1 incremental = false