1个不稳定版本
0.1.0 | 2021年1月28日 |
---|
#24 in #积极
在 vulkayes-window 中使用
325KB
9K SLoC
此crate为vulkayes项目提供核心组件。
crate功能
host_allocator
和 rust_host_allocator
host_allocator
向 HostMemoryAllocator
添加了 Custom
变体。这使得类型具有大小,但允许使用自定义主机内存分配器。
rust_host_allocator
向 HostMemoryAllocator
添加了 Rust
构造函数,该构造函数使用Rust的 std::alloc
方法。需要 host_allocator
功能。
naive_device_allocator
添加了一个简单的内存分配器 NaiveDeviceMemoryAllocator
,它为每个资源分别分配内存。不应在生产应用程序中使用。
multi_thread
通过使用 Arc<T>
和 Mutex<T>
(称为 Vrc
和 Vutex
)来启用多线程支持,而不是使用 Rc<T>
和 RefCell<T>
(包装以具有兼容的API)。
parking_lot_vutex
使用 Mutex
从 parking_lot
crate 代替标准库。需要 multi_thread
功能。
insecure_hash
使用 rustc_hash::{FxHashMap, FxHashSet}
代替 std::collections::{HashMap, HashSet}
(称为 VHashMap
和 VHashSet
)。
runtime_implicit_validations
一些隐式验证无法进行静态检查。此功能可以启用对这些验证的运行时检查。请注意,在某些情况下,例如实例创建和扩展名检查,验证是输入参数转换的一部分,关闭它不会带来任何优势。
这些验证可能并不便宜。建议仅在调试时启用它们,而不是在发布/生产构建中。
vulkan1_1
和 vulkan1_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