-
Notifications
You must be signed in to change notification settings - Fork 55
/
Copy pathCargo.toml
108 lines (92 loc) · 3.36 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[package]
name = "gpu-allocator"
version = "0.27.0"
authors = ["Traverse Research <opensource@traverseresearch.nl>"]
edition = "2021"
license = "MIT OR Apache-2.0"
description = "Memory allocator for GPU memory in Vulkan and DirectX 12"
categories = ["rendering", "rendering::graphics-api"]
homepage = "https://github.com/Traverse-Research/gpu-allocator"
repository = "https://github.com/Traverse-Research/gpu-allocator"
keywords = ["vulkan", "memory", "allocator"]
documentation = "https://docs.rs/gpu-allocator/"
rust-version = "1.71"
include = [
"/README.md",
"/LICENSE-*",
"/src",
"/examples",
]
[package.metadata.docs.rs]
all-features = true
[dependencies]
log = "0.4"
thiserror = "1.0"
presser = { version = "0.3" }
# Only needed for Vulkan. Disable all default features as good practice,
# such as the ability to link/load a Vulkan library.
ash = { version = "0.38", optional = true, default-features = false, features = ["debug"] }
# Only needed for visualizer.
egui = { version = ">=0.24, <=0.27", optional = true, default-features = false }
egui_extras = { version = ">=0.24, <=0.27", optional = true, default-features = false }
[target.'cfg(target_vendor = "apple")'.dependencies]
objc2 = { version = "0.6", default-features = false, optional = true }
objc2-foundation = { version = "0.3", default-features = false, optional = true }
objc2-metal = { version = "0.3", default-features = false, features = [
"MTLAccelerationStructure",
"MTLAllocation",
"MTLBuffer",
"MTLDevice",
"MTLHeap",
"MTLResource",
"MTLTexture",
"std",
], optional = true }
[target.'cfg(windows)'.dependencies]
# Only needed for public-winapi interop helpers
winapi = { version = "0.3.9", features = ["d3d12", "winerror", "impl-default", "impl-debug"], optional = true }
[target.'cfg(windows)'.dependencies.windows]
version = ">=0.53,<=0.59"
features = [
"Win32_Graphics_Direct3D12",
"Win32_Graphics_Dxgi_Common",
]
optional = true
[dev-dependencies]
# Enable the "loaded" feature to be able to access the Vulkan entrypoint.
ash = { version = "0.38", default-features = false, features = ["debug", "loaded"] }
env_logger = "0.10"
[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]
# API-breaks since Windows 0.58 only affect our examples
version = ">=0.58,<=0.59"
features = [
"Win32_Graphics_Direct3D",
"Win32_Graphics_Direct3D12",
"Win32_Graphics_Dxgi_Common",
]
[target.'cfg(target_vendor = "apple")'.dev-dependencies]
objc2-metal = { version = "0.3", default-features = false, features = [
"MTLPixelFormat",
] }
[[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"]
[features]
visualizer = ["dep:egui", "dep:egui_extras"]
vulkan = ["dep:ash"]
d3d12 = ["dep:windows"]
metal = ["dep:objc2", "dep:objc2-metal", "dep:objc2-foundation"]
# Expose helper functionality for winapi types to interface with gpu-allocator, which is primarily windows-rs driven
public-winapi = ["dep:winapi"]
default = ["d3d12", "vulkan", "metal"]