# dacite Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). Items listed in "Changed" sub-sections are usually breaking changes. Any additional breaking changes in other sub-sections are prefixed with "**BREAKING**" to increase visibility. ## [0.7.0] - 2017-09-19 This release contains breaking changes. ### Fixed - Disabled extensions are no longer loaded ### Changed - Bumped lowest supported Rust version to 1.20. - Updated `vks` to 0.20. - Updated `bitflags` to version 1.0. All bitflags values are now associated consts. - The `FlagBits` types are now proper enums instead of simple aliases for `Flags`. This provides an additional layer of type safety. Vulkan uses `FlagBits` types, whenever only a single bit is supposed to be set. ## [0.6.1] - 2017-07-09 ### Added - Vulkan 1.0.26, 1.0.27, 1.0.28, 1.0.29, 1.0.30 - Extension `VK_EXT_validation_flags` (revision 1) - Extension `VK_AMD_gpu_shader_half_float` (revision 1) - Extension `VK_EXT_debug_marker` (revision 3) ## [0.6.0] - 2017-07-08 This release contains breaking changes. ### Added - Vulkan 1.0.22, 1.0.23, 1.0.24, 1.0.25 - Extension `VK_IMG_format_pvrtc` (revision 1) - Extension `VK_AMD_draw_indirect_count` (revision 1) - Extension `VK_NV_external_memory_capabilities` (revision 1) - Extension `VK_NV_external_memory` (revision 1) - Extension `VK_NV_external_memory_win32` (revision 1) - Extension `VK_NV_win32_keyed_mutex` (revision 1) - **BREAKING**: New variant `FragmentedPool` added to `core::Error`. - **BREAKING**: Added several variants to `core::Format` (from `VK_IMG_format_pvrtc`). ## [0.5.1] - 2017-07-08 ### Added - Vulkan 1.0.21 - Added the following functions to `core::PhysicalDeviceFeatures`: `new`, `all`, `empty`, `is_empty`, `difference`, `intersection` and `union`. ## [0.5.0] - 2017-07-02 This release contains breaking changes. ### Added - Vulkan 1.0.14, 1.0.15, 1.0.16, 1.0.17, 1.0.18, 1.0.19, 1.0.20 - Extension `VK_AMD_shader_trinary_minmax` (revision 1) - Extension `VK_AMD_shader_explicit_vertex_parameter` (revision 1) - Extension `VK_AMD_gcn_shader` (revision 1) - Extension `VK_NV_dedicated_allocation` (revision 1) ### Changed - All occurrences of `Option>` have been changed to just `Vec` in the following structs: - `core::SubmitInfo` - `core::BindSparseInfo` - `core::BufferCreateInfo` - `core::ImageCreateInfo` - `core::PipelineCacheCreateInfo` - `core::SpecializationInfo` - `core::PipelineVertexInputStateCreateInfo` - `core::PipelineMultisampleStateCreateInfo` - `core::PipelineColorBlendStateCreateInfo` - `core::PipelineLayoutCreateInfo` - `core::DescriptorSetLayoutBinding` - `core::DescriptorSetLayoutCreateInfo` - `core::FramebufferCreateInfo` - `core::SubpassDescription` - `core::RenderPassCreateInfo` - `core::RenderPassBeginInfo` - `khr_swapchain::SwapchainCreateInfoKhr` - `khr_swapchain::PresentInfoKhr` - Added `core::SpecializationInfo::push`, which can be used to add entries to a `core::SpecializationInfo`. ### Removed - **BREAKING**: The builder `core::SpecializationInfoBuilder` has been removed. Entries to a `core::SpecializationInfo` can now be added conveniently with `core::SpecializationInfo::push`. ## [0.4.0] - 2017-06-25 This release contains breaking changes. ### Added - Vulkan 1.0.13 - Added several convenience functions: - `core::Offset2D`: `new()`, `zero()`, `from_3d()` - `core::Offset3D`: `new()`, `zero()`, `from_2d()` - `core::Extent2D`: `new()`, `zero()`, `from_3d()` - `core::Extent3D`: `new()`, `zero()`, `from_2d()` - `core::ComponentMapping`: `identity()` - `core::Rect2D`: `new()` - Added `VulkanObject::id()`, which returns the handle cast to a `u64`. See the documentation of that function for more information. - Added a new trait `FromNativeObject`, which can be used to create dacite Vulkan objects from native FFI objects. The trait is implemented for types except `Instance` and `Device`. - Added version constant `DACITE_API_VERSION_1_0`. ### Changed - Vks was updated to 0.19.x. - `core::Queue::bind_sparse()` takes `Fence` as a reference. - `core::Queue::submit()` takes `Fence` as a reference. ## [0.3.6] - 2017-06-11 ### Added - Vulkan 1.0.12 - Extension `VK_AMD_rasterization_order` (revision 1) ## [0.3.5] - 2017-06-09 ### Added - Vulkan 1.0.11 - Bump `VK_KHR_swapchain` to revision 68. ## [0.3.4] - 2017-06-09 ### Added - Vulkan 1.0.10 ## [0.3.3] - 2017-06-08 ### Added - Vulkan 1.0.9 ## [0.3.2] - 2017-06-08 ### Added - Vulkan 1.0.8 - Dacite can now be built with stable Rust 1.18.0. ## [0.3.1] - 2017-06-07 ### Added - Vulkan 1.0.7 ## [0.3.0] - 2017-06-06 This release contains breaking changes. ### Added - Vulkan 1.0.6 - Extension `VK_IMG_filter_cubic` (revision 1) - **BREAKING**: New variant `CubicImg` added to `core::Filter` (from `VK_IMG_filter_cubic`). ### Changed - The following functions of `core::PhysicalDevice` have been renamed: - `properties` -> `get_properties` - `features` -> `get_features` - `format_properties` -> `get_format_properties` - `image_format_properties` -> `get_image_format_properties` - `sparse_image_format_properties` -> `get_sparse_image_format_properties` - `queue_family_properties` -> `get_queue_family_properties` - `memory_properties` -> `get_memory_properties` - The following functions no longer return an iterator, but instead behave like `std::iter::Iterator::collect` (all iterator types have been removed in the process): - `core::Instance::enumerate_instance_layer_properties` - `core::PhysicalDevice::enumerate_device_layer_properties` - `core::PhysicalDevice::get_sparse_image_format_properties` - `core::PhysicalDevice::get_queue_family_properties` - `core::PhysicalDevice::get_surface_support_khr` - `core::PhysicalDevice::get_surface_present_modes_khr` - `core::Image::get_sparse_memory_requirements` - The following functions have also been changed to behave like `std::iter::Iterator::collect` instead of always returning a `Vec`: - `core::PhysicalDevice::get_queue_family_properties2_khr` - `core::PhysicalDevice::get_sparse_image_format_properties2_khr` ## [0.2.0] - 2017-06-05 This release contains breaking changes. ### Added - Vulkan 1.0.5 - Extension `VK_NV_glsl_shader` (revision 1) - **BREAKING**: New variant `InvalidShaderNv` added to `core::Error` (from `VK_NV_glsl_shader`). ## [0.1.0] - 2017-06-05 This is the initial release of dacite. ### Added - Support for Vulkan 1.0.4, all (mostly WSI) extensions up to that point and additionally `VK_KHR_get_surface_capabilities2`.