#![allow(
non_camel_case_types,
non_snake_case,
clippy::bad_bit_mask,
clippy::let_unit_value,
clippy::missing_safety_doc,
clippy::too_many_arguments,
clippy::type_complexity,
clippy::unnecessary_cast,
clippy::upper_case_acronyms,
clippy::useless_transmute
)]
use std::os::raw::c_void;
use super::*;
pub unsafe trait InputChainStruct {
const TYPE: StructureType;
fn s_type(&self) -> StructureType;
fn next(&self) -> *const c_void;
}
pub unsafe trait OutputChainStruct: InputChainStruct {
fn next_mut(&self) -> *mut c_void;
}
unsafe impl InputChainStruct for AccelerationStructureBuildGeometryInfoKHR {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureBuildSizesInfoKHR {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureCaptureDescriptorDataInfoEXT {
const TYPE: StructureType =
StructureType::ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureCreateInfoKHR {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureCreateInfoNV {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureDeviceAddressInfoKHR {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureGeometryAabbsDataKHR {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureGeometryInstancesDataKHR {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureGeometryKHR {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureGeometryMotionTrianglesDataNV {
const TYPE: StructureType =
StructureType::ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureGeometryTrianglesDataKHR {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureInfoNV {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureMemoryRequirementsInfoNV {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureMotionInfoNV {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_MOTION_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureTrianglesDisplacementMicromapNV {
const TYPE: StructureType =
StructureType::ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for AccelerationStructureTrianglesDisplacementMicromapNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureTrianglesOpacityMicromapEXT {
const TYPE: StructureType =
StructureType::ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for AccelerationStructureTrianglesOpacityMicromapEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for AccelerationStructureVersionInfoKHR {
const TYPE: StructureType = StructureType::ACCELERATION_STRUCTURE_VERSION_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AcquireNextImageInfoKHR {
const TYPE: StructureType = StructureType::ACQUIRE_NEXT_IMAGE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AcquireProfilingLockInfoKHR {
const TYPE: StructureType = StructureType::ACQUIRE_PROFILING_LOCK_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AmigoProfilingSubmitInfoSEC {
const TYPE: StructureType = StructureType::AMIGO_PROFILING_SUBMIT_INFO_SEC;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AndroidHardwareBufferFormatProperties2ANDROID {
const TYPE: StructureType = StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for AndroidHardwareBufferFormatProperties2ANDROID {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for AndroidHardwareBufferFormatPropertiesANDROID {
const TYPE: StructureType = StructureType::ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for AndroidHardwareBufferFormatPropertiesANDROID {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for AndroidHardwareBufferPropertiesANDROID {
const TYPE: StructureType = StructureType::ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for AndroidHardwareBufferPropertiesANDROID {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for AndroidHardwareBufferUsageANDROID {
const TYPE: StructureType = StructureType::ANDROID_HARDWARE_BUFFER_USAGE_ANDROID;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for AndroidHardwareBufferUsageANDROID {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for AndroidSurfaceCreateInfoKHR {
const TYPE: StructureType = StructureType::ANDROID_SURFACE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ApplicationInfo {
const TYPE: StructureType = StructureType::APPLICATION_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ApplicationParametersEXT {
const TYPE: StructureType = StructureType::APPLICATION_PARAMETERS_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AttachmentDescription2 {
const TYPE: StructureType = StructureType::ATTACHMENT_DESCRIPTION_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AttachmentDescriptionStencilLayout {
const TYPE: StructureType = StructureType::ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for AttachmentDescriptionStencilLayout {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for AttachmentReference2 {
const TYPE: StructureType = StructureType::ATTACHMENT_REFERENCE_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for AttachmentReferenceStencilLayout {
const TYPE: StructureType = StructureType::ATTACHMENT_REFERENCE_STENCIL_LAYOUT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for AttachmentReferenceStencilLayout {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for AttachmentSampleCountInfoAMD {
const TYPE: StructureType = StructureType::ATTACHMENT_SAMPLE_COUNT_INFO_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BindAccelerationStructureMemoryInfoNV {
const TYPE: StructureType = StructureType::BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BindBufferMemoryDeviceGroupInfo {
const TYPE: StructureType = StructureType::BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BindBufferMemoryInfo {
const TYPE: StructureType = StructureType::BIND_BUFFER_MEMORY_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BindImageMemoryDeviceGroupInfo {
const TYPE: StructureType = StructureType::BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BindImageMemoryInfo {
const TYPE: StructureType = StructureType::BIND_IMAGE_MEMORY_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BindImageMemorySwapchainInfoKHR {
const TYPE: StructureType = StructureType::BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BindImagePlaneMemoryInfo {
const TYPE: StructureType = StructureType::BIND_IMAGE_PLANE_MEMORY_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BindSparseInfo {
const TYPE: StructureType = StructureType::BIND_SPARSE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BlitImageCubicWeightsInfoQCOM {
const TYPE: StructureType = StructureType::BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BlitImageInfo2 {
const TYPE: StructureType = StructureType::BLIT_IMAGE_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferCaptureDescriptorDataInfoEXT {
const TYPE: StructureType = StructureType::BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferCollectionBufferCreateInfoFUCHSIA {
const TYPE: StructureType = StructureType::BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferCollectionConstraintsInfoFUCHSIA {
const TYPE: StructureType = StructureType::BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferCollectionCreateInfoFUCHSIA {
const TYPE: StructureType = StructureType::BUFFER_COLLECTION_CREATE_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferCollectionImageCreateInfoFUCHSIA {
const TYPE: StructureType = StructureType::BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferCollectionPropertiesFUCHSIA {
const TYPE: StructureType = StructureType::BUFFER_COLLECTION_PROPERTIES_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for BufferCollectionPropertiesFUCHSIA {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferConstraintsInfoFUCHSIA {
const TYPE: StructureType = StructureType::BUFFER_CONSTRAINTS_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferCopy2 {
const TYPE: StructureType = StructureType::BUFFER_COPY_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferCreateInfo {
const TYPE: StructureType = StructureType::BUFFER_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferDeviceAddressCreateInfoEXT {
const TYPE: StructureType = StructureType::BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferDeviceAddressInfo {
const TYPE: StructureType = StructureType::BUFFER_DEVICE_ADDRESS_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferImageCopy2 {
const TYPE: StructureType = StructureType::BUFFER_IMAGE_COPY_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferMemoryBarrier {
const TYPE: StructureType = StructureType::BUFFER_MEMORY_BARRIER;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferMemoryBarrier2 {
const TYPE: StructureType = StructureType::BUFFER_MEMORY_BARRIER_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferMemoryRequirementsInfo2 {
const TYPE: StructureType = StructureType::BUFFER_MEMORY_REQUIREMENTS_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferOpaqueCaptureAddressCreateInfo {
const TYPE: StructureType = StructureType::BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferUsageFlags2CreateInfoKHR {
const TYPE: StructureType = StructureType::BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for BufferViewCreateInfo {
const TYPE: StructureType = StructureType::BUFFER_VIEW_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CalibratedTimestampInfoEXT {
const TYPE: StructureType = StructureType::CALIBRATED_TIMESTAMP_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CheckpointData2NV {
const TYPE: StructureType = StructureType::CHECKPOINT_DATA_2_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for CheckpointData2NV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for CheckpointDataNV {
const TYPE: StructureType = StructureType::CHECKPOINT_DATA_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for CheckpointDataNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for CommandBufferAllocateInfo {
const TYPE: StructureType = StructureType::COMMAND_BUFFER_ALLOCATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CommandBufferBeginInfo {
const TYPE: StructureType = StructureType::COMMAND_BUFFER_BEGIN_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CommandBufferInheritanceConditionalRenderingInfoEXT {
const TYPE: StructureType =
StructureType::COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CommandBufferInheritanceInfo {
const TYPE: StructureType = StructureType::COMMAND_BUFFER_INHERITANCE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CommandBufferInheritanceRenderPassTransformInfoQCOM {
const TYPE: StructureType =
StructureType::COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for CommandBufferInheritanceRenderPassTransformInfoQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for CommandBufferInheritanceRenderingInfo {
const TYPE: StructureType = StructureType::COMMAND_BUFFER_INHERITANCE_RENDERING_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CommandBufferInheritanceViewportScissorInfoNV {
const TYPE: StructureType = StructureType::COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CommandBufferSubmitInfo {
const TYPE: StructureType = StructureType::COMMAND_BUFFER_SUBMIT_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CommandPoolCreateInfo {
const TYPE: StructureType = StructureType::COMMAND_POOL_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ComputePipelineCreateInfo {
const TYPE: StructureType = StructureType::COMPUTE_PIPELINE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ComputePipelineIndirectBufferInfoNV {
const TYPE: StructureType = StructureType::COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ConditionalRenderingBeginInfoEXT {
const TYPE: StructureType = StructureType::CONDITIONAL_RENDERING_BEGIN_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CooperativeMatrixPropertiesKHR {
const TYPE: StructureType = StructureType::COOPERATIVE_MATRIX_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for CooperativeMatrixPropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for CooperativeMatrixPropertiesNV {
const TYPE: StructureType = StructureType::COOPERATIVE_MATRIX_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for CooperativeMatrixPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyAccelerationStructureInfoKHR {
const TYPE: StructureType = StructureType::COPY_ACCELERATION_STRUCTURE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyAccelerationStructureToMemoryInfoKHR {
const TYPE: StructureType = StructureType::COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyBufferInfo2 {
const TYPE: StructureType = StructureType::COPY_BUFFER_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyBufferToImageInfo2 {
const TYPE: StructureType = StructureType::COPY_BUFFER_TO_IMAGE_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyCommandTransformInfoQCOM {
const TYPE: StructureType = StructureType::COPY_COMMAND_TRANSFORM_INFO_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyDescriptorSet {
const TYPE: StructureType = StructureType::COPY_DESCRIPTOR_SET;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyImageInfo2 {
const TYPE: StructureType = StructureType::COPY_IMAGE_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyImageToBufferInfo2 {
const TYPE: StructureType = StructureType::COPY_IMAGE_TO_BUFFER_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyImageToImageInfoEXT {
const TYPE: StructureType = StructureType::COPY_IMAGE_TO_IMAGE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyImageToMemoryInfoEXT {
const TYPE: StructureType = StructureType::COPY_IMAGE_TO_MEMORY_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyMemoryToAccelerationStructureInfoKHR {
const TYPE: StructureType = StructureType::COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyMemoryToImageInfoEXT {
const TYPE: StructureType = StructureType::COPY_MEMORY_TO_IMAGE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyMemoryToMicromapInfoEXT {
const TYPE: StructureType = StructureType::COPY_MEMORY_TO_MICROMAP_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyMicromapInfoEXT {
const TYPE: StructureType = StructureType::COPY_MICROMAP_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CopyMicromapToMemoryInfoEXT {
const TYPE: StructureType = StructureType::COPY_MICROMAP_TO_MEMORY_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CuFunctionCreateInfoNVX {
const TYPE: StructureType = StructureType::CU_FUNCTION_CREATE_INFO_NVX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CuLaunchInfoNVX {
const TYPE: StructureType = StructureType::CU_LAUNCH_INFO_NVX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for CuModuleCreateInfoNVX {
const TYPE: StructureType = StructureType::CU_MODULE_CREATE_INFO_NVX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for D3D12FenceSubmitInfoKHR {
const TYPE: StructureType = StructureType::D3D12_FENCE_SUBMIT_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DebugMarkerMarkerInfoEXT {
const TYPE: StructureType = StructureType::DEBUG_MARKER_MARKER_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DebugMarkerObjectNameInfoEXT {
const TYPE: StructureType = StructureType::DEBUG_MARKER_OBJECT_NAME_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DebugMarkerObjectTagInfoEXT {
const TYPE: StructureType = StructureType::DEBUG_MARKER_OBJECT_TAG_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DebugReportCallbackCreateInfoEXT {
const TYPE: StructureType = StructureType::DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DebugUtilsLabelEXT {
const TYPE: StructureType = StructureType::DEBUG_UTILS_LABEL_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DebugUtilsMessengerCallbackDataEXT {
const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DebugUtilsMessengerCreateInfoEXT {
const TYPE: StructureType = StructureType::DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DebugUtilsObjectNameInfoEXT {
const TYPE: StructureType = StructureType::DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DebugUtilsObjectTagInfoEXT {
const TYPE: StructureType = StructureType::DEBUG_UTILS_OBJECT_TAG_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DedicatedAllocationBufferCreateInfoNV {
const TYPE: StructureType = StructureType::DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DedicatedAllocationImageCreateInfoNV {
const TYPE: StructureType = StructureType::DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DedicatedAllocationMemoryAllocateInfoNV {
const TYPE: StructureType = StructureType::DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DependencyInfo {
const TYPE: StructureType = StructureType::DEPENDENCY_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DepthBiasInfoEXT {
const TYPE: StructureType = StructureType::DEPTH_BIAS_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DepthBiasRepresentationInfoEXT {
const TYPE: StructureType = StructureType::DEPTH_BIAS_REPRESENTATION_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorAddressInfoEXT {
const TYPE: StructureType = StructureType::DESCRIPTOR_ADDRESS_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DescriptorAddressInfoEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorBufferBindingInfoEXT {
const TYPE: StructureType = StructureType::DESCRIPTOR_BUFFER_BINDING_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DescriptorBufferBindingInfoEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorBufferBindingPushDescriptorBufferHandleEXT {
const TYPE: StructureType =
StructureType::DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DescriptorBufferBindingPushDescriptorBufferHandleEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorGetInfoEXT {
const TYPE: StructureType = StructureType::DESCRIPTOR_GET_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorPoolCreateInfo {
const TYPE: StructureType = StructureType::DESCRIPTOR_POOL_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorPoolInlineUniformBlockCreateInfo {
const TYPE: StructureType = StructureType::DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorSetAllocateInfo {
const TYPE: StructureType = StructureType::DESCRIPTOR_SET_ALLOCATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorSetBindingReferenceVALVE {
const TYPE: StructureType = StructureType::DESCRIPTOR_SET_BINDING_REFERENCE_VALVE;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorSetLayoutBindingFlagsCreateInfo {
const TYPE: StructureType = StructureType::DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorSetLayoutCreateInfo {
const TYPE: StructureType = StructureType::DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorSetLayoutHostMappingInfoVALVE {
const TYPE: StructureType = StructureType::DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DescriptorSetLayoutHostMappingInfoVALVE {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorSetLayoutSupport {
const TYPE: StructureType = StructureType::DESCRIPTOR_SET_LAYOUT_SUPPORT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DescriptorSetLayoutSupport {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorSetVariableDescriptorCountAllocateInfo {
const TYPE: StructureType =
StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorSetVariableDescriptorCountLayoutSupport {
const TYPE: StructureType =
StructureType::DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DescriptorSetVariableDescriptorCountLayoutSupport {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DescriptorUpdateTemplateCreateInfo {
const TYPE: StructureType = StructureType::DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceAddressBindingCallbackDataEXT {
const TYPE: StructureType = StructureType::DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DeviceAddressBindingCallbackDataEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceBufferMemoryRequirements {
const TYPE: StructureType = StructureType::DEVICE_BUFFER_MEMORY_REQUIREMENTS;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceCreateInfo {
const TYPE: StructureType = StructureType::DEVICE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceDeviceMemoryReportCreateInfoEXT {
const TYPE: StructureType = StructureType::DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceDiagnosticsConfigCreateInfoNV {
const TYPE: StructureType = StructureType::DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceEventInfoEXT {
const TYPE: StructureType = StructureType::DEVICE_EVENT_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceFaultCountsEXT {
const TYPE: StructureType = StructureType::DEVICE_FAULT_COUNTS_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DeviceFaultCountsEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceFaultInfoEXT {
const TYPE: StructureType = StructureType::DEVICE_FAULT_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DeviceFaultInfoEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceGroupBindSparseInfo {
const TYPE: StructureType = StructureType::DEVICE_GROUP_BIND_SPARSE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceGroupCommandBufferBeginInfo {
const TYPE: StructureType = StructureType::DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceGroupDeviceCreateInfo {
const TYPE: StructureType = StructureType::DEVICE_GROUP_DEVICE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceGroupPresentCapabilitiesKHR {
const TYPE: StructureType = StructureType::DEVICE_GROUP_PRESENT_CAPABILITIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DeviceGroupPresentCapabilitiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceGroupPresentInfoKHR {
const TYPE: StructureType = StructureType::DEVICE_GROUP_PRESENT_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceGroupRenderPassBeginInfo {
const TYPE: StructureType = StructureType::DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceGroupSubmitInfo {
const TYPE: StructureType = StructureType::DEVICE_GROUP_SUBMIT_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceGroupSwapchainCreateInfoKHR {
const TYPE: StructureType = StructureType::DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceImageMemoryRequirements {
const TYPE: StructureType = StructureType::DEVICE_IMAGE_MEMORY_REQUIREMENTS;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceImageSubresourceInfoKHR {
const TYPE: StructureType = StructureType::DEVICE_IMAGE_SUBRESOURCE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceMemoryOpaqueCaptureAddressInfo {
const TYPE: StructureType = StructureType::DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceMemoryOverallocationCreateInfoAMD {
const TYPE: StructureType = StructureType::DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceMemoryReportCallbackDataEXT {
const TYPE: StructureType = StructureType::DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DeviceMemoryReportCallbackDataEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DevicePrivateDataCreateInfo {
const TYPE: StructureType = StructureType::DEVICE_PRIVATE_DATA_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceQueueCreateInfo {
const TYPE: StructureType = StructureType::DEVICE_QUEUE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceQueueGlobalPriorityCreateInfoKHR {
const TYPE: StructureType = StructureType::DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceQueueInfo2 {
const TYPE: StructureType = StructureType::DEVICE_QUEUE_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DeviceSemaphoreSciSyncPoolReservationCreateInfoNV {
const TYPE: StructureType =
StructureType::DEVICE_SEMAPHORE_SCI_SYNC_POOL_RESERVATION_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DirectDriverLoadingInfoLUNARG {
const TYPE: StructureType = StructureType::DIRECT_DRIVER_LOADING_INFO_LUNARG;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DirectDriverLoadingInfoLUNARG {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DirectDriverLoadingListLUNARG {
const TYPE: StructureType = StructureType::DIRECT_DRIVER_LOADING_LIST_LUNARG;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DirectDriverLoadingListLUNARG {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DirectFBSurfaceCreateInfoEXT {
const TYPE: StructureType = StructureType::DIRECTFB_SURFACE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplayEventInfoEXT {
const TYPE: StructureType = StructureType::DISPLAY_EVENT_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplayModeCreateInfoKHR {
const TYPE: StructureType = StructureType::DISPLAY_MODE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplayModeProperties2KHR {
const TYPE: StructureType = StructureType::DISPLAY_MODE_PROPERTIES_2_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DisplayModeProperties2KHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplayNativeHdrSurfaceCapabilitiesAMD {
const TYPE: StructureType = StructureType::DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DisplayNativeHdrSurfaceCapabilitiesAMD {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplayPlaneCapabilities2KHR {
const TYPE: StructureType = StructureType::DISPLAY_PLANE_CAPABILITIES_2_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DisplayPlaneCapabilities2KHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplayPlaneInfo2KHR {
const TYPE: StructureType = StructureType::DISPLAY_PLANE_INFO_2_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplayPlaneProperties2KHR {
const TYPE: StructureType = StructureType::DISPLAY_PLANE_PROPERTIES_2_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DisplayPlaneProperties2KHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplayPowerInfoEXT {
const TYPE: StructureType = StructureType::DISPLAY_POWER_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplayPresentInfoKHR {
const TYPE: StructureType = StructureType::DISPLAY_PRESENT_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplayProperties2KHR {
const TYPE: StructureType = StructureType::DISPLAY_PROPERTIES_2_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DisplayProperties2KHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DisplaySurfaceCreateInfoKHR {
const TYPE: StructureType = StructureType::DISPLAY_SURFACE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for DrmFormatModifierPropertiesList2EXT {
const TYPE: StructureType = StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DrmFormatModifierPropertiesList2EXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for DrmFormatModifierPropertiesListEXT {
const TYPE: StructureType = StructureType::DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for DrmFormatModifierPropertiesListEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for EventCreateInfo {
const TYPE: StructureType = StructureType::EVENT_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExecutionGraphPipelineCreateInfoAMDX {
const TYPE: StructureType = StructureType::EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExecutionGraphPipelineScratchSizeAMDX {
const TYPE: StructureType = StructureType::EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ExecutionGraphPipelineScratchSizeAMDX {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportFenceCreateInfo {
const TYPE: StructureType = StructureType::EXPORT_FENCE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportFenceSciSyncInfoNV {
const TYPE: StructureType = StructureType::EXPORT_FENCE_SCI_SYNC_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportFenceWin32HandleInfoKHR {
const TYPE: StructureType = StructureType::EXPORT_FENCE_WIN32_HANDLE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMemoryAllocateInfo {
const TYPE: StructureType = StructureType::EXPORT_MEMORY_ALLOCATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMemoryAllocateInfoNV {
const TYPE: StructureType = StructureType::EXPORT_MEMORY_ALLOCATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMemorySciBufInfoNV {
const TYPE: StructureType = StructureType::EXPORT_MEMORY_SCI_BUF_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMemoryWin32HandleInfoKHR {
const TYPE: StructureType = StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMemoryWin32HandleInfoNV {
const TYPE: StructureType = StructureType::EXPORT_MEMORY_WIN32_HANDLE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMetalBufferInfoEXT {
const TYPE: StructureType = StructureType::EXPORT_METAL_BUFFER_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMetalCommandQueueInfoEXT {
const TYPE: StructureType = StructureType::EXPORT_METAL_COMMAND_QUEUE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMetalDeviceInfoEXT {
const TYPE: StructureType = StructureType::EXPORT_METAL_DEVICE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMetalIOSurfaceInfoEXT {
const TYPE: StructureType = StructureType::EXPORT_METAL_IO_SURFACE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMetalObjectCreateInfoEXT {
const TYPE: StructureType = StructureType::EXPORT_METAL_OBJECT_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMetalObjectsInfoEXT {
const TYPE: StructureType = StructureType::EXPORT_METAL_OBJECTS_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMetalSharedEventInfoEXT {
const TYPE: StructureType = StructureType::EXPORT_METAL_SHARED_EVENT_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportMetalTextureInfoEXT {
const TYPE: StructureType = StructureType::EXPORT_METAL_TEXTURE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportSemaphoreCreateInfo {
const TYPE: StructureType = StructureType::EXPORT_SEMAPHORE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportSemaphoreSciSyncInfoNV {
const TYPE: StructureType = StructureType::EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExportSemaphoreWin32HandleInfoKHR {
const TYPE: StructureType = StructureType::EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExternalBufferProperties {
const TYPE: StructureType = StructureType::EXTERNAL_BUFFER_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ExternalBufferProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ExternalFenceProperties {
const TYPE: StructureType = StructureType::EXTERNAL_FENCE_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ExternalFenceProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ExternalFormatANDROID {
const TYPE: StructureType = StructureType::EXTERNAL_FORMAT_ANDROID;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ExternalFormatANDROID {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ExternalFormatQNX {
const TYPE: StructureType = StructureType::EXTERNAL_FORMAT_QNX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ExternalFormatQNX {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ExternalImageFormatProperties {
const TYPE: StructureType = StructureType::EXTERNAL_IMAGE_FORMAT_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ExternalImageFormatProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ExternalMemoryAcquireUnmodifiedEXT {
const TYPE: StructureType = StructureType::EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExternalMemoryBufferCreateInfo {
const TYPE: StructureType = StructureType::EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExternalMemoryImageCreateInfo {
const TYPE: StructureType = StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExternalMemoryImageCreateInfoNV {
const TYPE: StructureType = StructureType::EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ExternalSemaphoreProperties {
const TYPE: StructureType = StructureType::EXTERNAL_SEMAPHORE_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ExternalSemaphoreProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for FenceCreateInfo {
const TYPE: StructureType = StructureType::FENCE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for FenceGetFdInfoKHR {
const TYPE: StructureType = StructureType::FENCE_GET_FD_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for FenceGetSciSyncInfoNV {
const TYPE: StructureType = StructureType::FENCE_GET_SCI_SYNC_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for FenceGetWin32HandleInfoKHR {
const TYPE: StructureType = StructureType::FENCE_GET_WIN32_HANDLE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for FilterCubicImageViewImageFormatPropertiesEXT {
const TYPE: StructureType = StructureType::FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for FilterCubicImageViewImageFormatPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for FormatProperties2 {
const TYPE: StructureType = StructureType::FORMAT_PROPERTIES_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for FormatProperties2 {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for FormatProperties3 {
const TYPE: StructureType = StructureType::FORMAT_PROPERTIES_3;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for FormatProperties3 {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for FragmentShadingRateAttachmentInfoKHR {
const TYPE: StructureType = StructureType::FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for FrameBoundaryEXT {
const TYPE: StructureType = StructureType::FRAME_BOUNDARY_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for FramebufferAttachmentImageInfo {
const TYPE: StructureType = StructureType::FRAMEBUFFER_ATTACHMENT_IMAGE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for FramebufferAttachmentsCreateInfo {
const TYPE: StructureType = StructureType::FRAMEBUFFER_ATTACHMENTS_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for FramebufferCreateInfo {
const TYPE: StructureType = StructureType::FRAMEBUFFER_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for FramebufferMixedSamplesCombinationNV {
const TYPE: StructureType = StructureType::FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for FramebufferMixedSamplesCombinationNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for GeneratedCommandsInfoNV {
const TYPE: StructureType = StructureType::GENERATED_COMMANDS_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for GeneratedCommandsMemoryRequirementsInfoNV {
const TYPE: StructureType = StructureType::GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for GeometryAABBNV {
const TYPE: StructureType = StructureType::GEOMETRY_AABB_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for GeometryNV {
const TYPE: StructureType = StructureType::GEOMETRY_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for GeometryTrianglesNV {
const TYPE: StructureType = StructureType::GEOMETRY_TRIANGLES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for GraphicsPipelineCreateInfo {
const TYPE: StructureType = StructureType::GRAPHICS_PIPELINE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for GraphicsPipelineLibraryCreateInfoEXT {
const TYPE: StructureType = StructureType::GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for GraphicsPipelineShaderGroupsCreateInfoNV {
const TYPE: StructureType = StructureType::GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for GraphicsShaderGroupCreateInfoNV {
const TYPE: StructureType = StructureType::GRAPHICS_SHADER_GROUP_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for HdrMetadataEXT {
const TYPE: StructureType = StructureType::HDR_METADATA_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for HeadlessSurfaceCreateInfoEXT {
const TYPE: StructureType = StructureType::HEADLESS_SURFACE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for HostImageCopyDevicePerformanceQueryEXT {
const TYPE: StructureType = StructureType::HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for HostImageCopyDevicePerformanceQueryEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for HostImageLayoutTransitionInfoEXT {
const TYPE: StructureType = StructureType::HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for IOSSurfaceCreateInfoMVK {
const TYPE: StructureType = StructureType::IOS_SURFACE_CREATE_INFO_MVK;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageBlit2 {
const TYPE: StructureType = StructureType::IMAGE_BLIT_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageCaptureDescriptorDataInfoEXT {
const TYPE: StructureType = StructureType::IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageCompressionControlEXT {
const TYPE: StructureType = StructureType::IMAGE_COMPRESSION_CONTROL_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageCompressionPropertiesEXT {
const TYPE: StructureType = StructureType::IMAGE_COMPRESSION_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ImageCompressionPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageConstraintsInfoFUCHSIA {
const TYPE: StructureType = StructureType::IMAGE_CONSTRAINTS_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageCopy2 {
const TYPE: StructureType = StructureType::IMAGE_COPY_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageCreateInfo {
const TYPE: StructureType = StructureType::IMAGE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageDrmFormatModifierExplicitCreateInfoEXT {
const TYPE: StructureType = StructureType::IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageDrmFormatModifierListCreateInfoEXT {
const TYPE: StructureType = StructureType::IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageDrmFormatModifierPropertiesEXT {
const TYPE: StructureType = StructureType::IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ImageDrmFormatModifierPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageFormatConstraintsInfoFUCHSIA {
const TYPE: StructureType = StructureType::IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageFormatListCreateInfo {
const TYPE: StructureType = StructureType::IMAGE_FORMAT_LIST_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageFormatProperties2 {
const TYPE: StructureType = StructureType::IMAGE_FORMAT_PROPERTIES_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ImageFormatProperties2 {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageMemoryBarrier {
const TYPE: StructureType = StructureType::IMAGE_MEMORY_BARRIER;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageMemoryBarrier2 {
const TYPE: StructureType = StructureType::IMAGE_MEMORY_BARRIER_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageMemoryRequirementsInfo2 {
const TYPE: StructureType = StructureType::IMAGE_MEMORY_REQUIREMENTS_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImagePipeSurfaceCreateInfoFUCHSIA {
const TYPE: StructureType = StructureType::IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImagePlaneMemoryRequirementsInfo {
const TYPE: StructureType = StructureType::IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageResolve2 {
const TYPE: StructureType = StructureType::IMAGE_RESOLVE_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageSparseMemoryRequirementsInfo2 {
const TYPE: StructureType = StructureType::IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageStencilUsageCreateInfo {
const TYPE: StructureType = StructureType::IMAGE_STENCIL_USAGE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageSubresource2KHR {
const TYPE: StructureType = StructureType::IMAGE_SUBRESOURCE_2_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ImageSubresource2KHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageSwapchainCreateInfoKHR {
const TYPE: StructureType = StructureType::IMAGE_SWAPCHAIN_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageToMemoryCopyEXT {
const TYPE: StructureType = StructureType::IMAGE_TO_MEMORY_COPY_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageViewASTCDecodeModeEXT {
const TYPE: StructureType = StructureType::IMAGE_VIEW_ASTC_DECODE_MODE_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageViewAddressPropertiesNVX {
const TYPE: StructureType = StructureType::IMAGE_VIEW_ADDRESS_PROPERTIES_NVX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ImageViewAddressPropertiesNVX {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageViewCaptureDescriptorDataInfoEXT {
const TYPE: StructureType = StructureType::IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageViewCreateInfo {
const TYPE: StructureType = StructureType::IMAGE_VIEW_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageViewHandleInfoNVX {
const TYPE: StructureType = StructureType::IMAGE_VIEW_HANDLE_INFO_NVX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageViewMinLodCreateInfoEXT {
const TYPE: StructureType = StructureType::IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageViewSampleWeightCreateInfoQCOM {
const TYPE: StructureType = StructureType::IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageViewSlicedCreateInfoEXT {
const TYPE: StructureType = StructureType::IMAGE_VIEW_SLICED_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImageViewUsageCreateInfo {
const TYPE: StructureType = StructureType::IMAGE_VIEW_USAGE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportAndroidHardwareBufferInfoANDROID {
const TYPE: StructureType = StructureType::IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportFenceFdInfoKHR {
const TYPE: StructureType = StructureType::IMPORT_FENCE_FD_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportFenceSciSyncInfoNV {
const TYPE: StructureType = StructureType::IMPORT_FENCE_SCI_SYNC_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportFenceWin32HandleInfoKHR {
const TYPE: StructureType = StructureType::IMPORT_FENCE_WIN32_HANDLE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMemoryBufferCollectionFUCHSIA {
const TYPE: StructureType = StructureType::IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMemoryFdInfoKHR {
const TYPE: StructureType = StructureType::IMPORT_MEMORY_FD_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMemoryHostPointerInfoEXT {
const TYPE: StructureType = StructureType::IMPORT_MEMORY_HOST_POINTER_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMemorySciBufInfoNV {
const TYPE: StructureType = StructureType::IMPORT_MEMORY_SCI_BUF_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMemoryWin32HandleInfoKHR {
const TYPE: StructureType = StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMemoryWin32HandleInfoNV {
const TYPE: StructureType = StructureType::IMPORT_MEMORY_WIN32_HANDLE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMemoryZirconHandleInfoFUCHSIA {
const TYPE: StructureType = StructureType::IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMetalBufferInfoEXT {
const TYPE: StructureType = StructureType::IMPORT_METAL_BUFFER_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMetalIOSurfaceInfoEXT {
const TYPE: StructureType = StructureType::IMPORT_METAL_IO_SURFACE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMetalSharedEventInfoEXT {
const TYPE: StructureType = StructureType::IMPORT_METAL_SHARED_EVENT_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportMetalTextureInfoEXT {
const TYPE: StructureType = StructureType::IMPORT_METAL_TEXTURE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportScreenBufferInfoQNX {
const TYPE: StructureType = StructureType::IMPORT_SCREEN_BUFFER_INFO_QNX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportSemaphoreFdInfoKHR {
const TYPE: StructureType = StructureType::IMPORT_SEMAPHORE_FD_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportSemaphoreSciSyncInfoNV {
const TYPE: StructureType = StructureType::IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportSemaphoreWin32HandleInfoKHR {
const TYPE: StructureType = StructureType::IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ImportSemaphoreZirconHandleInfoFUCHSIA {
const TYPE: StructureType = StructureType::IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for IndirectCommandsLayoutCreateInfoNV {
const TYPE: StructureType = StructureType::INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for IndirectCommandsLayoutTokenNV {
const TYPE: StructureType = StructureType::INDIRECT_COMMANDS_LAYOUT_TOKEN_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for InitializePerformanceApiInfoINTEL {
const TYPE: StructureType = StructureType::INITIALIZE_PERFORMANCE_API_INFO_INTEL;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for InstanceCreateInfo {
const TYPE: StructureType = StructureType::INSTANCE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MacOSSurfaceCreateInfoMVK {
const TYPE: StructureType = StructureType::MACOS_SURFACE_CREATE_INFO_MVK;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MappedMemoryRange {
const TYPE: StructureType = StructureType::MAPPED_MEMORY_RANGE;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryAllocateFlagsInfo {
const TYPE: StructureType = StructureType::MEMORY_ALLOCATE_FLAGS_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryAllocateInfo {
const TYPE: StructureType = StructureType::MEMORY_ALLOCATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryBarrier {
const TYPE: StructureType = StructureType::MEMORY_BARRIER;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryBarrier2 {
const TYPE: StructureType = StructureType::MEMORY_BARRIER_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryDedicatedAllocateInfo {
const TYPE: StructureType = StructureType::MEMORY_DEDICATED_ALLOCATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryDedicatedRequirements {
const TYPE: StructureType = StructureType::MEMORY_DEDICATED_REQUIREMENTS;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for MemoryDedicatedRequirements {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryFdPropertiesKHR {
const TYPE: StructureType = StructureType::MEMORY_FD_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for MemoryFdPropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryGetAndroidHardwareBufferInfoANDROID {
const TYPE: StructureType = StructureType::MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryGetFdInfoKHR {
const TYPE: StructureType = StructureType::MEMORY_GET_FD_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryGetRemoteAddressInfoNV {
const TYPE: StructureType = StructureType::MEMORY_GET_REMOTE_ADDRESS_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryGetSciBufInfoNV {
const TYPE: StructureType = StructureType::MEMORY_GET_SCI_BUF_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryGetWin32HandleInfoKHR {
const TYPE: StructureType = StructureType::MEMORY_GET_WIN32_HANDLE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryGetZirconHandleInfoFUCHSIA {
const TYPE: StructureType = StructureType::MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryHostPointerPropertiesEXT {
const TYPE: StructureType = StructureType::MEMORY_HOST_POINTER_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for MemoryHostPointerPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryMapInfoKHR {
const TYPE: StructureType = StructureType::MEMORY_MAP_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryOpaqueCaptureAddressAllocateInfo {
const TYPE: StructureType = StructureType::MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryPriorityAllocateInfoEXT {
const TYPE: StructureType = StructureType::MEMORY_PRIORITY_ALLOCATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryRequirements2 {
const TYPE: StructureType = StructureType::MEMORY_REQUIREMENTS_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for MemoryRequirements2 {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for MemorySciBufPropertiesNV {
const TYPE: StructureType = StructureType::MEMORY_SCI_BUF_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryToImageCopyEXT {
const TYPE: StructureType = StructureType::MEMORY_TO_IMAGE_COPY_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryUnmapInfoKHR {
const TYPE: StructureType = StructureType::MEMORY_UNMAP_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryWin32HandlePropertiesKHR {
const TYPE: StructureType = StructureType::MEMORY_WIN32_HANDLE_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for MemoryWin32HandlePropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for MemoryZirconHandlePropertiesFUCHSIA {
const TYPE: StructureType = StructureType::MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for MemoryZirconHandlePropertiesFUCHSIA {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for MetalSurfaceCreateInfoEXT {
const TYPE: StructureType = StructureType::METAL_SURFACE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MicromapBuildInfoEXT {
const TYPE: StructureType = StructureType::MICROMAP_BUILD_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MicromapBuildSizesInfoEXT {
const TYPE: StructureType = StructureType::MICROMAP_BUILD_SIZES_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MicromapCreateInfoEXT {
const TYPE: StructureType = StructureType::MICROMAP_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MicromapVersionInfoEXT {
const TYPE: StructureType = StructureType::MICROMAP_VERSION_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MultisamplePropertiesEXT {
const TYPE: StructureType = StructureType::MULTISAMPLE_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for MultisamplePropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for MultisampledRenderToSingleSampledInfoEXT {
const TYPE: StructureType = StructureType::MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MultiviewPerViewAttributesInfoNVX {
const TYPE: StructureType = StructureType::MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
const TYPE: StructureType =
StructureType::MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for MutableDescriptorTypeCreateInfoEXT {
const TYPE: StructureType = StructureType::MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for OpaqueCaptureDescriptorDataCreateInfoEXT {
const TYPE: StructureType = StructureType::OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for OpticalFlowExecuteInfoNV {
const TYPE: StructureType = StructureType::OPTICAL_FLOW_EXECUTE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for OpticalFlowExecuteInfoNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for OpticalFlowImageFormatInfoNV {
const TYPE: StructureType = StructureType::OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for OpticalFlowImageFormatPropertiesNV {
const TYPE: StructureType = StructureType::OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for OpticalFlowSessionCreateInfoNV {
const TYPE: StructureType = StructureType::OPTICAL_FLOW_SESSION_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for OpticalFlowSessionCreateInfoNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for OpticalFlowSessionCreatePrivateDataInfoNV {
const TYPE: StructureType = StructureType::OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for OpticalFlowSessionCreatePrivateDataInfoNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PerformanceConfigurationAcquireInfoINTEL {
const TYPE: StructureType = StructureType::PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PerformanceCounterDescriptionKHR {
const TYPE: StructureType = StructureType::PERFORMANCE_COUNTER_DESCRIPTION_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PerformanceCounterDescriptionKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PerformanceCounterKHR {
const TYPE: StructureType = StructureType::PERFORMANCE_COUNTER_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PerformanceCounterKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PerformanceMarkerInfoINTEL {
const TYPE: StructureType = StructureType::PERFORMANCE_MARKER_INFO_INTEL;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PerformanceOverrideInfoINTEL {
const TYPE: StructureType = StructureType::PERFORMANCE_OVERRIDE_INFO_INTEL;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PerformanceQueryReservationInfoKHR {
const TYPE: StructureType = StructureType::PERFORMANCE_QUERY_RESERVATION_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PerformanceQuerySubmitInfoKHR {
const TYPE: StructureType = StructureType::PERFORMANCE_QUERY_SUBMIT_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PerformanceStreamMarkerInfoINTEL {
const TYPE: StructureType = StructureType::PERFORMANCE_STREAM_MARKER_INFO_INTEL;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevice16BitStorageFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevice16BitStorageFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevice4444FormatsFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevice4444FormatsFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevice8BitStorageFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevice8BitStorageFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceASTCDecodeFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceASTCDecodeFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceAccelerationStructureFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceAccelerationStructureFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceAccelerationStructurePropertiesKHR {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceAccelerationStructurePropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceAddressBindingReportFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceAddressBindingReportFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceAmigoProfilingFeaturesSEC {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceAmigoProfilingFeaturesSEC {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceBlendOperationAdvancedFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceBlendOperationAdvancedPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceBorderColorSwizzleFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceBufferDeviceAddressFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceBufferDeviceAddressFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceBufferDeviceAddressFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceClusterCullingShaderPropertiesHUAWEI {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCoherentMemoryFeaturesAMD {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCoherentMemoryFeaturesAMD {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceColorWriteEnableFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceColorWriteEnableFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceComputeShaderDerivativesFeaturesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceComputeShaderDerivativesFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceConditionalRenderingFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceConditionalRenderingFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceConservativeRasterizationPropertiesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceConservativeRasterizationPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixPropertiesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixPropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCooperativeMatrixPropertiesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCooperativeMatrixPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCopyMemoryIndirectFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCopyMemoryIndirectPropertiesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCopyMemoryIndirectPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCornerSampledImageFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCornerSampledImageFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCoverageReductionModeFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCoverageReductionModeFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCubicClampFeaturesQCOM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCubicClampFeaturesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCubicWeightsFeaturesQCOM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCubicWeightsFeaturesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCustomBorderColorFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCustomBorderColorFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceCustomBorderColorPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceCustomBorderColorPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDepthBiasControlFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDepthBiasControlFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDepthClampZeroOneFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDepthClampZeroOneFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDepthClipControlFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDepthClipControlFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDepthClipEnableFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDepthClipEnableFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDepthStencilResolveProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDepthStencilResolveProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDescriptorBufferFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDescriptorBufferFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDescriptorBufferPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDescriptorBufferPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDescriptorIndexingFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDescriptorIndexingFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDescriptorIndexingProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDescriptorIndexingProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDeviceMemoryReportFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDiagnosticsConfigFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDiagnosticsConfigFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDiscardRectanglePropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDiscardRectanglePropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDisplacementMicromapFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDisplacementMicromapFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDisplacementMicromapPropertiesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDisplacementMicromapPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDriverProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DRIVER_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDriverProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDrmPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DRM_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDrmPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDynamicRenderingFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDynamicRenderingFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExclusiveScissorFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExclusiveScissorFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExtendedDynamicState2FeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExtendedDynamicState3FeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExtendedDynamicState3PropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExtendedDynamicStateFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExternalBufferInfo {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExternalFenceInfo {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExternalImageFormatInfo {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExternalMemoryHostPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExternalMemoryHostPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExternalMemoryRDMAFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExternalMemorySciBufFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCI_BUF_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExternalMemorySciBufFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExternalSciSync2FeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_2_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExternalSciSync2FeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExternalSciSyncFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceExternalSciSyncFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceExternalSemaphoreInfo {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFaultFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FAULT_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFaultFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFeatures2 {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FEATURES_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFeatures2 {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFloatControlsProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFloatControlsProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMap2FeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMap2PropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMapFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMapFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentDensityMapPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentDensityMapPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentShaderBarycentricPropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentShaderInterlockFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentShadingRateFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRateFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentShadingRateKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRateKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFragmentShadingRatePropertiesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFragmentShadingRatePropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceFrameBoundaryFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceFrameBoundaryFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceGlobalPriorityQueryFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceGlobalPriorityQueryFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceGroupProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_GROUP_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceGroupProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceHostImageCopyFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceHostImageCopyFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceHostImageCopyPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceHostImageCopyPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceHostQueryResetFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceHostQueryResetFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceIDProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ID_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceIDProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImage2DViewOf3DFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageCompressionControlFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImageCompressionControlFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageDrmFormatModifierInfoEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageFormatInfo2 {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageProcessing2FeaturesQCOM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImageProcessing2FeaturesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageProcessing2PropertiesQCOM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImageProcessing2PropertiesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageProcessingFeaturesQCOM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImageProcessingFeaturesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageProcessingPropertiesQCOM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImageProcessingPropertiesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageRobustnessFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImageRobustnessFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageViewImageFormatInfoEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImageViewImageFormatInfoEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImageViewMinLodFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImageViewMinLodFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceImagelessFramebufferFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceImagelessFramebufferFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceIndexTypeUint8FeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceIndexTypeUint8FeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceInheritedViewportScissorFeaturesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceInheritedViewportScissorFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceInlineUniformBlockFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceInlineUniformBlockFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceInlineUniformBlockProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceInlineUniformBlockProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceInvocationMaskFeaturesHUAWEI {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceLayeredDriverPropertiesMSFT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceLayeredDriverPropertiesMSFT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceLegacyDitheringFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceLegacyDitheringFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceLineRasterizationFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceLineRasterizationFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceLineRasterizationPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceLineRasterizationPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceLinearColorAttachmentFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceLinearColorAttachmentFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMaintenance3Properties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMaintenance3Properties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMaintenance4Features {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMaintenance4Features {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMaintenance4Properties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMaintenance4Properties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMaintenance5FeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMaintenance5FeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMaintenance5PropertiesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMaintenance5PropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMemoryBudgetPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMemoryBudgetPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMemoryDecompressionFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMemoryDecompressionFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMemoryDecompressionPropertiesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMemoryDecompressionPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMemoryPriorityFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMemoryPriorityFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMemoryProperties2 {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMemoryProperties2 {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMeshShaderFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMeshShaderFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMeshShaderFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMeshShaderFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMeshShaderPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMeshShaderPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMeshShaderPropertiesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMeshShaderPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMultiDrawFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMultiDrawFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMultiDrawPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMultiDrawPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMultiviewFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMultiviewFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMultiviewProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMultiviewProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceMutableDescriptorTypeFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceOpacityMicromapFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceOpacityMicromapFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceOpacityMicromapPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceOpacityMicromapPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceOpticalFlowFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceOpticalFlowFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceOpticalFlowPropertiesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceOpticalFlowPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePCIBusInfoPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePCIBusInfoPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePerformanceQueryFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePerformanceQueryFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePerformanceQueryPropertiesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePerformanceQueryPropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePipelineCreationCacheControlFeatures {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePipelineCreationCacheControlFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePipelinePropertiesFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePipelinePropertiesFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePipelineProtectedAccessFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePipelineProtectedAccessFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePipelineRobustnessFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePipelineRobustnessFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePipelineRobustnessPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePipelineRobustnessPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePointClippingProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePointClippingProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePortabilitySubsetFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePortabilitySubsetFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePortabilitySubsetPropertiesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePortabilitySubsetPropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePresentBarrierFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePresentBarrierFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePresentIdFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePresentIdFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePresentWaitFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePresentWaitFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePrivateDataFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePrivateDataFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceProperties2 {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PROPERTIES_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceProperties2 {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceProtectedMemoryFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceProtectedMemoryFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceProtectedMemoryProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceProtectedMemoryProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceProvokingVertexFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceProvokingVertexFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceProvokingVertexPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceProvokingVertexPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDevicePushDescriptorPropertiesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDevicePushDescriptorPropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRGBA10X6FormatsFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRayQueryFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRayQueryFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRayTracingInvocationReorderFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRayTracingInvocationReorderPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRayTracingMaintenance1FeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRayTracingMotionBlurFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRayTracingPipelineFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRayTracingPipelineFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRayTracingPipelinePropertiesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRayTracingPipelinePropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRayTracingPositionFetchFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRayTracingPropertiesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRayTracingPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRepresentativeFragmentTestFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRobustness2FeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRobustness2FeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceRobustness2PropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceRobustness2PropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSampleLocationsPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSampleLocationsPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSamplerFilterMinmaxProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSamplerFilterMinmaxProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSamplerYcbcrConversionFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSamplerYcbcrConversionFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceScalarBlockLayoutFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceScalarBlockLayoutFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSeparateDepthStencilLayoutsFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderAtomicFloat2FeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderAtomicFloatFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderAtomicInt64Features {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderAtomicInt64Features {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderClockFeaturesKHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderClockFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderCoreBuiltinsFeaturesARM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderCoreBuiltinsPropertiesARM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderCoreProperties2AMD {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderCoreProperties2AMD {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderCorePropertiesAMD {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderCorePropertiesAMD {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderCorePropertiesARM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderCorePropertiesARM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderDemoteToHelperInvocationFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderDrawParametersFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderDrawParametersFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderEnqueueFeaturesAMDX {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderEnqueueFeaturesAMDX {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderEnqueuePropertiesAMDX {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderEnqueuePropertiesAMDX {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderFloat16Int8Features {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderFloat16Int8Features {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderImageFootprintFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderImageFootprintFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderIntegerDotProductFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderIntegerDotProductFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderIntegerDotProductProperties {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderIntegerDotProductProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderModuleIdentifierFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderModuleIdentifierPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderObjectFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderObjectFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderObjectPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderObjectPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderSMBuiltinsFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderSMBuiltinsPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderSubgroupExtendedTypesFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderTerminateInvocationFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderTerminateInvocationFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderTileImageFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderTileImageFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShaderTileImagePropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShaderTileImagePropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShadingRateImageFeaturesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShadingRateImageFeaturesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceShadingRateImagePropertiesNV {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceShadingRateImagePropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSparseImageFormatInfo2 {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSubgroupProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSubgroupProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSubgroupSizeControlFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSubgroupSizeControlFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSubgroupSizeControlProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSubgroupSizeControlProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSubpassShadingFeaturesHUAWEI {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSubpassShadingPropertiesHUAWEI {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSurfaceInfo2KHR {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSwapchainMaintenance1FeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSwapchainMaintenance1FeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceSynchronization2Features {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceSynchronization2Features {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceTexelBufferAlignmentFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceTexelBufferAlignmentProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceTexelBufferAlignmentProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceTextureCompressionASTCHDRFeatures {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceTextureCompressionASTCHDRFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceTilePropertiesFeaturesQCOM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceTilePropertiesFeaturesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceTimelineSemaphoreFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceTimelineSemaphoreFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceTimelineSemaphoreProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceTimelineSemaphoreProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceToolProperties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TOOL_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceToolProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceTransformFeedbackFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceTransformFeedbackFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceTransformFeedbackPropertiesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceTransformFeedbackPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceUniformBufferStandardLayoutFeatures {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceUniformBufferStandardLayoutFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVariablePointersFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVariablePointersFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVertexAttributeDivisorFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVertexAttributeDivisorPropertiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVertexInputDynamicStateFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVulkan11Features {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_1_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVulkan11Features {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVulkan11Properties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVulkan11Properties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVulkan12Features {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVulkan12Features {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVulkan12Properties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVulkan12Properties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVulkan13Features {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_3_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVulkan13Features {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVulkan13Properties {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVulkan13Properties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceVulkanMemoryModelFeatures {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceVulkanMemoryModelFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceYcbcrDegammaFeaturesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
const TYPE: StructureType = StructureType::PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceYcbcrImageArraysFeaturesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
const TYPE: StructureType =
StructureType::PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineCacheCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_CACHE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineColorBlendAdvancedStateCreateInfoEXT {
const TYPE: StructureType = StructureType::PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineColorBlendStateCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineColorWriteCreateInfoEXT {
const TYPE: StructureType = StructureType::PIPELINE_COLOR_WRITE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineCompilerControlCreateInfoAMD {
const TYPE: StructureType = StructureType::PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineCoverageModulationStateCreateInfoNV {
const TYPE: StructureType = StructureType::PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineCoverageReductionStateCreateInfoNV {
const TYPE: StructureType = StructureType::PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineCoverageToColorStateCreateInfoNV {
const TYPE: StructureType = StructureType::PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineCreateFlags2CreateInfoKHR {
const TYPE: StructureType = StructureType::PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineCreationFeedbackCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_CREATION_FEEDBACK_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineDepthStencilStateCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineDiscardRectangleStateCreateInfoEXT {
const TYPE: StructureType = StructureType::PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineDynamicStateCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_DYNAMIC_STATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineExecutableInfoKHR {
const TYPE: StructureType = StructureType::PIPELINE_EXECUTABLE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineExecutableInternalRepresentationKHR {
const TYPE: StructureType = StructureType::PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PipelineExecutableInternalRepresentationKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineExecutablePropertiesKHR {
const TYPE: StructureType = StructureType::PIPELINE_EXECUTABLE_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PipelineExecutablePropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineExecutableStatisticKHR {
const TYPE: StructureType = StructureType::PIPELINE_EXECUTABLE_STATISTIC_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PipelineExecutableStatisticKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineFragmentShadingRateEnumStateCreateInfoNV {
const TYPE: StructureType =
StructureType::PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineFragmentShadingRateStateCreateInfoKHR {
const TYPE: StructureType = StructureType::PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineIndirectDeviceAddressInfoNV {
const TYPE: StructureType = StructureType::PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineInfoKHR {
const TYPE: StructureType = StructureType::PIPELINE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineInputAssemblyStateCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineLayoutCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_LAYOUT_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineLibraryCreateInfoKHR {
const TYPE: StructureType = StructureType::PIPELINE_LIBRARY_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineMultisampleStateCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelinePropertiesIdentifierEXT {
const TYPE: StructureType = StructureType::PIPELINE_PROPERTIES_IDENTIFIER_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PipelinePropertiesIdentifierEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineRasterizationConservativeStateCreateInfoEXT {
const TYPE: StructureType =
StructureType::PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineRasterizationDepthClipStateCreateInfoEXT {
const TYPE: StructureType =
StructureType::PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineRasterizationLineStateCreateInfoEXT {
const TYPE: StructureType = StructureType::PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineRasterizationProvokingVertexStateCreateInfoEXT {
const TYPE: StructureType =
StructureType::PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineRasterizationStateCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineRasterizationStateRasterizationOrderAMD {
const TYPE: StructureType = StructureType::PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineRasterizationStateStreamCreateInfoEXT {
const TYPE: StructureType = StructureType::PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineRenderingCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_RENDERING_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineRepresentativeFragmentTestStateCreateInfoNV {
const TYPE: StructureType =
StructureType::PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineRobustnessCreateInfoEXT {
const TYPE: StructureType = StructureType::PIPELINE_ROBUSTNESS_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineSampleLocationsStateCreateInfoEXT {
const TYPE: StructureType = StructureType::PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineShaderStageCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_SHADER_STAGE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineShaderStageModuleIdentifierCreateInfoEXT {
const TYPE: StructureType =
StructureType::PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineShaderStageNodeCreateInfoAMDX {
const TYPE: StructureType = StructureType::PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineShaderStageRequiredSubgroupSizeCreateInfo {
const TYPE: StructureType =
StructureType::PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for PipelineShaderStageRequiredSubgroupSizeCreateInfo {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineTessellationDomainOriginStateCreateInfo {
const TYPE: StructureType =
StructureType::PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineTessellationStateCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_TESSELLATION_STATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineVertexInputDivisorStateCreateInfoEXT {
const TYPE: StructureType = StructureType::PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineVertexInputStateCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineViewportCoarseSampleOrderStateCreateInfoNV {
const TYPE: StructureType =
StructureType::PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineViewportDepthClipControlCreateInfoEXT {
const TYPE: StructureType = StructureType::PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineViewportExclusiveScissorStateCreateInfoNV {
const TYPE: StructureType =
StructureType::PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineViewportShadingRateImageStateCreateInfoNV {
const TYPE: StructureType =
StructureType::PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineViewportStateCreateInfo {
const TYPE: StructureType = StructureType::PIPELINE_VIEWPORT_STATE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineViewportSwizzleStateCreateInfoNV {
const TYPE: StructureType = StructureType::PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PipelineViewportWScalingStateCreateInfoNV {
const TYPE: StructureType = StructureType::PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PresentFrameTokenGGP {
const TYPE: StructureType = StructureType::PRESENT_FRAME_TOKEN_GGP;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PresentIdKHR {
const TYPE: StructureType = StructureType::PRESENT_ID_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PresentInfoKHR {
const TYPE: StructureType = StructureType::PRESENT_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PresentRegionsKHR {
const TYPE: StructureType = StructureType::PRESENT_REGIONS_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PresentTimesInfoGOOGLE {
const TYPE: StructureType = StructureType::PRESENT_TIMES_INFO_GOOGLE;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for PrivateDataSlotCreateInfo {
const TYPE: StructureType = StructureType::PRIVATE_DATA_SLOT_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ProtectedSubmitInfo {
const TYPE: StructureType = StructureType::PROTECTED_SUBMIT_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for QueryLowLatencySupportNV {
const TYPE: StructureType = StructureType::QUERY_LOW_LATENCY_SUPPORT_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for QueryPoolCreateInfo {
const TYPE: StructureType = StructureType::QUERY_POOL_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for QueryPoolPerformanceCreateInfoKHR {
const TYPE: StructureType = StructureType::QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for QueryPoolPerformanceQueryCreateInfoINTEL {
const TYPE: StructureType = StructureType::QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for QueueFamilyCheckpointProperties2NV {
const TYPE: StructureType = StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for QueueFamilyCheckpointProperties2NV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for QueueFamilyCheckpointPropertiesNV {
const TYPE: StructureType = StructureType::QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for QueueFamilyCheckpointPropertiesNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for QueueFamilyGlobalPriorityPropertiesKHR {
const TYPE: StructureType = StructureType::QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for QueueFamilyGlobalPriorityPropertiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for QueueFamilyProperties2 {
const TYPE: StructureType = StructureType::QUEUE_FAMILY_PROPERTIES_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for QueueFamilyProperties2 {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for RayTracingPipelineCreateInfoKHR {
const TYPE: StructureType = StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RayTracingPipelineCreateInfoNV {
const TYPE: StructureType = StructureType::RAY_TRACING_PIPELINE_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RayTracingPipelineInterfaceCreateInfoKHR {
const TYPE: StructureType = StructureType::RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RayTracingShaderGroupCreateInfoKHR {
const TYPE: StructureType = StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RayTracingShaderGroupCreateInfoNV {
const TYPE: StructureType = StructureType::RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RefreshObjectListKHR {
const TYPE: StructureType = StructureType::REFRESH_OBJECT_LIST_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ReleaseSwapchainImagesInfoEXT {
const TYPE: StructureType = StructureType::RELEASE_SWAPCHAIN_IMAGES_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassAttachmentBeginInfo {
const TYPE: StructureType = StructureType::RENDER_PASS_ATTACHMENT_BEGIN_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassBeginInfo {
const TYPE: StructureType = StructureType::RENDER_PASS_BEGIN_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassCreateInfo {
const TYPE: StructureType = StructureType::RENDER_PASS_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassCreateInfo2 {
const TYPE: StructureType = StructureType::RENDER_PASS_CREATE_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassCreationControlEXT {
const TYPE: StructureType = StructureType::RENDER_PASS_CREATION_CONTROL_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassCreationFeedbackCreateInfoEXT {
const TYPE: StructureType = StructureType::RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassFragmentDensityMapCreateInfoEXT {
const TYPE: StructureType = StructureType::RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassInputAttachmentAspectCreateInfo {
const TYPE: StructureType = StructureType::RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassMultiviewCreateInfo {
const TYPE: StructureType = StructureType::RENDER_PASS_MULTIVIEW_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassSampleLocationsBeginInfoEXT {
const TYPE: StructureType = StructureType::RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassSubpassFeedbackCreateInfoEXT {
const TYPE: StructureType = StructureType::RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderPassTransformBeginInfoQCOM {
const TYPE: StructureType = StructureType::RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for RenderPassTransformBeginInfoQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderingAreaInfoKHR {
const TYPE: StructureType = StructureType::RENDERING_AREA_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderingAttachmentInfo {
const TYPE: StructureType = StructureType::RENDERING_ATTACHMENT_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderingFragmentDensityMapAttachmentInfoEXT {
const TYPE: StructureType = StructureType::RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderingFragmentShadingRateAttachmentInfoKHR {
const TYPE: StructureType = StructureType::RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for RenderingInfo {
const TYPE: StructureType = StructureType::RENDERING_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ResolveImageInfo2 {
const TYPE: StructureType = StructureType::RESOLVE_IMAGE_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SampleLocationsInfoEXT {
const TYPE: StructureType = StructureType::SAMPLE_LOCATIONS_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerBlockMatchWindowCreateInfoQCOM {
const TYPE: StructureType = StructureType::SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerBorderColorComponentMappingCreateInfoEXT {
const TYPE: StructureType =
StructureType::SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerCaptureDescriptorDataInfoEXT {
const TYPE: StructureType = StructureType::SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerCreateInfo {
const TYPE: StructureType = StructureType::SAMPLER_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerCubicWeightsCreateInfoQCOM {
const TYPE: StructureType = StructureType::SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerCustomBorderColorCreateInfoEXT {
const TYPE: StructureType = StructureType::SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerReductionModeCreateInfo {
const TYPE: StructureType = StructureType::SAMPLER_REDUCTION_MODE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerYcbcrConversionCreateInfo {
const TYPE: StructureType = StructureType::SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerYcbcrConversionImageFormatProperties {
const TYPE: StructureType = StructureType::SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SamplerYcbcrConversionImageFormatProperties {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerYcbcrConversionInfo {
const TYPE: StructureType = StructureType::SAMPLER_YCBCR_CONVERSION_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
const TYPE: StructureType =
StructureType::SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SciSyncAttributesInfoNV {
const TYPE: StructureType = StructureType::SCI_SYNC_ATTRIBUTES_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ScreenBufferFormatPropertiesQNX {
const TYPE: StructureType = StructureType::SCREEN_BUFFER_FORMAT_PROPERTIES_QNX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ScreenBufferFormatPropertiesQNX {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ScreenBufferPropertiesQNX {
const TYPE: StructureType = StructureType::SCREEN_BUFFER_PROPERTIES_QNX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ScreenBufferPropertiesQNX {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ScreenSurfaceCreateInfoQNX {
const TYPE: StructureType = StructureType::SCREEN_SURFACE_CREATE_INFO_QNX;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreCreateInfo {
const TYPE: StructureType = StructureType::SEMAPHORE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreGetFdInfoKHR {
const TYPE: StructureType = StructureType::SEMAPHORE_GET_FD_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreGetSciSyncInfoNV {
const TYPE: StructureType = StructureType::SEMAPHORE_GET_SCI_SYNC_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreGetWin32HandleInfoKHR {
const TYPE: StructureType = StructureType::SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreGetZirconHandleInfoFUCHSIA {
const TYPE: StructureType = StructureType::SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreSciSyncCreateInfoNV {
const TYPE: StructureType = StructureType::SEMAPHORE_SCI_SYNC_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreSciSyncPoolCreateInfoNV {
const TYPE: StructureType = StructureType::SEMAPHORE_SCI_SYNC_POOL_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreSignalInfo {
const TYPE: StructureType = StructureType::SEMAPHORE_SIGNAL_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreSubmitInfo {
const TYPE: StructureType = StructureType::SEMAPHORE_SUBMIT_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreTypeCreateInfo {
const TYPE: StructureType = StructureType::SEMAPHORE_TYPE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SemaphoreWaitInfo {
const TYPE: StructureType = StructureType::SEMAPHORE_WAIT_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ShaderCreateInfoEXT {
const TYPE: StructureType = StructureType::SHADER_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ShaderModuleCreateInfo {
const TYPE: StructureType = StructureType::SHADER_MODULE_CREATE_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ShaderModuleIdentifierEXT {
const TYPE: StructureType = StructureType::SHADER_MODULE_IDENTIFIER_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for ShaderModuleIdentifierEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ShaderModuleValidationCacheCreateInfoEXT {
const TYPE: StructureType = StructureType::SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SharedPresentSurfaceCapabilitiesKHR {
const TYPE: StructureType = StructureType::SHARED_PRESENT_SURFACE_CAPABILITIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SharedPresentSurfaceCapabilitiesKHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SparseImageFormatProperties2 {
const TYPE: StructureType = StructureType::SPARSE_IMAGE_FORMAT_PROPERTIES_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SparseImageFormatProperties2 {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SparseImageMemoryRequirements2 {
const TYPE: StructureType = StructureType::SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SparseImageMemoryRequirements2 {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for StreamDescriptorSurfaceCreateInfoGGP {
const TYPE: StructureType = StructureType::STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SubmitInfo {
const TYPE: StructureType = StructureType::SUBMIT_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SubmitInfo2 {
const TYPE: StructureType = StructureType::SUBMIT_INFO_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SubpassBeginInfo {
const TYPE: StructureType = StructureType::SUBPASS_BEGIN_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SubpassDependency2 {
const TYPE: StructureType = StructureType::SUBPASS_DEPENDENCY_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SubpassDescription2 {
const TYPE: StructureType = StructureType::SUBPASS_DESCRIPTION_2;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SubpassDescriptionDepthStencilResolve {
const TYPE: StructureType = StructureType::SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SubpassEndInfo {
const TYPE: StructureType = StructureType::SUBPASS_END_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SubpassFragmentDensityMapOffsetEndInfoQCOM {
const TYPE: StructureType = StructureType::SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SubpassResolvePerformanceQueryEXT {
const TYPE: StructureType = StructureType::SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SubpassResolvePerformanceQueryEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SubpassShadingPipelineCreateInfoHUAWEI {
const TYPE: StructureType = StructureType::SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SubpassShadingPipelineCreateInfoHUAWEI {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SubresourceHostMemcpySizeEXT {
const TYPE: StructureType = StructureType::SUBRESOURCE_HOST_MEMCPY_SIZE_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SubresourceHostMemcpySizeEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SubresourceLayout2KHR {
const TYPE: StructureType = StructureType::SUBRESOURCE_LAYOUT_2_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SubresourceLayout2KHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfaceCapabilities2EXT {
const TYPE: StructureType = StructureType::SURFACE_CAPABILITIES_2_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SurfaceCapabilities2EXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfaceCapabilities2KHR {
const TYPE: StructureType = StructureType::SURFACE_CAPABILITIES_2_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SurfaceCapabilities2KHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfaceCapabilitiesFullScreenExclusiveEXT {
const TYPE: StructureType = StructureType::SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SurfaceCapabilitiesFullScreenExclusiveEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfaceCapabilitiesPresentBarrierNV {
const TYPE: StructureType = StructureType::SURFACE_CAPABILITIES_PRESENT_BARRIER_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SurfaceCapabilitiesPresentBarrierNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfaceFormat2KHR {
const TYPE: StructureType = StructureType::SURFACE_FORMAT_2_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SurfaceFormat2KHR {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfaceFullScreenExclusiveInfoEXT {
const TYPE: StructureType = StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SurfaceFullScreenExclusiveInfoEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfaceFullScreenExclusiveWin32InfoEXT {
const TYPE: StructureType = StructureType::SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfacePresentModeCompatibilityEXT {
const TYPE: StructureType = StructureType::SURFACE_PRESENT_MODE_COMPATIBILITY_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SurfacePresentModeCompatibilityEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfacePresentModeEXT {
const TYPE: StructureType = StructureType::SURFACE_PRESENT_MODE_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SurfacePresentModeEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfacePresentScalingCapabilitiesEXT {
const TYPE: StructureType = StructureType::SURFACE_PRESENT_SCALING_CAPABILITIES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SurfacePresentScalingCapabilitiesEXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SurfaceProtectedCapabilitiesKHR {
const TYPE: StructureType = StructureType::SURFACE_PROTECTED_CAPABILITIES_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SwapchainCounterCreateInfoEXT {
const TYPE: StructureType = StructureType::SWAPCHAIN_COUNTER_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SwapchainCreateInfoKHR {
const TYPE: StructureType = StructureType::SWAPCHAIN_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SwapchainDisplayNativeHdrCreateInfoAMD {
const TYPE: StructureType = StructureType::SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SwapchainPresentBarrierCreateInfoNV {
const TYPE: StructureType = StructureType::SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for SwapchainPresentBarrierCreateInfoNV {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for SwapchainPresentFenceInfoEXT {
const TYPE: StructureType = StructureType::SWAPCHAIN_PRESENT_FENCE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SwapchainPresentModeInfoEXT {
const TYPE: StructureType = StructureType::SWAPCHAIN_PRESENT_MODE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SwapchainPresentModesCreateInfoEXT {
const TYPE: StructureType = StructureType::SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SwapchainPresentScalingCreateInfoEXT {
const TYPE: StructureType = StructureType::SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for SysmemColorSpaceFUCHSIA {
const TYPE: StructureType = StructureType::SYSMEM_COLOR_SPACE_FUCHSIA;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for TextureLODGatherFormatPropertiesAMD {
const TYPE: StructureType = StructureType::TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for TextureLODGatherFormatPropertiesAMD {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for TilePropertiesQCOM {
const TYPE: StructureType = StructureType::TILE_PROPERTIES_QCOM;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for TilePropertiesQCOM {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for TimelineSemaphoreSubmitInfo {
const TYPE: StructureType = StructureType::TIMELINE_SEMAPHORE_SUBMIT_INFO;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ValidationCacheCreateInfoEXT {
const TYPE: StructureType = StructureType::VALIDATION_CACHE_CREATE_INFO_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ValidationFeaturesEXT {
const TYPE: StructureType = StructureType::VALIDATION_FEATURES_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for ValidationFlagsEXT {
const TYPE: StructureType = StructureType::VALIDATION_FLAGS_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for VertexInputAttributeDescription2EXT {
const TYPE: StructureType = StructureType::VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for VertexInputAttributeDescription2EXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for VertexInputBindingDescription2EXT {
const TYPE: StructureType = StructureType::VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl OutputChainStruct for VertexInputBindingDescription2EXT {
#[inline]
fn next_mut(&self) -> *mut c_void {
self.next
}
}
unsafe impl InputChainStruct for ViSurfaceCreateInfoNN {
const TYPE: StructureType = StructureType::VI_SURFACE_CREATE_INFO_NN;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for WaylandSurfaceCreateInfoKHR {
const TYPE: StructureType = StructureType::WAYLAND_SURFACE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for Win32KeyedMutexAcquireReleaseInfoKHR {
const TYPE: StructureType = StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for Win32KeyedMutexAcquireReleaseInfoNV {
const TYPE: StructureType = StructureType::WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for Win32SurfaceCreateInfoKHR {
const TYPE: StructureType = StructureType::WIN32_SURFACE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for WriteDescriptorSet {
const TYPE: StructureType = StructureType::WRITE_DESCRIPTOR_SET;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for WriteDescriptorSetAccelerationStructureKHR {
const TYPE: StructureType = StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for WriteDescriptorSetAccelerationStructureNV {
const TYPE: StructureType = StructureType::WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for WriteDescriptorSetInlineUniformBlock {
const TYPE: StructureType = StructureType::WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for XcbSurfaceCreateInfoKHR {
const TYPE: StructureType = StructureType::XCB_SURFACE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}
unsafe impl InputChainStruct for XlibSurfaceCreateInfoKHR {
const TYPE: StructureType = StructureType::XLIB_SURFACE_CREATE_INFO_KHR;
#[inline]
fn s_type(&self) -> StructureType {
self.s_type
}
#[inline]
fn next(&self) -> *const c_void {
self.next
}
}