1个不稳定版本

0.1.0 2021年1月28日

#24 in #积极


vulkayes-window 中使用

MIT/Apache

325KB
9K SLoC

此crate为vulkayes项目提供核心组件。

crate功能

host_allocatorrust_host_allocator

host_allocatorHostMemoryAllocator 添加了 Custom 变体。这使得类型具有大小,但允许使用自定义主机内存分配器。

rust_host_allocatorHostMemoryAllocator 添加了 Rust 构造函数,该构造函数使用Rust的 std::alloc 方法。需要 host_allocator 功能。

naive_device_allocator

添加了一个简单的内存分配器 NaiveDeviceMemoryAllocator,它为每个资源分别分配内存。不应在生产应用程序中使用。

multi_thread

通过使用 Arc<T>Mutex<T>(称为 VrcVutex)来启用多线程支持,而不是使用 Rc<T>RefCell<T>(包装以具有兼容的API)。

parking_lot_vutex

使用 Mutexparking_lot crate 代替标准库。需要 multi_thread 功能。

insecure_hash

使用 rustc_hash::{FxHashMap, FxHashSet} 代替 std::collections::{HashMap, HashSet}(称为 VHashMapVHashSet)。

runtime_implicit_validations

一些隐式验证无法进行静态检查。此功能可以启用对这些验证的运行时检查。请注意,在某些情况下,例如实例创建和扩展名检查,验证是输入参数转换的一部分,关闭它不会带来任何优势。

这些验证可能并不便宜。建议仅在调试时启用它们,而不是在发布/生产构建中。

vulkan1_1vulkan1_2

vulkan1_1 启用的方法在 Vulkan 1.0 上会引发恐慌

vulkan1_2 启用的方法在 Vulkan 1.0 和 1.1 上会引发恐慌。需要 vulkan1_1 功能。

log_max_level_*log_release_max_level_*

这些功能直接对应于 log 库上的功能。

依赖项

~6.5MB
~152K SLoC