Skip to content

Commit 4d4fa6c

Browse files
committed
add features
1 parent 286b753 commit 4d4fa6c

File tree

3 files changed

+102
-1
lines changed

3 files changed

+102
-1
lines changed

Cargo.lock

Lines changed: 83 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,10 @@ name = "vkfetch-rs"
1010
categories = ["command-line-utilities"]
1111
readme = "README.md"
1212

13+
[features]
14+
default = ["linked"]
15+
linked = ["ash/linked"]
16+
loaded = ["ash/loaded"]
17+
1318
[dependencies]
14-
ash ={version = "0.38.0", default-features = false, features = ["std", "linked"] }
19+
ash ={version = "0.38.0", default-features = false, features = ["std"] }

src/lib.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,22 @@ fn get_device_info(device: PhysicalDevice) -> Vec<String> {
6565
output
6666
}
6767

68+
#[cfg(all(feature = "linked", feature = "loaded"))]
69+
compile_error!("Only one of 'linked' or 'loaded' features can be enabled");
70+
6871
pub fn iterate_devices() {
72+
#[cfg(feature = "linked")]
6973
let entry = Entry::linked();
7074

75+
#[cfg(feature = "loaded")]
76+
let entry = match unsafe { Entry::load() } {
77+
Ok(entry) => entry,
78+
Err(e) => {
79+
eprintln!("Failed to load entry: {:?}", e);
80+
return;
81+
}
82+
};
83+
7184
let versions = [
7285
vk::API_VERSION_1_3,
7386
vk::API_VERSION_1_2,

0 commit comments

Comments
 (0)