Realm

vk · Structs · P31

16 public declarations with native signatures and source-owned contracts.

StRustExperimental

Stvk::PipelineBinaryInfoKHR

pub struct PipelineBinaryInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub binary_count: u32, pub p_pipeline_binaries: *const PipelineBinaryKHR, /* private fields */ }
Native structure VkPipelineBinaryInfoKHR.

Contract

Native structure VkPipelineBinaryInfoKHR.

Khronos reference: VkPipelineBinaryInfoKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

binary_count

Field
binary_count: u32

Native field binaryCount.

p_pipeline_binaries

Field
p_pipeline_binaries: *const PipelineBinaryKHR

Native field pPipelineBinaries.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_binary_count

Method
pub fn set_binary_count(self, value: u32) -> Self

Set native count binaryCount 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.

set_pipeline_binaries

Method
pub fn set_pipeline_binaries( self, value: &'a [PipelineBinaryKHR], ) -> Result<Self, ConstructionError>

Borrow pPipelineBinaries and set checked native count binaryCount. 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.

push_next

Method
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.

Stvk::PipelineBinaryKeyKHR

pub struct PipelineBinaryKeyKHR<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub key_size: u32, pub key: [u8; 32], /* private fields */ }
Native structure VkPipelineBinaryKeyKHR.

Contract

Native structure VkPipelineBinaryKeyKHR.

Khronos reference: VkPipelineBinaryKeyKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

key_size

Field
key_size: u32

Native field keySize.

key

Field
key: [u8; 32]

Native field key.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_key_size

Method
pub fn set_key_size(self, value: u32) -> Self

Set native count keySize 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.

set_key

Method
pub fn set_key(self, value: [u8; 32]) -> Self

Set native field key without native effects.

push_next

Method
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.

Stvk::PipelineBinaryKeysAndDataKHR

pub struct PipelineBinaryKeysAndDataKHR<'a> { pub binary_count: u32, pub p_pipeline_binary_keys: *const PipelineBinaryKeyKHR<'a>, pub p_pipeline_binary_data: *const PipelineBinaryDataKHR<'a>, /* private fields */ }
Native structure VkPipelineBinaryKeysAndDataKHR.

Contract

Native structure VkPipelineBinaryKeysAndDataKHR.

Khronos reference: VkPipelineBinaryKeysAndDataKHR

Fields

binary_count

Field
binary_count: u32

Native field binaryCount.

p_pipeline_binary_keys

Field
p_pipeline_binary_keys: *const PipelineBinaryKeyKHR<'a>

Native field pPipelineBinaryKeys.

p_pipeline_binary_data

Field
p_pipeline_binary_data: *const PipelineBinaryDataKHR<'a>

Native field pPipelineBinaryData.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_binary_count

Method
pub fn set_binary_count(self, value: u32) -> Self

Set native count binaryCount 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.

set_pipeline_binary_keys

Method
pub fn set_pipeline_binary_keys( self, pipeline_binary_keys: &'a [PipelineBinaryKeyKHR<'a>], pipeline_binary_data: &'a [PipelineBinaryDataKHR<'a>], ) -> Result<Self, ConstructionError>

Borrow parallel arrays sharing native binaryCount. Optional arrays may be null. Mutable arrays retain exclusive borrows of initialized output storage. This checks lengths only; native valid usage and later raw edits remain caller obligations.

Errors

Returns a construction error for unequal lengths or native count overflow.

clone

Method
fn clone(&self) -> PipelineBinaryKeysAndDataKHR<'a>
Returns a duplicate of the value. Read more

Stvk::PipelineBinaryKHR

Contract

Raw Vulkan handle VkPipelineBinaryKHR.

Khronos reference: VkPipelineBinaryKHR Calls using this identity must satisfy Vulkan lifetime and synchronization rules.

Fields

0

Field
0: u64
No public source comment is attached to this declaration.

Methods and associated items

NULL

