Skip to content

Commit

Permalink
Update Vulkan-Headers to 1.3.235 (#667)
Browse files Browse the repository at this point in the history
* Update Vulkan-Headers to 1.3.229

* Update Vulkan-Headers to 1.3.230

* Update Vulkan-Headers to 1.3.231

* Update Vulkan-Headers to 1.3.232

* Update Vulkan-Headers to 1.3.233

* Update Vulkan-Headers to 1.3.235

* README: Document experimental Vulkan Video bindings being semver-exempt
  • Loading branch information
MarijnS95 committed Nov 22, 2022
1 parent 8b45750 commit ba37cf3
Show file tree
Hide file tree
Showing 10 changed files with 10,598 additions and 3,715 deletions.
2 changes: 1 addition & 1 deletion Changelog.md
Expand Up @@ -16,7 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added

- Added `VK_EXT_image_drm_format_modifier` device extension (#603)
- Update Vulkan-Headers to 1.3.228 (#605, #608, #619, #655)
- Update Vulkan-Headers to 1.3.235 (#605, #608, #619, #655, #667)
- Added `const STRUCTURE_TYPE` to all Vulkan structures for matching with `match_struct!` macro (#614)
- Added `VK_EXT_sample_locations` device extension (#616)
- Added `VK_NV_coverage_reduction_mode` device extension (#617)
Expand Down
5 changes: 5 additions & 0 deletions README.md
Expand Up @@ -18,6 +18,11 @@ A very lightweight wrapper around Vulkan
- [x] Generated from `vk.xml`
- [x] Support for Vulkan `1.1`, `1.2`, `1.3`

## ⚠️ Semver compatibility warning
The Vulkan Video bindings are experimental and still seeing breaking changes in their upstream specification, and are only provided by Ash for early adopters. All related functions and types are semver-exempt [^1] (we allow breaking API changes while releasing Ash with non-breaking semver bumps).

[^1]: `generator` complexity makes it so that we cannot easily hide these bindings behind a non-`default` feature flag, and they are widespread across the generated codebase.

## Features
### Explicit returns with `Result`
```rust
Expand Down
2 changes: 1 addition & 1 deletion ash/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "ash"
version = "0.37.0+1.3.228"
version = "0.37.0+1.3.235"
authors = ["maik klein <maikklein@googlemail.com>"]
description = "Vulkan bindings for Rust"
license = "MIT OR Apache-2.0"
Expand Down
79 changes: 79 additions & 0 deletions ash/src/vk/bitflags.rs
Expand Up @@ -923,6 +923,14 @@ impl PipelineCreationFeedbackFlags {
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkMemoryDecompressionMethodFlagBitsNV.html>"]
pub struct MemoryDecompressionMethodFlagsNV(pub(crate) Flags64);
vk_bitflags_wrapped!(MemoryDecompressionMethodFlagsNV, Flags64);
impl MemoryDecompressionMethodFlagsNV {
pub const GDEFLATE_1_0: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPerformanceCounterDescriptionFlagBitsKHR.html>"]
pub struct PerformanceCounterDescriptionFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(PerformanceCounterDescriptionFlagsKHR, Flags);
Expand Down Expand Up @@ -1127,6 +1135,14 @@ impl GraphicsPipelineLibraryFlagsEXT {
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDeviceAddressBindingFlagBitsEXT.html>"]
pub struct DeviceAddressBindingFlagsEXT(pub(crate) Flags);
vk_bitflags_wrapped!(DeviceAddressBindingFlagsEXT, Flags);
impl DeviceAddressBindingFlagsEXT {
pub const INTERNAL_OBJECT: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkVideoCodecOperationFlagBitsKHR.html>"]
pub struct VideoCodecOperationFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(VideoCodecOperationFlagsKHR, Flags);
Expand Down Expand Up @@ -1542,3 +1558,66 @@ impl ImageCompressionFixedRateFlagsEXT {
pub const TYPE_23BPC: Self = Self(0b100_0000_0000_0000_0000_0000);
pub const TYPE_24BPC: Self = Self(0b1000_0000_0000_0000_0000_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkOpticalFlowGridSizeFlagBitsNV.html>"]
pub struct OpticalFlowGridSizeFlagsNV(pub(crate) Flags);
vk_bitflags_wrapped!(OpticalFlowGridSizeFlagsNV, Flags);
impl OpticalFlowGridSizeFlagsNV {
pub const UNKNOWN: Self = Self(0);
pub const TYPE_1X1: Self = Self(0b1);
pub const TYPE_2X2: Self = Self(0b10);
pub const TYPE_4X4: Self = Self(0b100);
pub const TYPE_8X8: Self = Self(0b1000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkOpticalFlowUsageFlagBitsNV.html>"]
pub struct OpticalFlowUsageFlagsNV(pub(crate) Flags);
vk_bitflags_wrapped!(OpticalFlowUsageFlagsNV, Flags);
impl OpticalFlowUsageFlagsNV {
pub const UNKNOWN: Self = Self(0);
pub const INPUT: Self = Self(0b1);
pub const OUTPUT: Self = Self(0b10);
pub const HINT: Self = Self(0b100);
pub const COST: Self = Self(0b1000);
pub const GLOBAL_FLOW: Self = Self(0b1_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkOpticalFlowSessionCreateFlagBitsNV.html>"]
pub struct OpticalFlowSessionCreateFlagsNV(pub(crate) Flags);
vk_bitflags_wrapped!(OpticalFlowSessionCreateFlagsNV, Flags);
impl OpticalFlowSessionCreateFlagsNV {
pub const ENABLE_HINT: Self = Self(0b1);
pub const ENABLE_COST: Self = Self(0b10);
pub const ENABLE_GLOBAL_FLOW: Self = Self(0b100);
pub const ALLOW_REGIONS: Self = Self(0b1000);
pub const BOTH_DIRECTIONS: Self = Self(0b1_0000);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkOpticalFlowExecuteFlagBitsNV.html>"]
pub struct OpticalFlowExecuteFlagsNV(pub(crate) Flags);
vk_bitflags_wrapped!(OpticalFlowExecuteFlagsNV, Flags);
impl OpticalFlowExecuteFlagsNV {
pub const DISABLE_TEMPORAL_HINTS: Self = Self(0b1);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkBuildMicromapFlagBitsEXT.html>"]
pub struct BuildMicromapFlagsEXT(pub(crate) Flags);
vk_bitflags_wrapped!(BuildMicromapFlagsEXT, Flags);
impl BuildMicromapFlagsEXT {
pub const PREFER_FAST_TRACE: Self = Self(0b1);
pub const PREFER_FAST_BUILD: Self = Self(0b10);
pub const ALLOW_COMPACTION: Self = Self(0b100);
}
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkMicromapCreateFlagBitsEXT.html>"]
pub struct MicromapCreateFlagsEXT(pub(crate) Flags);
vk_bitflags_wrapped!(MicromapCreateFlagsEXT, Flags);
impl MicromapCreateFlagsEXT {
pub const DEVICE_ADDRESS_CAPTURE_REPLAY: Self = Self(0b1);
}

0 comments on commit ba37cf3

Please sign in to comment.