Crates.io | ash-molten |
lib.rs | ash-molten |
version | 0.20.0+1.2.11 |
source | src |
created_at | 2019-06-28 23:59:15.773255 |
updated_at | 2024-09-12 16:51:25.129235 |
description | Statically linked MoltenVK for Vulkan on Mac using Ash |
homepage | https://github.com/EmbarkStudios/ash-molten |
repository | https://github.com/EmbarkStudios/ash-molten |
max_upload_size | |
id | 144445 |
size | 77,791 |
ash-molten
is built on top of ash and exposes a new entry point to statically link with MoltenVK.
Requires Xcode 14 and Mac OS 10.15 (Catalina) to compile.
ash-molten
doesn't have access to the validation layers and therefore can not output any debug information.let entry = ash_molten::MoltenEntry::load().expect("Unable to load Molten");
let app_name = CString::new("Hello Static Molten").unwrap();
let appinfo = vk::ApplicationInfo::builder()
.application_name(&app_name)
.application_version(0)
.engine_name(&app_name)
.engine_version(0)
.api_version(vk_make_version!(1, 0, 0));
let create_info = vk::InstanceCreateInfo::builder().application_info(&appinfo);
let instance = entry.create_instance(&create_info, None).expect("Instance");
let devices = instance.enumerate_physical_devices();
println!("{:?}", devices);
You can run the example with cargo run
.
ash-molten
links statically with MoltenVK, it then uses vkGetInstanceProcAddr
to resolve all the function pointers at runtime.
cargo build
will clone a specific release of MoltenVK compile and statically link it with your application.
cargo build --features pre-built
will download a pre-built version of MoltenVK from a release of ash-molten.
cargo build --features external
provide own MoltenVK library.
If you want to compile MoltenVK yourself, you can use the external
feature. cargo build --features external
requires libMoltenVK
to be visible (LD_LIBRARY_PATH
).
To update the version of MoltenVK uses, change the following:
build.rs
, change static VERSION = "1.1.0"
to the new MoltenVK release tag nameCargo.toml
0.2.0+1.1.9
-> 0.2.1+1.1.10
.To update the prebuilt version of MoltenVK that ash-molten uses, change the following:
static VERSION
.We welcome community contributions to this project.
Please read our Contributor Guide for more information on how to get started.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.