Method
pub const NULL: Self
No public source comment is attached to this declaration.

is_null

Method
pub fn is_null(self) -> bool
No public source comment is attached to this declaration.

from_raw

Method
pub fn from_raw(value: u64) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub fn as_raw(self) -> u64
No public source comment is attached to this declaration.

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

eq

Method
fn eq(&self, other: &PipelineBinaryKHR) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::PipelineBindPoint

Contract

Open integer representation of VkPipelineBindPoint.

Khronos reference: VkPipelineBindPoint

Fields

0

Field
0: i32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: i32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> i32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> PipelineBindPoint
Returns the “default value” for a type. Read more

eq

Method
fn eq(&self, other: &PipelineBindPoint) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::PipelineCache

Contract

Raw Vulkan handle VkPipelineCache.

Khronos reference: VkPipelineCache Calls using this identity must satisfy Vulkan lifetime and synchronization rules.

Fields

0

Field
0: u64
No public source comment is attached to this declaration.

Methods and associated items

NULL

Method
pub const NULL: Self
No public source comment is attached to this declaration.

is_null

Method
pub fn is_null(self) -> bool
No public source comment is attached to this declaration.

from_raw

Method
pub fn from_raw(value: u64) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub fn as_raw(self) -> u64
No public source comment is attached to this declaration.

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

eq

Method
fn eq(&self, other: &PipelineCache) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::PipelineCacheCreateFlagBits

Contract

Open integer representation of VkPipelineCacheCreateFlagBits.

Khronos reference: VkPipelineCacheCreateFlagBits

Fields

0

Field
0: u32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: u32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> u32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

Output

Method
type Output = PipelineCacheCreateFlagBits
The resulting type after applying the & operator.

Output-1

Method
type Output = PipelineCacheCreateFlagBits
The resulting type after applying the | operator.

Output-2

Method
type Output = PipelineCacheCreateFlagBits
The resulting type after applying the ^ operator.

clone

Method
fn clone(&self) -> PipelineCacheCreateFlagBits
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> PipelineCacheCreateFlagBits
Returns the “default value” for a type. Read more

Output-3

Method
type Output = PipelineCacheCreateFlagBits
The resulting type after applying the ! operator.

eq

Method
fn eq(&self, other: &PipelineCacheCreateFlagBits) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::PipelineCacheCreateInfo

pub struct PipelineCacheCreateInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: PipelineCacheCreateFlags, pub initial_data_size: usize, pub p_initial_data: *const c_void, /* private fields */ }
Native structure VkPipelineCacheCreateInfo.

Contract

Native structure VkPipelineCacheCreateInfo.

Khronos reference: VkPipelineCacheCreateInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: PipelineCacheCreateFlags

Native field flags.

initial_data_size

Field
initial_data_size: usize

Native field initialDataSize.

p_initial_data

Field
p_initial_data: *const c_void

Native field pInitialData.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_flags

Method
pub fn set_flags(self, value: PipelineCacheCreateFlags) -> Self

Set native field flags without native effects.

set_initial_data_size

Method
pub fn set_initial_data_size(self, value: usize) -> Self

Set native count initialDataSize 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.

set_initial_data

