pub struct PhysicalDeviceSubgroupSizeControlProperties<'a> {
pub s_type: StructureType,
pub p_next: *mut c_void,
pub min_subgroup_size: u32,
pub max_subgroup_size: u32,
pub max_compute_workgroup_subgroups: u32,
pub required_subgroup_size_stages: ShaderStageFlags,
/* private fields */
}Expand description
Native structure VkPhysicalDeviceSubgroupSizeControlProperties.
Khronos reference: VkPhysicalDeviceSubgroupSizeControlProperties
Fields§
§s_type: StructureTypeNative field sType.
p_next: *mut c_voidNative field pNext.
min_subgroup_size: u32Native field minSubgroupSize.
max_subgroup_size: u32Native field maxSubgroupSize.
max_compute_workgroup_subgroups: u32Native field maxComputeWorkgroupSubgroups.
required_subgroup_size_stages: ShaderStageFlagsNative field requiredSubgroupSizeStages.
Implementations§
Source§impl<'a> PhysicalDeviceSubgroupSizeControlProperties<'a>
impl<'a> PhysicalDeviceSubgroupSizeControlProperties<'a>
Sourcepub fn new() -> Self
pub fn new() -> Self
Construct the record with its canonical sType tag and default native state.
Sourcepub fn set_min_subgroup_size(self, value: u32) -> Self
pub fn set_min_subgroup_size(self, value: u32) -> Self
Set native field minSubgroupSize without native effects.
Sourcepub fn set_max_subgroup_size(self, value: u32) -> Self
pub fn set_max_subgroup_size(self, value: u32) -> Self
Set native field maxSubgroupSize without native effects.
Sourcepub fn set_max_compute_workgroup_subgroups(self, value: u32) -> Self
pub fn set_max_compute_workgroup_subgroups(self, value: u32) -> Self
Set native field maxComputeWorkgroupSubgroups without native effects.
Sourcepub fn set_required_subgroup_size_stages(self, value: ShaderStageFlags) -> Self
pub fn set_required_subgroup_size_stages(self, value: ShaderStageFlags) -> Self
Set native field requiredSubgroupSizeStages 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.