All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add
features
utilities module for checking supported features - Add
features
example showcasing thefeatures
module - Introduce
ObjectHandle
trait
- Update Vulkan Headers to version 213
- Change from
Box
to reference increate_{instance,device}_fn
- Pointer chain wrapper args are now a mut ref
- Update
raw-window-handle
to 0.5
0.22.0+204 - 2022-01-25
- Vulkan 1.3 support
- Add
DeviceLoaderBuilder::build_with_existing_device
. - Add
#[must_use]
attribute to builder methods
- Only use
build_dangling
for structs which directly have pointers - Update Vulkan Headers to version 204
- Support alternate formatting rules in VulkanResult
0.21.0+202 - 2021-12-11
- Add callback to wrappers returning a vector of extendable structs
- Add Builders for Instance and Device loaders to cover more advanced use cases
- Add
custom_loaders
example, showcasing usage of the new advanced loader APIs
- Update Vulkan Headers to version 202
- Update
raw-window-handle
to 0.4 - Rename
.build()
to.build_dangling()
to make it look less innocent - Optimize construction of larger pointer chains
- Simplify function definitions containing handles
- Deprecate several invalid enum variants
- Improved clarity of
cstr!
macro implementation (!9)
- Wrappers now return instead of taking a
&mut
in more cases - Fix over-agressive trimming of "BIT" in enum variants
0.20.0+190 - 2021-08-30
- Added associated constants for structure types on structs
- Update Vulkan Headers to version 190
- Derive
Hash
,Eq
on applicable structs - Use a
SmallVec
instead of aVec
when returning collections
- Fix erroneous instance version calculation
- Fix function definition of
vkVoidFunction
- Correct the error handling implementation
0.19.0+182 - 2021-06-21
- Added versioning warning to provisional/beta extensions
- Allow for more ergonomic custom instance and device creation functions (useful for e.g. OpenXR)
- Update Vulkan Headers to version 182
- Mark
{Instance,Device}Loader::new
functions unsafe - Simplified function wrapper arguments
- Split
ExtendableFrom
intoConst
andMut
variants - Remove function-specific "function not loaded" error messages
- Expose
FramebufferCreateInfoBuilder::attachment_count
- Restructure
EntryLoader
namingDefaultEntryLoader
->EntryLoader
EntryLoader
->CustomEntryLoader
- Fix possible violation of spec (
pSampleMask
)
0.18.0+174 - 2021-03-29
- Added
VulkanResult::map_err
- Added
object_handle
method on handles - Optional bytemuck support for some hand-picked structs (
*IndirectCommand
, etc.)
- Update Vulkan Headers to version 174
- Bit-field support (Wrong layout of
VkAccelerationStructureInstanceKHR
) (#10) - Fixed compilation errors in the
surface
module on macOS (!6)
0.17.1+169 - 2021-02-09
- Fix nightly rustdoc errors
0.17.0+169 - 2021-02-09
- Added rustdoc alias support
- Added
vk
module, which re-exports every Vulkan item
- Update
libloading
to 0.7 - Update Vulkan Headers to version 169
- Improved the idiomaticity of the
{Instance,Device}Enabled::new
API - Transition to intra-doc links in the rustdoc
0.16.0+162 - 2020-11-24
- Update Vulkan Headers to version 162
- Deprecate the included allocator in favor of
gpu-alloc
- The
{Entry,Instance,Device}Enabled
information can now only be accessed through read-only getters
0.15.0+157 - 2020-10-12
- Update Vulkan Headers to version 157
- Don't use
std::ffi::c_void
for the return type of functions - Fix data types of
GgpStreamDescriptor
andGgpFrameToken
0.14.0+154 - 2020-09-21
- Add
#[track_caller]
toVulkanResult
- Add
Allocation::memory
, allowing access to the innerDeviceMemory
handle
- Update Vulkan Headers to version 154
- Add
#[repr(transparent)]
to enums/flagbits
0.13.0+150 - 2020-08-10
- Add
#[must_use]
toExtendableFrom::extend_from
- Accept null return values in the loaders
- Update Vulkan Headers to version 150
- Fix memory mapper calculations (!5)
0.12.0+149 - 2020-08-04
- Add
DefaultEntryLoader::with_lib_path
- Update Vulkan Headers to version 149
- Fix loader not loading certain functions
0.11.0+148 - 2020-07-21
- Rewrite generator from scratch
- Rework loader functionality
- Update Vulkan Headers to version 148
0.10.0+145 - 2020-06-21
- Derive
Ord
andPartialOrd
for enums - Implement
Debug
for loaders
- Fix some enum variants missing
0.9.0+143 - 2020-06-08
- Fix reversed array order
- Fix loaders failing on partial command availability
- Update Vulkan Headers to version 143
0.8.0+142 - 2020-06-01
- Add confirmed platform support in the README
- Update Vulkan Headers to version 142
- Support an extra layer of nested pointers
- Update surface util based on latest
ash-window
changes
- Fix surface format selection fallback in triangle example
0.7.0+141 - 2020-05-15
- Add documentation example for the allocator
- Add
DefaultCoreLoader
alias - Better builder support for void pointers
- Update Vulkan Headers to version 141
- Rename
erupt-examples
toerupt_examples
- Make
compile-shaders.sh
directory independent
- Fix extension ordering
0.6.0+140 - 2020-05-04
- Add basic Vulkan memory allocator to
utils
- Add compute example, making use of the new allocator
- Update Vulkan Headers to version 140
- Check for supported Vulkan version in
pointer-chain
example - Convert
Bool32
tobool
in function wrapper return type
0.5.1+139 - 2020-04-28
- Update Vulkan Headers to version 139
0.5.0+137 - 2020-04-26
- Add
LibraryError
wrapper type to avoid exposinglibloading
types - Add
try_vk
macro, liketry
, but forVulkanResult
- Add Manual Page to Builder Documentation
- Add
#[inline]
toVulkanResult
functions
- Change cargo feature representation in the README
- Make use of
try_vk
in Instance Creation Example - Move loading to it's own module
- Move examples to bin dir to avoid manual entries
- Switch to Rust 1.43 associated constants in triangle example
- Add special cases for some builders
0.4.0+137 - 2020-04-19
- Add compile time comparison to the FAQ
- Switch to generic
ExtendableBy
trait - Correct README title indents
- Remove redundant
info
module
- Fix small
VulkanResult
fmt nitpicks - Fix more small generator nitpicks
0.3.0+137 - 2020-04-18
- Add
utils::decode_spv
- Add FAQ to README
- Implement
Error
andDisplay
forvk1_0::Result
- Switch to
&[u32]
inShaderModuleCreateInfoBuilder
- Fix small generator nitpicks
0.2.0+137 - 2020-04-17
- Add safety warning to
extend
functions
- Mark
extend
functions as unsafe - Update
Vulkan-Headers
submodule - Refactor
pointer-chain
example
0.1.1+137 - 2020-04-16
- Add Vulkan Header version build metadata in semver
- Switch to zlib license
- Fix wrong relative path in documention
0.1.0 - 2020-04-15
Initial Development