Method
pub fn set_initial_data( self, value: &'a [u8], ) -> Result<Self, ConstructionError>

Borrow pInitialData and set checked native byte size initialDataSize. 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.

push_next

Method
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.

Stvk::PipelineCacheHeaderVersion

Contract

Open integer representation of VkPipelineCacheHeaderVersion.

Khronos reference: VkPipelineCacheHeaderVersion

Fields

0

Field
0: i32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: i32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> i32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

clone

Method
fn clone(&self) -> PipelineCacheHeaderVersion
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> PipelineCacheHeaderVersion
Returns the “default value” for a type. Read more

eq

Method
fn eq(&self, other: &PipelineCacheHeaderVersion) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::PipelineCacheHeaderVersionDataGraphQCOM

#[repr(C)]pub struct PipelineCacheHeaderVersionDataGraphQCOM { pub header_size: u32, pub header_version: PipelineCacheHeaderVersion, pub cache_type: DataGraphModelCacheTypeQCOM, pub cache_version: u32, pub toolchain_version: [u32; 3], }
Native structure VkPipelineCacheHeaderVersionDataGraphQCOM.

Contract

Native structure VkPipelineCacheHeaderVersionDataGraphQCOM.

Khronos reference: VkPipelineCacheHeaderVersionDataGraphQCOM

Fields

header_size

Field
header_size: u32

Native field headerSize.

header_version

Field
header_version: PipelineCacheHeaderVersion

Native field headerVersion.

cache_type

Field
cache_type: DataGraphModelCacheTypeQCOM

Native field cacheType.

cache_version

Field
cache_version: u32

Native field cacheVersion.

toolchain_version

Field
toolchain_version: [u32; 3]

Native field toolchainVersion.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_header_size

Method
pub fn set_header_size(self, value: u32) -> Self

Set native field headerSize without native effects.

set_header_version

Method
pub fn set_header_version(self, value: PipelineCacheHeaderVersion) -> Self

Set native field headerVersion without native effects.

set_cache_type

Method
pub fn set_cache_type(self, value: DataGraphModelCacheTypeQCOM) -> Self

Set native field cacheType without native effects.

set_cache_version

Method
pub fn set_cache_version(self, value: u32) -> Self

Set native field cacheVersion without native effects.

set_toolchain_version

Method
pub fn set_toolchain_version(self, value: [u32; 3]) -> Self

Set native field toolchainVersion without native effects.

clone

Method
fn clone(&self) -> PipelineCacheHeaderVersionDataGraphQCOM
Returns a duplicate of the value. Read more

Stvk::PipelineCacheHeaderVersionOne

#[repr(C)]pub struct PipelineCacheHeaderVersionOne { pub header_size: u32, pub header_version: PipelineCacheHeaderVersion, pub vendor_id: u32, pub device_id: u32, pub pipeline_cache_uuid: [u8; 16], }
Native structure VkPipelineCacheHeaderVersionOne.

Contract

Native structure VkPipelineCacheHeaderVersionOne.

Khronos reference: VkPipelineCacheHeaderVersionOne

Fields

header_size

Field
header_size: u32

Native field headerSize.

header_version

Field
header_version: PipelineCacheHeaderVersion

Native field headerVersion.

vendor_id

Field
vendor_id: u32

Native field vendorID.

device_id

Field
device_id: u32

Native field deviceID.

pipeline_cache_uuid

Field
pipeline_cache_uuid: [u8; 16]

Native field pipelineCacheUUID.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_header_size

Method
pub fn set_header_size(self, value: u32) -> Self

Set native field headerSize without native effects.

set_header_version

Method
pub fn set_header_version(self, value: PipelineCacheHeaderVersion) -> Self

Set native field headerVersion without native effects.

set_vendor_id

Method
pub fn set_vendor_id(self, value: u32) -> Self

Set native field vendorID without native effects.

set_device_id

Method
pub fn set_device_id(self, value: u32) -> Self

Set native field deviceID without native effects.

set_pipeline_cache_uuid

Method
pub fn set_pipeline_cache_uuid(self, value: [u8; 16]) -> Self

Set native field pipelineCacheUUID without native effects.

clone

Method
fn clone(&self) -> PipelineCacheHeaderVersionOne
Returns a duplicate of the value. Read more

Stvk::PipelineColorBlendAdvancedStateCreateInfoEXT

pub struct PipelineColorBlendAdvancedStateCreateInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub src_premultiplied: Bool32, pub dst_premultiplied: Bool32, pub blend_overlap: BlendOverlapEXT, /* private fields */ }
Native structure VkPipelineColorBlendAdvancedStateCreateInfoEXT.

Contract

