Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 23 additions & 1 deletion analysis/src/item/structure.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::{
decl::{Decl, Ty},
item::{Named, RequireMap, RequiredBy},
name::TypeName,
name::{EnumeratorName, TypeName, VariableName},
xml,
};
use std::{cmp::Ordering, ops::Range};
Expand All @@ -23,9 +23,16 @@ pub enum StructMember {
pub struct Struct {
pub required_by: RequiredBy,
pub name: TypeName,
pub structure_type: Option<StructureType>,
pub members: Vec<StructMember>,
}

#[derive(Debug)]
pub struct StructureType {
pub enumerator: EnumeratorName,
pub ty: TypeName,
Comment thread
BitSyndicate1 marked this conversation as resolved.
Outdated
}

impl Named<TypeName> for Struct {
fn name(&self) -> TypeName {
self.name
Expand All @@ -40,6 +47,9 @@ impl Struct {

let mut members = Vec::new();
let mut used_bitwidth = None;

let mut structure_type = None;

for member in &xml.members {
let decl = Decl::from_c(require_map, &member.c_decl);
if let Some(width) = member.c_decl.bitfield_width {
Expand Down Expand Up @@ -72,13 +82,25 @@ impl Struct {
}
} else {
assert_eq!(used_bitwidth, None, "bitfield not fully used");
// should exist only once
if let Some(value) = member.values
&& let Ty::SpecType(ty) = decl.ty
&& ty.original() == "VkStructureType"
&& decl.name.original() == "sType"
{
structure_type = Some(StructureType {
enumerator: EnumeratorName::new(value),
ty,
});
}
members.push(StructMember::Normal(decl));
}
}

Some(Struct {
required_by,
name: xml.name,
structure_type,
members,
})
}
Expand Down
9 changes: 9 additions & 0 deletions ash-rewrite/src/generated/amd/anti_lag.rs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ pub(crate) mod reexport {
pub anti_lag: crate::vk::Bool32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a> for PhysicalDeviceAntiLagFeaturesAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct AntiLagDataAMD<'a> {
Expand All @@ -53,6 +56,9 @@ pub(crate) mod reexport {
pub p_presentation_info: *const crate::vk::AntiLagPresentationInfoAMD<'a>,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a> for AntiLagDataAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::ANTI_LAG_DATA_AMD;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct AntiLagPresentationInfoAMD<'a> {
Expand All @@ -62,6 +68,9 @@ pub(crate) mod reexport {
pub frame_index: u64,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a> for AntiLagPresentationInfoAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::ANTI_LAG_PRESENTATION_INFO_AMD;
}
///Provided by [`amd::anti_lag`](crate::amd::anti_lag)
impl crate::vk::StructureType {
pub const PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD: Self = Self(1000476000);
Expand Down
4 changes: 4 additions & 0 deletions ash-rewrite/src/generated/amd/device_coherent_memory.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ pub struct PhysicalDeviceCoherentMemoryFeaturesAMD<'a> {
pub device_coherent_memory: crate::vk::Bool32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PhysicalDeviceCoherentMemoryFeaturesAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD;
}
///Provided by [`amd::device_coherent_memory`](crate::amd::device_coherent_memory)
impl crate::vk::StructureType {
pub const PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: Self = Self(1000229000);
Expand Down
8 changes: 8 additions & 0 deletions ash-rewrite/src/generated/amd/display_native_hdr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ pub(crate) mod reexport {
pub local_dimming_support: crate::vk::Bool32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for DisplayNativeHdrSurfaceCapabilitiesAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct SwapchainDisplayNativeHdrCreateInfoAMD<'a> {
Expand All @@ -52,6 +56,10 @@ pub(crate) mod reexport {
pub local_dimming_enable: crate::vk::Bool32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for SwapchainDisplayNativeHdrCreateInfoAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD;
}
///Provided by [`amd::display_native_hdr`](crate::amd::display_native_hdr)
impl crate::vk::StructureType {
pub const DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: Self = Self(1000213000);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ pub struct DeviceMemoryOverallocationCreateInfoAMD<'a> {
pub overallocation_behavior: crate::vk::MemoryOverallocationBehaviorAMD,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for DeviceMemoryOverallocationCreateInfoAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD;
}
///Provided by [`amd::memory_overallocation_behavior`](crate::amd::memory_overallocation_behavior)
impl crate::vk::StructureType {
pub const DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: Self = Self(1000189000);
Expand Down
3 changes: 3 additions & 0 deletions ash-rewrite/src/generated/amd/mixed_attachment_samples.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ pub struct AttachmentSampleCountInfoAMD<'a> {
pub depth_stencil_attachment_samples: crate::vk::SampleCountFlagBits,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a> for AttachmentSampleCountInfoAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::ATTACHMENT_SAMPLE_COUNT_INFO_AMD;
}
///Provided by [`amd::mixed_attachment_samples`](crate::amd::mixed_attachment_samples)
impl crate::vk::StructureType {
pub const ATTACHMENT_SAMPLE_COUNT_INFO_AMD: Self = Self(1000044008);
Expand Down
3 changes: 3 additions & 0 deletions ash-rewrite/src/generated/amd/pipeline_compiler_control.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ pub struct PipelineCompilerControlCreateInfoAMD<'a> {
pub compiler_control_flags: crate::vk::PipelineCompilerControlFlagsAMD,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a> for PipelineCompilerControlCreateInfoAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD;
}
///Provided by [`amd::pipeline_compiler_control`](crate::amd::pipeline_compiler_control)
impl crate::vk::StructureType {
pub const PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: Self = Self(1000183000);
Expand Down
4 changes: 4 additions & 0 deletions ash-rewrite/src/generated/amd/rasterization_order.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ pub struct PipelineRasterizationStateRasterizationOrderAMD<'a> {
pub rasterization_order: crate::vk::RasterizationOrderAMD,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PipelineRasterizationStateRasterizationOrderAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
}
///Provided by [`amd::rasterization_order`](crate::amd::rasterization_order)
impl crate::vk::StructureType {
pub const PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: Self = Self(
Expand Down
4 changes: 4 additions & 0 deletions ash-rewrite/src/generated/amd/shader_core_properties.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ pub struct PhysicalDeviceShaderCorePropertiesAMD<'a> {
pub vgpr_allocation_granularity: u32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PhysicalDeviceShaderCorePropertiesAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
}
///Provided by [`amd::shader_core_properties`](crate::amd::shader_core_properties)
impl crate::vk::StructureType {
pub const PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: Self = Self(1000185000);
Expand Down
4 changes: 4 additions & 0 deletions ash-rewrite/src/generated/amd/shader_core_properties2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ pub struct PhysicalDeviceShaderCoreProperties2AMD<'a> {
pub active_compute_unit_count: u32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PhysicalDeviceShaderCoreProperties2AMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD;
}
///Provided by [`amd::shader_core_properties2`](crate::amd::shader_core_properties2)
impl crate::vk::StructureType {
pub const PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: Self = Self(1000227000);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ pub struct PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD<'a> {
pub shader_early_and_late_fragment_tests: crate::vk::Bool32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD;
}
///Provided by [`amd::shader_early_and_late_fragment_tests`](crate::amd::shader_early_and_late_fragment_tests)
impl crate::vk::StructureType {
pub const PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: Self = Self(
Expand Down
3 changes: 3 additions & 0 deletions ash-rewrite/src/generated/amd/texture_gather_bias_lod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ pub struct TextureLODGatherFormatPropertiesAMD<'a> {
pub supports_texture_gather_lod_bias_amd: crate::vk::Bool32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a> for TextureLODGatherFormatPropertiesAMD<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
}
///Provided by [`amd::texture_gather_bias_lod`](crate::amd::texture_gather_bias_lod)
impl crate::vk::StructureType {
pub const TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: Self = Self(1000041000);
Expand Down
8 changes: 8 additions & 0 deletions ash-rewrite/src/generated/amdx/dense_geometry_format.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ pub struct PhysicalDeviceDenseGeometryFormatFeaturesAMDX<'a> {
pub dense_geometry_format: crate::vk::Bool32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PhysicalDeviceDenseGeometryFormatFeaturesAMDX<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct AccelerationStructureDenseGeometryFormatTrianglesDataAMDX<'a> {
Expand All @@ -23,6 +27,10 @@ pub struct AccelerationStructureDenseGeometryFormatTrianglesDataAMDX<'a> {
pub format: crate::vk::CompressedTriangleFormatAMDX,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for AccelerationStructureDenseGeometryFormatTrianglesDataAMDX<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX;
}
///Provided by [`amdx::dense_geometry_format`](crate::amdx::dense_geometry_format)
impl crate::vk::StructureType {
pub const PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX: Self = Self(
Expand Down
20 changes: 20 additions & 0 deletions ash-rewrite/src/generated/amdx/shader_enqueue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,10 @@ pub(crate) mod reexport {
pub max_execution_graph_workgroups: u32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PhysicalDeviceShaderEnqueuePropertiesAMDX<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct PhysicalDeviceShaderEnqueueFeaturesAMDX<'a> {
Expand All @@ -163,6 +167,10 @@ pub(crate) mod reexport {
pub shader_mesh_enqueue: crate::vk::Bool32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PhysicalDeviceShaderEnqueueFeaturesAMDX<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct ExecutionGraphPipelineCreateInfoAMDX<'a> {
Expand All @@ -177,6 +185,10 @@ pub(crate) mod reexport {
pub base_pipeline_index: i32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for ExecutionGraphPipelineCreateInfoAMDX<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct PipelineShaderStageNodeCreateInfoAMDX<'a> {
Expand All @@ -186,6 +198,10 @@ pub(crate) mod reexport {
pub index: u32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PipelineShaderStageNodeCreateInfoAMDX<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct ExecutionGraphPipelineScratchSizeAMDX<'a> {
Expand All @@ -196,6 +212,10 @@ pub(crate) mod reexport {
pub size_granularity: crate::vk::DeviceSize,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for ExecutionGraphPipelineScratchSizeAMDX<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct DispatchGraphInfoAMDX {
Expand Down
12 changes: 12 additions & 0 deletions ash-rewrite/src/generated/android/external_format_resolve.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ pub struct PhysicalDeviceExternalFormatResolveFeaturesANDROID<'a> {
pub external_format_resolve: crate::vk::Bool32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PhysicalDeviceExternalFormatResolveFeaturesANDROID<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct PhysicalDeviceExternalFormatResolvePropertiesANDROID<'a> {
Expand All @@ -19,6 +23,10 @@ pub struct PhysicalDeviceExternalFormatResolvePropertiesANDROID<'a> {
pub external_format_resolve_chroma_offset_y: crate::vk::ChromaLocation,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for PhysicalDeviceExternalFormatResolvePropertiesANDROID<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct AndroidHardwareBufferFormatResolvePropertiesANDROID<'a> {
Expand All @@ -27,6 +35,10 @@ pub struct AndroidHardwareBufferFormatResolvePropertiesANDROID<'a> {
pub color_attachment_format: crate::vk::Format,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for AndroidHardwareBufferFormatResolvePropertiesANDROID<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID;
}
///Provided by [`android::external_format_resolve`](crate::android::external_format_resolve)
impl crate::vk::StructureType {
pub const PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID: Self = Self(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ pub(crate) mod reexport {
pub buffer: *mut crate::platform_types::AHardwareBuffer,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for ImportAndroidHardwareBufferInfoANDROID<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct AndroidHardwareBufferUsageANDROID<'a> {
Expand All @@ -68,6 +72,10 @@ pub(crate) mod reexport {
pub android_hardware_buffer_usage: u64,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for AndroidHardwareBufferUsageANDROID<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::ANDROID_HARDWARE_BUFFER_USAGE_ANDROID;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct AndroidHardwareBufferPropertiesANDROID<'a> {
Expand All @@ -77,6 +85,10 @@ pub(crate) mod reexport {
pub memory_type_bits: u32,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for AndroidHardwareBufferPropertiesANDROID<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct MemoryGetAndroidHardwareBufferInfoANDROID<'a> {
Expand All @@ -85,6 +97,10 @@ pub(crate) mod reexport {
pub memory: crate::vk::DeviceMemory,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for MemoryGetAndroidHardwareBufferInfoANDROID<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct AndroidHardwareBufferFormatPropertiesANDROID<'a> {
Expand All @@ -100,6 +116,10 @@ pub(crate) mod reexport {
pub suggested_y_chroma_offset: crate::vk::ChromaLocation,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for AndroidHardwareBufferFormatPropertiesANDROID<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct ExternalFormatANDROID<'a> {
Expand All @@ -108,6 +128,9 @@ pub(crate) mod reexport {
pub external_format: u64,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a> for ExternalFormatANDROID<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::EXTERNAL_FORMAT_ANDROID;
}
#[repr(C)]
#[derive(Clone, Copy)]
pub struct AndroidHardwareBufferFormatProperties2ANDROID<'a> {
Expand All @@ -123,6 +146,10 @@ pub(crate) mod reexport {
pub suggested_y_chroma_offset: crate::vk::ChromaLocation,
pub _marker: ::core::marker::PhantomData<&'a ()>,
}
unsafe impl<'a> crate::TaggedStructure<'a>
for AndroidHardwareBufferFormatProperties2ANDROID<'a> {
const STRUCTURE_TYPE: crate::vk::StructureType = crate::vk::StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID;
}
///Provided by [`android::external_memory_android_hardware_buffer`](crate::android::external_memory_android_hardware_buffer)
impl crate::vk::StructureType {
pub const ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: Self = Self(1000129000);
Expand Down
Loading
Loading