pub struct ImageCreateInfo<'a> {Show 15 fields
pub s_type: StructureType,
pub p_next: *const c_void,
pub flags: ImageCreateFlags,
pub image_type: ImageType,
pub format: Format,
pub extent: Extent3D,
pub mip_levels: u32,
pub array_layers: u32,
pub samples: SampleCountFlagBits,
pub tiling: ImageTiling,
pub usage: ImageUsageFlags,
pub sharing_mode: SharingMode,
pub queue_family_index_count: u32,
pub p_queue_family_indices: *const u32,
pub initial_layout: ImageLayout,
/* private fields */
}Expand description
Native structure VkImageCreateInfo.
Fields§
§s_type: StructureTypeNative field sType.
p_next: *const c_voidNative field pNext.
flags: ImageCreateFlagsNative field flags.
image_type: ImageTypeNative field imageType.
format: FormatNative field format.
extent: Extent3DNative field extent.
mip_levels: u32Native field mipLevels.
array_layers: u32Native field arrayLayers.
samples: SampleCountFlagBitsNative field samples.
tiling: ImageTilingNative field tiling.
usage: ImageUsageFlagsNative field usage.
sharing_mode: SharingModeNative field sharingMode.
queue_family_index_count: u32Native field queueFamilyIndexCount.
p_queue_family_indices: *const u32Native field pQueueFamilyIndices.
initial_layout: ImageLayoutNative field initialLayout.
Implementations§
Source§impl<'a> ImageCreateInfo<'a>
impl<'a> ImageCreateInfo<'a>
Sourcepub fn new() -> Self
pub fn new() -> Self
Construct the record with its canonical sType tag and default native state.
Sourcepub fn set_flags(self, value: ImageCreateFlags) -> Self
pub fn set_flags(self, value: ImageCreateFlags) -> Self
Set native field flags without native effects.
Sourcepub fn set_image_type(self, value: ImageType) -> Self
pub fn set_image_type(self, value: ImageType) -> Self
Set native field imageType without native effects.
Sourcepub fn set_format(self, value: Format) -> Self
pub fn set_format(self, value: Format) -> Self
Set native field format without native effects.
Sourcepub fn set_extent(self, value: Extent3D) -> Self
pub fn set_extent(self, value: Extent3D) -> Self
Set native field extent without native effects.
Sourcepub fn set_mip_levels(self, value: u32) -> Self
pub fn set_mip_levels(self, value: u32) -> Self
Set native field mipLevels without native effects.
Sourcepub fn set_array_layers(self, value: u32) -> Self
pub fn set_array_layers(self, value: u32) -> Self
Set native field arrayLayers without native effects.
Sourcepub fn set_samples(self, value: SampleCountFlagBits) -> Self
pub fn set_samples(self, value: SampleCountFlagBits) -> Self
Set native field samples without native effects.
Sourcepub fn set_tiling(self, value: ImageTiling) -> Self
pub fn set_tiling(self, value: ImageTiling) -> Self
Set native field tiling without native effects.
Sourcepub fn set_usage(self, value: ImageUsageFlags) -> Self
pub fn set_usage(self, value: ImageUsageFlags) -> Self
Set native field usage without native effects.
Sourcepub fn set_sharing_mode(self, value: SharingMode) -> Self
pub fn set_sharing_mode(self, value: SharingMode) -> Self
Set native field sharingMode without native effects.
Sourcepub fn set_queue_family_index_count(self, value: u32) -> Self
pub fn set_queue_family_index_count(self, value: u32) -> Self
Set native count queueFamilyIndexCount directly without checking associated pointer extents.
Use the borrowed array helpers to derive matching storage and counts together.
Direct count edits support null-query/dynamic-state paths and remain a
native-call validity obligation, including after earlier borrowed setters.
Sourcepub fn set_queue_family_indices(
self,
value: &'a [u32],
) -> Result<Self, ConstructionError>
pub fn set_queue_family_indices( self, value: &'a [u32], ) -> Result<Self, ConstructionError>
Borrow pQueueFamilyIndices and set checked native count queueFamilyIndexCount.
The borrow covers this storage only; nested raw pointers, format, alignment
and asynchronous retention remain native-call obligations.
Output storage must be initialized; returned sizes do not enlarge its capacity.
§Errors
Returns a construction error if the length exceeds the native count width.
Sourcepub fn set_initial_layout(self, value: ImageLayout) -> Self
pub fn set_initial_layout(self, value: ImageLayout) -> Self
Set native field initialLayout without native effects.
Sourcepub fn push_next<T: Extends<Self>>(
self,
next: &'a mut T,
) -> Result<Self, ConstructionError>
pub fn push_next<T: Extends<Self>>( self, next: &'a mut T, ) -> Result<Self, ConstructionError>
Prepend one registry-compatible node, retaining its exclusive borrow.
The node must have a null p_next and both headers must have canonical tags.
Existing links are never traversed and remain written after the borrow ends.
Type compatibility does not establish enabled extensions or Vulkan valid usage.
§Errors
Returns a construction error for a changed structure tag or already-linked node.
Trait Implementations§
Source§impl<'a> Default for ImageCreateInfo<'a>
impl<'a> Default for ImageCreateInfo<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImageCreateFlags2CreateInfoKHR<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImageUsageFlags2CreateInfoKHR<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for DedicatedAllocationImageCreateInfoNV<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ExternalMemoryImageCreateInfoNV<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ExternalMemoryImageCreateInfo<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImageSwapchainCreateInfoKHR<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImageFormatListCreateInfo<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ExternalFormatANDROID<'a>
platform-android only.impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImageDrmFormatModifierListCreateInfoEXT<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImageDrmFormatModifierExplicitCreateInfoEXT<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImageStencilUsageCreateInfo<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImageStencilUsage2CreateInfoKHR<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for VideoProfileListInfoKHR<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for OpaqueCaptureDescriptorDataCreateInfoEXT<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for BufferCollectionImageCreateInfoFUCHSIA<'a>
platform-fuchsia only.impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImageCompressionControlEXT<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ExportMetalObjectCreateInfoEXT<'a>
platform-metal only.impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImportMetalTextureInfoEXT<'a>
platform-metal only.impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImportMetalIOSurfaceInfoEXT<'a>
platform-metal only.impl<'a, 'root> Extends<ImageCreateInfo<'root>> for OpticalFlowImageFormatInfoNV<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ExternalFormatQNX<'a>
platform-screen only.impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ImageAlignmentControlCreateInfoMESA<'a>
impl<'a, 'root> Extends<ImageCreateInfo<'root>> for ExternalFormatOHOS<'a>
platform-ohos only.