Native structure VkPipelineColorBlendAdvancedStateCreateInfoEXT.

Khronos reference: VkPipelineColorBlendAdvancedStateCreateInfoEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

src_premultiplied

Field
src_premultiplied: Bool32

Native field srcPremultiplied.

dst_premultiplied

Field
dst_premultiplied: Bool32

Native field dstPremultiplied.

blend_overlap

Field
blend_overlap: BlendOverlapEXT

Native field blendOverlap.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_src_premultiplied

Method
pub fn set_src_premultiplied(self, value: Bool32) -> Self

Set native field srcPremultiplied without native effects.

set_dst_premultiplied

Method
pub fn set_dst_premultiplied(self, value: Bool32) -> Self

Set native field dstPremultiplied without native effects.

set_blend_overlap

Method
pub fn set_blend_overlap(self, value: BlendOverlapEXT) -> Self

Set native field blendOverlap without native effects.

push_next

Method
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.

Stvk::PipelineColorBlendAttachmentState

#[repr(C)]pub struct PipelineColorBlendAttachmentState { pub blend_enable: Bool32, pub src_color_blend_factor: BlendFactor, pub dst_color_blend_factor: BlendFactor, pub color_blend_op: BlendOp, pub src_alpha_blend_factor: BlendFactor, pub dst_alpha_blend_factor: BlendFactor, pub alpha_blend_op: BlendOp, pub color_write_mask: ColorComponentFlags, }
Native structure VkPipelineColorBlendAttachmentState.

Contract

Native structure VkPipelineColorBlendAttachmentState.

Khronos reference: VkPipelineColorBlendAttachmentState

Fields

blend_enable

Field
blend_enable: Bool32

Native field blendEnable.

src_color_blend_factor

Field
src_color_blend_factor: BlendFactor

Native field srcColorBlendFactor.

dst_color_blend_factor

Field
dst_color_blend_factor: BlendFactor

Native field dstColorBlendFactor.

color_blend_op

Field
color_blend_op: BlendOp

Native field colorBlendOp.

src_alpha_blend_factor

Field
src_alpha_blend_factor: BlendFactor

Native field srcAlphaBlendFactor.

dst_alpha_blend_factor

Field
dst_alpha_blend_factor: BlendFactor

Native field dstAlphaBlendFactor.

alpha_blend_op

Field
alpha_blend_op: BlendOp

Native field alphaBlendOp.

color_write_mask

Field
color_write_mask: ColorComponentFlags

Native field colorWriteMask.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_blend_enable

Method
pub fn set_blend_enable(self, value: Bool32) -> Self

Set native field blendEnable without native effects.

set_src_color_blend_factor

Method
pub fn set_src_color_blend_factor(self, value: BlendFactor) -> Self

Set native field srcColorBlendFactor without native effects.

set_dst_color_blend_factor

Method
pub fn set_dst_color_blend_factor(self, value: BlendFactor) -> Self

Set native field dstColorBlendFactor without native effects.

set_color_blend_op

Method
pub fn set_color_blend_op(self, value: BlendOp) -> Self

Set native field colorBlendOp without native effects.

set_src_alpha_blend_factor

Method
pub fn set_src_alpha_blend_factor(self, value: BlendFactor) -> Self

Set native field srcAlphaBlendFactor without native effects.

set_dst_alpha_blend_factor

Method
pub fn set_dst_alpha_blend_factor(self, value: BlendFactor) -> Self

Set native field dstAlphaBlendFactor without native effects.

set_alpha_blend_op

Method
pub fn set_alpha_blend_op(self, value: BlendOp) -> Self

Set native field alphaBlendOp without native effects.

set_color_write_mask

Method
pub fn set_color_write_mask(self, value: ColorComponentFlags) -> Self

Set native field colorWriteMask without native effects.

clone

Method
fn clone(&self) -> PipelineColorBlendAttachmentState
Returns a duplicate of the value. Read more

Stvk::PipelineColorBlendStateCreateFlagBits

