2016-08-07 12:31:07 +00:00
|
|
|
[workspace]
|
2023-10-29 17:46:14 +00:00
|
|
|
members = [
|
2023-11-15 17:08:43 +00:00
|
|
|
"examples/*",
|
|
|
|
"vulkano",
|
|
|
|
"vulkano-macros",
|
|
|
|
"vulkano-shaders",
|
2024-07-09 10:40:15 +00:00
|
|
|
"vulkano-taskgraph",
|
2023-11-15 17:08:43 +00:00
|
|
|
"vulkano-util",
|
|
|
|
# "vulkano-win",
|
2023-10-29 17:46:14 +00:00
|
|
|
]
|
2023-08-25 01:01:45 +00:00
|
|
|
resolver = "2"
|
2023-10-30 03:42:00 +00:00
|
|
|
|
2024-04-19 10:27:26 +00:00
|
|
|
[workspace.package]
|
|
|
|
edition = "2021"
|
2024-09-12 08:27:00 +00:00
|
|
|
rust-version = "1.75.0"
|
2024-04-19 10:27:26 +00:00
|
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
homepage = "https://vulkano.rs"
|
|
|
|
keywords = ["vulkan", "bindings", "graphics", "gpu", "rendering"]
|
|
|
|
categories = ["rendering::graphics-api"]
|
|
|
|
|
2023-10-30 03:42:00 +00:00
|
|
|
[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"
|
|
|
|
|
2024-09-11 13:59:18 +00:00
|
|
|
[workspace.dependencies.vulkano-taskgraph]
|
|
|
|
version = "0.34"
|
|
|
|
path = "vulkano-taskgraph"
|
|
|
|
|
2023-10-30 03:42:00 +00:00
|
|
|
[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
|
2024-04-07 10:16:30 +00:00
|
|
|
ash = "0.38.0"
|
2023-10-30 03:42:00 +00:00
|
|
|
bytemuck = "1.9"
|
2024-09-11 13:59:18 +00:00
|
|
|
concurrent-slotmap = { git = "https://github.com/vulkano-rs/concurrent-slotmap", rev = "fa906d916d8d126d3cc3a2b4ab9a29fa27bee62d" }
|
2023-10-30 03:42:00 +00:00
|
|
|
crossbeam-queue = "0.3"
|
|
|
|
half = "2.0"
|
|
|
|
heck = "0.4"
|
|
|
|
indexmap = "2.0"
|
|
|
|
libloading = "0.8"
|
2024-03-04 18:53:07 +00:00
|
|
|
nom = "7.1"
|
2023-10-30 03:42:00 +00:00
|
|
|
once_cell = "1.17"
|
|
|
|
parking_lot = "0.12"
|
|
|
|
proc-macro2 = "1.0"
|
2023-11-01 19:59:57 +00:00
|
|
|
proc-macro-crate = "2.0"
|
2023-10-30 03:42:00 +00:00
|
|
|
quote = "1.0"
|
2024-07-09 10:40:15 +00:00
|
|
|
rangemap = "1.5"
|
2023-10-31 17:47:17 +00:00
|
|
|
raw-window-handle = "0.6"
|
Use raw-window-metal to get a CAMetalLayer from raw-window-handle (#2561)
The way `raw-window-metal` works is by creating a layer, and inserting
that as a sublayer, just like we did on iOS before. The bounds are then
kept in-sync with an observer, ensuring smooth resizing.
This also fixes compilation errors on iOS, and adds preliminary support
for tvOS.
The implementation now solely uses `VK_EXT_metal_surface`, which was
added in 2018, instead of `VK_MVK_ios_surface` / `VK_MVK_macos_surface`,
which are deprecated, and only available a year and a half earlier
anyhow.
Note that apart from the above, there is a slight behavioral change on
macOS: we no longer set `edgeAntialiasingMask` on the layer, as it's not
really required, and allows us to avoid depending on `objc2` directly.
It was introduced without motivation in 40e0b24, so I doubt anyone uses
it, and if they do, they can change it on the layer themselves.
2024-09-11 16:03:54 +00:00
|
|
|
raw-window-metal = "1.0"
|
2023-10-30 03:42:00 +00:00
|
|
|
serde = "1.0"
|
|
|
|
serde_json = "1.0"
|
2024-05-05 20:17:47 +00:00
|
|
|
shaderc = "0.8.3"
|
2024-03-12 18:26:16 +00:00
|
|
|
slabbin = "1.0"
|
2023-10-30 03:42:00 +00:00
|
|
|
smallvec = "1.8"
|
2023-10-31 17:47:17 +00:00
|
|
|
syn = "2.0"
|
2023-10-30 03:42:00 +00:00
|
|
|
thread_local = "1.1"
|
|
|
|
vk-parse = "0.12"
|
2024-06-30 13:23:19 +00:00
|
|
|
winit = { version = "0.29", default-features = false }
|
2024-09-11 15:02:27 +00:00
|
|
|
x11-dl = "2.0"
|
|
|
|
x11rb = "0.13"
|
2023-10-31 18:15:03 +00:00
|
|
|
|
|
|
|
# Only used in examples
|
2024-02-21 08:30:15 +00:00
|
|
|
glam = "0.25"
|
2023-10-31 18:15:03 +00:00
|
|
|
png = "0.17"
|
|
|
|
rand = "0.8"
|
|
|
|
ron = "0.8"
|
2024-01-10 08:26:35 +00:00
|
|
|
|
2024-03-28 10:58:43 +00:00
|
|
|
[workspace.lints]
|
2024-04-08 18:02:56 +00:00
|
|
|
rust.missing_docs = "allow" # TODO: warn eventually
|
2024-07-25 18:39:57 +00:00
|
|
|
rust.rust_2018_idioms = { level = "warn", priority = -1 }
|
|
|
|
rust.rust_2024_compatibility = { level = "allow", priority = -1 } # TODO: warn eventually
|
2024-04-08 18:02:56 +00:00
|
|
|
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
|
2024-03-28 10:58:43 +00:00
|
|
|
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"
|
|
|
|
|
2024-01-10 08:26:35 +00:00
|
|
|
[profile.CI]
|
|
|
|
inherits = "dev"
|
|
|
|
debug = 0
|
|
|
|
codegen-units = 1
|
|
|
|
incremental = false
|