Skip to content

Commit

Permalink
Update Vulkan-Headers to 1.3.236
Browse files Browse the repository at this point in the history
  • Loading branch information
MarijnS95 committed Dec 1, 2022
1 parent 69c56ea commit 9a6f47a
Show file tree
Hide file tree
Showing 7 changed files with 250 additions and 25 deletions.
4 changes: 4 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Replaced builders with lifetimes/setters directly on Vulkan structs (#602)
- Inlined struct setters (#602)

### Added

- Update Vulkan-Headers to 1.3.236 (#688)

### Removed

- Removed experimental AMD extensions (#607)
Expand Down
2 changes: 1 addition & 1 deletion ash/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ash"
version = "0.37.0+1.3.235"
version = "0.37.0+1.3.236"
authors = ["maik klein <maikklein@googlemail.com>"]
description = "Vulkan bindings for Rust"
license = "MIT OR Apache-2.0"
Expand Down
25 changes: 25 additions & 0 deletions ash/src/vk/const_debugs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1404,6 +1404,26 @@ impl fmt::Debug for DeviceQueueCreateFlags {
debug_flags(f, KNOWN, self.0)
}
}
impl fmt::Debug for DirectDriverLoadingFlagsLUNARG {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
const KNOWN: &[(Flags, &str)] = &[];
debug_flags(f, KNOWN, self.0)
}
}
impl fmt::Debug for DirectDriverLoadingModeLUNARG {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let name = match *self {
Self::EXCLUSIVE => Some("EXCLUSIVE"),
Self::INCLUSIVE => Some("INCLUSIVE"),
_ => None,
};
if let Some(x) = name {
f.write_str(x)
} else {
self.0.fmt(f)
}
}
}
impl fmt::Debug for DirectFBSurfaceCreateFlagsEXT {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
const KNOWN: &[(Flags, &str)] = &[];
Expand Down Expand Up @@ -5766,6 +5786,8 @@ impl fmt::Debug for StructureType {
Self::RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT => {
Some("RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT")
}
Self::DIRECT_DRIVER_LOADING_INFO_LUNARG => Some("DIRECT_DRIVER_LOADING_INFO_LUNARG"),
Self::DIRECT_DRIVER_LOADING_LIST_LUNARG => Some("DIRECT_DRIVER_LOADING_LIST_LUNARG"),
Self::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT => {
Some("PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT")
}
Expand Down Expand Up @@ -5810,6 +5832,9 @@ impl fmt::Debug for StructureType {
Some("PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC")
}
Self::AMIGO_PROFILING_SUBMIT_INFO_SEC => Some("AMIGO_PROFILING_SUBMIT_INFO_SEC"),
Self::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM => {
Some("PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM")
}
Self::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV => {
Some("PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV")
}
Expand Down
159 changes: 151 additions & 8 deletions ash/src/vk/definitions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ pub const API_VERSION_1_1: u32 = make_api_version(0, 1, 1, 0);
pub const API_VERSION_1_2: u32 = make_api_version(0, 1, 2, 0);
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_API_VERSION_1_3.html>"]
pub const API_VERSION_1_3: u32 = make_api_version(0, 1, 3, 0);
pub const HEADER_VERSION: u32 = 235u32;
pub const HEADER_VERSION: u32 = 236u32;
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_HEADER_VERSION_COMPLETE.html>"]
pub const HEADER_VERSION_COMPLETE: u32 = make_api_version(0, 1, 3, HEADER_VERSION);
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSampleMask.html>"]
Expand Down Expand Up @@ -149,6 +149,11 @@ pub struct AccelerationStructureMotionInstanceFlagsNV(pub(crate) Flags);
vk_bitflags_wrapped!(AccelerationStructureMotionInstanceFlagsNV, Flags);
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDirectDriverLoadingFlagsLUNARG.html>"]
pub struct DirectDriverLoadingFlagsLUNARG(pub(crate) Flags);
vk_bitflags_wrapped!(DirectDriverLoadingFlagsLUNARG, Flags);
#[repr(transparent)]
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDisplayModeCreateFlagsKHR.html>"]
pub struct DisplayModeCreateFlagsKHR(pub(crate) Flags);
vk_bitflags_wrapped!(DisplayModeCreateFlagsKHR, Flags);
Expand Down Expand Up @@ -520,6 +525,11 @@ pub type PFN_vkDeviceMemoryReportCallbackEXT = Option<
p_user_data: *mut c_void,
),
>;
#[allow(non_camel_case_types)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/PFN_vkGetInstanceProcAddr.html>"]
pub type PFN_vkGetInstanceProcAddr = Option<
unsafe extern "system" fn(instance: Instance, p_name: *const c_char) -> PFN_vkVoidFunction,
>;
#[repr(C)]
#[cfg_attr(feature = "debug", derive(Debug))]
#[derive(Copy, Clone)]
Expand Down Expand Up @@ -36925,8 +36935,8 @@ pub struct VideoDecodeH265PictureInfoEXT<'a> {
pub s_type: StructureType,
pub p_next: *const c_void,
pub p_std_picture_info: *mut StdVideoDecodeH265PictureInfo,
pub slice_count: u32,
pub p_slice_offsets: *const u32,
pub slice_segment_count: u32,
pub p_slice_segment_offsets: *const u32,
pub _marker: PhantomData<&'a ()>,
}
impl ::std::default::Default for VideoDecodeH265PictureInfoEXT<'_> {
Expand All @@ -36936,8 +36946,8 @@ impl ::std::default::Default for VideoDecodeH265PictureInfoEXT<'_> {
s_type: Self::STRUCTURE_TYPE,
p_next: ::std::ptr::null(),
p_std_picture_info: ::std::ptr::null_mut(),
slice_count: u32::default(),
p_slice_offsets: ::std::ptr::null(),
slice_segment_count: u32::default(),
p_slice_segment_offsets: ::std::ptr::null(),
_marker: PhantomData,
}
}
Expand All @@ -36956,9 +36966,9 @@ impl<'a> VideoDecodeH265PictureInfoEXT<'a> {
self
}
#[inline]
pub fn slice_offsets(mut self, slice_offsets: &'a [u32]) -> Self {
self.slice_count = slice_offsets.len() as _;
self.p_slice_offsets = slice_offsets.as_ptr();
pub fn slice_segment_offsets(mut self, slice_segment_offsets: &'a [u32]) -> Self {
self.slice_segment_count = slice_segment_offsets.len() as _;
self.p_slice_segment_offsets = slice_segment_offsets.as_ptr();
self
}
}
Expand Down Expand Up @@ -46490,3 +46500,136 @@ impl<'a> PhysicalDeviceRayTracingInvocationReorderPropertiesNV<'a> {
self
}
}
#[repr(C)]
#[derive(Copy, Clone)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDirectDriverLoadingInfoLUNARG.html>"]
pub struct DirectDriverLoadingInfoLUNARG<'a> {
pub s_type: StructureType,
pub p_next: *mut c_void,
pub flags: DirectDriverLoadingFlagsLUNARG,
pub pfn_get_instance_proc_addr: PFN_vkGetInstanceProcAddr,
pub _marker: PhantomData<&'a ()>,
}
#[cfg(feature = "debug")]
impl fmt::Debug for DirectDriverLoadingInfoLUNARG<'_> {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
fmt.debug_struct("DirectDriverLoadingInfoLUNARG")
.field("s_type", &self.s_type)
.field("p_next", &self.p_next)
.field("flags", &self.flags)
.field(
"pfn_get_instance_proc_addr",
&(self.pfn_get_instance_proc_addr.map(|x| x as *const ())),
)
.finish()
}
}
impl ::std::default::Default for DirectDriverLoadingInfoLUNARG<'_> {
#[inline]
fn default() -> Self {
Self {
s_type: Self::STRUCTURE_TYPE,
p_next: ::std::ptr::null_mut(),
flags: DirectDriverLoadingFlagsLUNARG::default(),
pfn_get_instance_proc_addr: PFN_vkGetInstanceProcAddr::default(),
_marker: PhantomData,
}
}
}
unsafe impl<'a> TaggedStructure for DirectDriverLoadingInfoLUNARG<'a> {
const STRUCTURE_TYPE: StructureType = StructureType::DIRECT_DRIVER_LOADING_INFO_LUNARG;
}
impl<'a> DirectDriverLoadingInfoLUNARG<'a> {
#[inline]
pub fn flags(mut self, flags: DirectDriverLoadingFlagsLUNARG) -> Self {
self.flags = flags;
self
}
#[inline]
pub fn pfn_get_instance_proc_addr(
mut self,
pfn_get_instance_proc_addr: PFN_vkGetInstanceProcAddr,
) -> Self {
self.pfn_get_instance_proc_addr = pfn_get_instance_proc_addr;
self
}
}
#[repr(C)]
#[cfg_attr(feature = "debug", derive(Debug))]
#[derive(Copy, Clone)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDirectDriverLoadingListLUNARG.html>"]
pub struct DirectDriverLoadingListLUNARG<'a> {
pub s_type: StructureType,
pub p_next: *mut c_void,
pub mode: DirectDriverLoadingModeLUNARG,
pub driver_count: u32,
pub p_drivers: *const DirectDriverLoadingInfoLUNARG<'a>,
pub _marker: PhantomData<&'a ()>,
}
impl ::std::default::Default for DirectDriverLoadingListLUNARG<'_> {
#[inline]
fn default() -> Self {
Self {
s_type: Self::STRUCTURE_TYPE,
p_next: ::std::ptr::null_mut(),
mode: DirectDriverLoadingModeLUNARG::default(),
driver_count: u32::default(),
p_drivers: ::std::ptr::null(),
_marker: PhantomData,
}
}
}
unsafe impl<'a> TaggedStructure for DirectDriverLoadingListLUNARG<'a> {
const STRUCTURE_TYPE: StructureType = StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG;
}
unsafe impl ExtendsInstanceCreateInfo for DirectDriverLoadingListLUNARG<'_> {}
impl<'a> DirectDriverLoadingListLUNARG<'a> {
#[inline]
pub fn mode(mut self, mode: DirectDriverLoadingModeLUNARG) -> Self {
self.mode = mode;
self
}
#[inline]
pub fn drivers(mut self, drivers: &'a [DirectDriverLoadingInfoLUNARG]) -> Self {
self.driver_count = drivers.len() as _;
self.p_drivers = drivers.as_ptr();
self
}
}
#[repr(C)]
#[cfg_attr(feature = "debug", derive(Debug))]
#[derive(Copy, Clone)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM.html>"]
pub struct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM<'a> {
pub s_type: StructureType,
pub p_next: *mut c_void,
pub multiview_per_view_viewports: Bool32,
pub _marker: PhantomData<&'a ()>,
}
impl ::std::default::Default for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM<'_> {
#[inline]
fn default() -> Self {
Self {
s_type: Self::STRUCTURE_TYPE,
p_next: ::std::ptr::null_mut(),
multiview_per_view_viewports: Bool32::default(),
_marker: PhantomData,
}
}
}
unsafe impl<'a> TaggedStructure for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM<'a> {
const STRUCTURE_TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM;
}
unsafe impl ExtendsPhysicalDeviceFeatures2
for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM<'_>
{
}
unsafe impl ExtendsDeviceCreateInfo for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM<'_> {}
impl<'a> PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM<'a> {
#[inline]
pub fn multiview_per_view_viewports(mut self, multiview_per_view_viewports: bool) -> Self {
self.multiview_per_view_viewports = multiview_per_view_viewports.into();
self
}
}
18 changes: 18 additions & 0 deletions ash/src/vk/enums.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1136,6 +1136,24 @@ impl RayTracingInvocationReorderModeNV {
}
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
#[repr(transparent)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDirectDriverLoadingModeLUNARG.html>"]
pub struct DirectDriverLoadingModeLUNARG(pub(crate) i32);
impl DirectDriverLoadingModeLUNARG {
#[inline]
pub const fn from_raw(x: i32) -> Self {
Self(x)
}
#[inline]
pub const fn as_raw(self) -> i32 {
self.0
}
}
impl DirectDriverLoadingModeLUNARG {
pub const EXCLUSIVE: Self = Self(0);
pub const INCLUSIVE: Self = Self(1);
}
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
#[repr(transparent)]
#[doc = "<https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkSemaphoreType.html>"]
pub struct SemaphoreType(pub(crate) i32);
impl SemaphoreType {
Expand Down
Loading

0 comments on commit 9a6f47a

Please sign in to comment.