Contract

Open integer representation of VkPipelineColorBlendStateCreateFlagBits.

Khronos reference: VkPipelineColorBlendStateCreateFlagBits

Fields

0

Field
0: u32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: u32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> u32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

Output

Method
type Output = PipelineColorBlendStateCreateFlagBits
The resulting type after applying the & operator.

Output-1

Method
type Output = PipelineColorBlendStateCreateFlagBits
The resulting type after applying the | operator.

Output-2

Method
type Output = PipelineColorBlendStateCreateFlagBits
The resulting type after applying the ^ operator.

clone

Method
fn clone(&self) -> PipelineColorBlendStateCreateFlagBits
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> PipelineColorBlendStateCreateFlagBits
Returns the “default value” for a type. Read more

Output-3

Method
type Output = PipelineColorBlendStateCreateFlagBits
The resulting type after applying the ! operator.

eq

Method
fn eq(&self, other: &PipelineColorBlendStateCreateFlagBits) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::PipelineColorBlendStateCreateInfo

pub struct PipelineColorBlendStateCreateInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: PipelineColorBlendStateCreateFlags, pub logic_op_enable: Bool32, pub logic_op: LogicOp, pub attachment_count: u32, pub p_attachments: *const PipelineColorBlendAttachmentState, pub blend_constants: [f32; 4], /* private fields */ }
Native structure VkPipelineColorBlendStateCreateInfo.

Contract

Native structure VkPipelineColorBlendStateCreateInfo.

Khronos reference: VkPipelineColorBlendStateCreateInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: PipelineColorBlendStateCreateFlags

Native field flags.

logic_op_enable

Field
logic_op_enable: Bool32

Native field logicOpEnable.

logic_op

Field
logic_op: LogicOp

Native field logicOp.

attachment_count

Field
attachment_count: u32

Native field attachmentCount.

p_attachments

Field
p_attachments: *const PipelineColorBlendAttachmentState

Native field pAttachments.

blend_constants

Field
blend_constants: [f32; 4]

Native field blendConstants.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_flags

Method
pub fn set_flags(self, value: PipelineColorBlendStateCreateFlags) -> Self

Set native field flags without native effects.

set_logic_op_enable

Method
pub fn set_logic_op_enable(self, value: Bool32) -> Self

Set native field logicOpEnable without native effects.

set_logic_op

Method
pub fn set_logic_op(self, value: LogicOp) -> Self

Set native field logicOp without native effects.

set_attachment_count

Method
pub fn set_attachment_count(self, value: u32) -> Self

Set native count attachmentCount 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.

set_attachments

Method
pub fn set_attachments( self, value: &'a [PipelineColorBlendAttachmentState], ) -> Result<Self, ConstructionError>

Borrow pAttachments and set checked native count attachmentCount. 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.

set_blend_constants

Method
pub fn set_blend_constants(self, value: [f32; 4]) -> Self

Set native field blendConstants without native effects.

push_next

Method
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.

Stvk::PipelineColorWriteCreateInfoEXT

pub struct PipelineColorWriteCreateInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub attachment_count: u32, pub p_color_write_enables: *const Bool32, /* private fields */ }
Native structure VkPipelineColorWriteCreateInfoEXT.

Contract

Native structure VkPipelineColorWriteCreateInfoEXT.

Khronos reference: VkPipelineColorWriteCreateInfoEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

attachment_count

Field
attachment_count: u32

Native field attachmentCount.

p_color_write_enables

Field
p_color_write_enables: *const Bool32

Native field pColorWriteEnables.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

set_attachment_count

Method
pub fn set_attachment_count(self, value: u32) -> Self

Set native count attachmentCount 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.

set_color_write_enables

Method
pub fn set_color_write_enables( self, value: &'a [Bool32], ) -> Result<Self, ConstructionError>

Borrow pColorWriteEnables and set checked native count attachmentCount. 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.

push_next

Method
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.