vk · Structs · S4
16 public declarations with native signatures and source-owned contracts.
Stvk::ShaderCreateFlagBitsEXT
Contract
Open integer representation of VkShaderCreateFlagBitsEXT.
Fields
0
0: u32Methods and associated items
LINK_STAGE_BIT_EXT
Native value VK_SHADER_CREATE_LINK_STAGE_BIT_EXT.
DESCRIPTOR_HEAP_BIT_EXT
Native value VK_SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXT.
INSTRUMENT_SHADER_BIT_ARM
Native value VK_SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM.
Khronos reference: VK_SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM
ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
Native value VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT.
Khronos reference: VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT
REQUIRE_FULL_SUBGROUPS_BIT_EXT
Native value VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT.
Khronos reference: VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT
NO_TASK_SHADER_BIT_EXT
Native value VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT.
DISPATCH_BASE_BIT_EXT
Native value VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT.
FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT
Native value VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT.
Khronos reference: VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT
FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
Native value VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT.
Khronos reference: VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
INDIRECT_BINDABLE_BIT_EXT
Native value VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT.
Khronos reference: VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT
OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_BIT_EXT
Native value VK_SHADER_CREATE_OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_BIT_EXT.
Khronos reference: VK_SHADER_CREATE_OPACITY_MICROMAP_DISALLOW_MIXED_SPECIAL_INDEX_BIT_EXT
_64_BIT_INDEXING_BIT_EXT
Native value VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT.
INDEPENDENT_SETS_BIT_KHR
Native value VK_SHADER_CREATE_INDEPENDENT_SETS_BIT_KHR.
Khronos reference: VK_SHADER_CREATE_INDEPENDENT_SETS_BIT_KHR
from_raw
as_raw
empty
Output
& operator.bitand
& operation. Read moreOutput-1
| operator.bitor
| operation. Read moreOutput-2
^ operator.bitxor
^ operation. Read moreclone
fmt
default
hash
Output-3
! operator.not
! operation. Read moreeq
self and other values to be equal, and is used by ==.Stvk::ShaderCreateInfoEXT
pub struct ShaderCreateInfoEXT<'a> {
pub s_type: StructureType,
pub p_next: *const c_void,
pub flags: ShaderCreateFlagsEXT,
pub stage: ShaderStageFlagBits,
pub next_stage: ShaderStageFlags,
pub code_type: ShaderCodeTypeEXT,
pub code_size: usize,
pub p_code: *const c_void,
pub p_name: *const c_char,
pub set_layout_count: u32,
pub p_set_layouts: *const DescriptorSetLayout,
pub push_constant_range_count: u32,
pub p_push_constant_ranges: *const PushConstantRange,
pub p_specialization_info: *const SpecializationInfo<'a>,
/* private fields */
}Contract
Native structure VkShaderCreateInfoEXT.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
flags
flags: ShaderCreateFlagsEXTNative field flags.
stage
stage: ShaderStageFlagBitsNative field stage.
next_stage
next_stage: ShaderStageFlagsNative field nextStage.
code_type
code_type: ShaderCodeTypeEXTNative field codeType.
code_size
code_size: usizeNative field codeSize.
p_code
p_code: *const c_voidNative field pCode.
p_name
p_name: *const c_charNative field pName.
set_layout_count
set_layout_count: u32Native field setLayoutCount.
p_set_layouts
p_set_layouts: *const DescriptorSetLayoutNative field pSetLayouts.
push_constant_range_count
push_constant_range_count: u32Native field pushConstantRangeCount.
p_push_constant_ranges
p_push_constant_ranges: *const PushConstantRangeNative field pPushConstantRanges.
p_specialization_info
p_specialization_info: *const SpecializationInfo<'a>Native field pSpecializationInfo.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_flags
Set native field flags without native effects.
set_stage
Set native field stage without native effects.
set_next_stage
Set native field nextStage without native effects.
set_code_type
Set native field codeType without native effects.
set_code_size
Set native count codeSize 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_code
Borrow pCode and set checked native byte size codeSize.
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_name
Set native field pName without native effects.
set_set_layout_count
Set native count setLayoutCount 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_set_layouts
Borrow pSetLayouts and set checked native count setLayoutCount.
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_push_constant_range_count
Set native count pushConstantRangeCount 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_push_constant_ranges
Borrow pPushConstantRanges and set checked native count pushConstantRangeCount.
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_specialization_info
Set native field pSpecializationInfo without native effects.
push_next
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.
default
Stvk::ShaderDescriptorSetAndBindingMappingInfoEXT
Contract
Native structure VkShaderDescriptorSetAndBindingMappingInfoEXT.
Khronos reference: VkShaderDescriptorSetAndBindingMappingInfoEXT
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
mapping_count
mapping_count: u32Native field mappingCount.
p_mappings
p_mappings: *const DescriptorSetAndBindingMappingEXT<'a>Native field pMappings.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_mapping_count
Set native count mappingCount 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_mappings
Borrow pMappings and set checked native count mappingCount.
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
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.
default
Stvk::ShaderEXT
Contract
Raw Vulkan handle VkShaderEXT.
Khronos reference: VkShaderEXT
Calls using this identity must satisfy Vulkan lifetime and synchronization rules.
Fields
0
0: u64Methods and associated items
NULL
is_null
from_raw
as_raw
clone
fmt
default
hash
eq
self and other values to be equal, and is used by ==.Stvk::ShaderFloatControlsIndependence
Contract
Open integer representation of VkShaderFloatControlsIndependence.
Fields
0
0: i32Methods and associated items
_32_BIT_ONLY
Native value VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY.
Khronos reference: VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
ALL
Native value VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL.
Khronos reference: VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
NONE
Native value VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE.
Khronos reference: VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
_32_BIT_ONLY_KHR
Native value VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR.
Khronos reference: VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR
ALL_KHR
Native value VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR.
Khronos reference: VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR
NONE_KHR
Native value VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR.
Khronos reference: VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR
from_raw
as_raw
empty
clone
fmt
default
hash
eq
self and other values to be equal, and is used by ==.Stvk::ShaderGroupShaderKHR
Contract
Open integer representation of VkShaderGroupShaderKHR.
Fields
0
0: i32Methods and associated items
GENERAL_KHR
Native value VK_SHADER_GROUP_SHADER_GENERAL_KHR.
CLOSEST_HIT_KHR
Native value VK_SHADER_GROUP_SHADER_CLOSEST_HIT_KHR.
ANY_HIT_KHR
Native value VK_SHADER_GROUP_SHADER_ANY_HIT_KHR.
INTERSECTION_KHR
Native value VK_SHADER_GROUP_SHADER_INTERSECTION_KHR.
from_raw
as_raw
empty
clone
fmt
default
hash
eq
self and other values to be equal, and is used by ==.Stvk::ShaderInfoTypeAMD
Contract
Open integer representation of VkShaderInfoTypeAMD.
Fields
0
0: i32Methods and associated items
STATISTICS_AMD
Native value VK_SHADER_INFO_TYPE_STATISTICS_AMD.
BINARY_AMD
Native value VK_SHADER_INFO_TYPE_BINARY_AMD.
DISASSEMBLY_AMD
Native value VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD.
from_raw
as_raw
empty
clone
fmt
default
hash
eq
self and other values to be equal, and is used by ==.Stvk::ShaderInstrumentationARM
Contract
Raw Vulkan handle VkShaderInstrumentationARM.
Khronos reference: VkShaderInstrumentationARM
Calls using this identity must satisfy Vulkan lifetime and synchronization rules.
Fields
0
0: u64Methods and associated items
NULL
is_null
from_raw
as_raw
clone
fmt
default
hash
eq
self and other values to be equal, and is used by ==.Stvk::ShaderInstrumentationCreateInfoARM
Contract
Native structure VkShaderInstrumentationCreateInfoARM.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *mut c_voidNative field pNext.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
push_next
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.
default
Stvk::ShaderInstrumentationMetricDataHeaderARM
Contract
Native structure VkShaderInstrumentationMetricDataHeaderARM.
Khronos reference: VkShaderInstrumentationMetricDataHeaderARM
Fields
result_index
result_index: u32Native field resultIndex.
result_sub_index
result_sub_index: u32Native field resultSubIndex.
stages
stages: ShaderStageFlagsNative field stages.
basic_block_index
basic_block_index: u32Native field basicBlockIndex.
Methods and associated items
new
Construct the record with its default native state.
set_result_index
Set native field resultIndex without native effects.
set_result_sub_index
Set native field resultSubIndex without native effects.
set_stages
Set native field stages without native effects.
set_basic_block_index
Set native field basicBlockIndex without native effects.
clone
default
Stvk::ShaderInstrumentationMetricDescriptionARM
Contract
Native structure VkShaderInstrumentationMetricDescriptionARM.
Khronos reference: VkShaderInstrumentationMetricDescriptionARM
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *mut c_voidNative field pNext.
name
name: [c_char; 256]Native field name.
description
description: [c_char; 256]Native field description.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_name
Set native field name without native effects.
set_description
Set native field description without native effects.
push_next
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.
default
Stvk::ShaderInstrumentationValuesFlagsARM
Contract
Open integer representation of VkShaderInstrumentationValuesFlagsARM.
Fields
0
0: u32Methods and associated items
from_raw
as_raw
empty
Output
& operator.bitand
& operation. Read moreOutput-1
| operator.bitor
| operation. Read moreOutput-2
^ operator.bitxor
^ operation. Read moreclone
fmt
default
hash
Output-3
! operator.not
! operation. Read moreeq
self and other values to be equal, and is used by ==.Stvk::ShaderModule
Contract
Raw Vulkan handle VkShaderModule.
Khronos reference: VkShaderModule
Calls using this identity must satisfy Vulkan lifetime and synchronization rules.
Fields
0
0: u64Methods and associated items
NULL
is_null
from_raw
as_raw
clone
fmt
default
hash
eq
self and other values to be equal, and is used by ==.Stvk::ShaderModuleCreateFlags
Contract
Open integer representation of VkShaderModuleCreateFlags.
Fields
0
0: u32Methods and associated items
from_raw
as_raw
empty
Output
& operator.bitand
& operation. Read moreOutput-1
| operator.bitor
| operation. Read moreOutput-2
^ operator.bitxor
^ operation. Read moreclone
fmt
default
hash
Output-3
! operator.not
! operation. Read moreeq
self and other values to be equal, and is used by ==.Stvk::ShaderModuleCreateInfo
Contract
Native structure VkShaderModuleCreateInfo.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
flags
flags: ShaderModuleCreateFlagsNative field flags.
code_size
code_size: usizeNative field codeSize.
p_code
p_code: *const u32Native field pCode.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_flags
Set native field flags without native effects.
set_code_size
Set native field codeSize without native effects.
set_code
Borrow SPIR-V words and set native codeSize in bytes.
Shader validity and required capabilities remain native-call obligations.
push_next
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.
default
Stvk::ShaderModuleIdentifierEXT
Contract
Native structure VkShaderModuleIdentifierEXT.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *mut c_voidNative field pNext.
identifier_size
identifier_size: u32Native field identifierSize.
identifier
identifier: [u8; 32]Native field identifier.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_identifier_size
Set native count identifierSize 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_identifier
Set native field identifier without native effects.
push_next
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.