pub struct PhysicalDeviceMeshShaderPropertiesEXT<'a> {Show 30 fields
pub s_type: StructureType,
pub p_next: *mut c_void,
pub max_task_work_group_total_count: u32,
pub max_task_work_group_count: [u32; 3],
pub max_task_work_group_invocations: u32,
pub max_task_work_group_size: [u32; 3],
pub max_task_payload_size: u32,
pub max_task_shared_memory_size: u32,
pub max_task_payload_and_shared_memory_size: u32,
pub max_mesh_work_group_total_count: u32,
pub max_mesh_work_group_count: [u32; 3],
pub max_mesh_work_group_invocations: u32,
pub max_mesh_work_group_size: [u32; 3],
pub max_mesh_shared_memory_size: u32,
pub max_mesh_payload_and_shared_memory_size: u32,
pub max_mesh_output_memory_size: u32,
pub max_mesh_payload_and_output_memory_size: u32,
pub max_mesh_output_components: u32,
pub max_mesh_output_vertices: u32,
pub max_mesh_output_primitives: u32,
pub max_mesh_output_layers: u32,
pub max_mesh_multiview_view_count: u32,
pub mesh_output_per_vertex_granularity: u32,
pub mesh_output_per_primitive_granularity: u32,
pub max_preferred_task_work_group_invocations: u32,
pub max_preferred_mesh_work_group_invocations: u32,
pub prefers_local_invocation_vertex_output: Bool32,
pub prefers_local_invocation_primitive_output: Bool32,
pub prefers_compact_vertex_output: Bool32,
pub prefers_compact_primitive_output: Bool32,
/* private fields */
}Expand description
Native structure VkPhysicalDeviceMeshShaderPropertiesEXT.
Fields§
§s_type: StructureTypeNative field sType.
p_next: *mut c_voidNative field pNext.
max_task_work_group_total_count: u32Native field maxTaskWorkGroupTotalCount.
max_task_work_group_count: [u32; 3]Native field maxTaskWorkGroupCount.
max_task_work_group_invocations: u32Native field maxTaskWorkGroupInvocations.
max_task_work_group_size: [u32; 3]Native field maxTaskWorkGroupSize.
max_task_payload_size: u32Native field maxTaskPayloadSize.
Native field maxTaskSharedMemorySize.
Native field maxTaskPayloadAndSharedMemorySize.
max_mesh_work_group_total_count: u32Native field maxMeshWorkGroupTotalCount.
max_mesh_work_group_count: [u32; 3]Native field maxMeshWorkGroupCount.
max_mesh_work_group_invocations: u32Native field maxMeshWorkGroupInvocations.
max_mesh_work_group_size: [u32; 3]Native field maxMeshWorkGroupSize.
Native field maxMeshSharedMemorySize.
Native field maxMeshPayloadAndSharedMemorySize.
max_mesh_output_memory_size: u32Native field maxMeshOutputMemorySize.
max_mesh_payload_and_output_memory_size: u32Native field maxMeshPayloadAndOutputMemorySize.
max_mesh_output_components: u32Native field maxMeshOutputComponents.
max_mesh_output_vertices: u32Native field maxMeshOutputVertices.
max_mesh_output_primitives: u32Native field maxMeshOutputPrimitives.
max_mesh_output_layers: u32Native field maxMeshOutputLayers.
max_mesh_multiview_view_count: u32Native field maxMeshMultiviewViewCount.
mesh_output_per_vertex_granularity: u32Native field meshOutputPerVertexGranularity.
mesh_output_per_primitive_granularity: u32Native field meshOutputPerPrimitiveGranularity.
max_preferred_task_work_group_invocations: u32Native field maxPreferredTaskWorkGroupInvocations.
max_preferred_mesh_work_group_invocations: u32Native field maxPreferredMeshWorkGroupInvocations.
prefers_local_invocation_vertex_output: Bool32Native field prefersLocalInvocationVertexOutput.
prefers_local_invocation_primitive_output: Bool32Native field prefersLocalInvocationPrimitiveOutput.
prefers_compact_vertex_output: Bool32Native field prefersCompactVertexOutput.
prefers_compact_primitive_output: Bool32Native field prefersCompactPrimitiveOutput.
Implementations§
Source§impl<'a> PhysicalDeviceMeshShaderPropertiesEXT<'a>
impl<'a> PhysicalDeviceMeshShaderPropertiesEXT<'a>
Sourcepub fn new() -> Self
pub fn new() -> Self
Construct the record with its canonical sType tag and default native state.
Sourcepub fn set_max_task_work_group_total_count(self, value: u32) -> Self
pub fn set_max_task_work_group_total_count(self, value: u32) -> Self
Set native field maxTaskWorkGroupTotalCount without native effects.
Sourcepub fn set_max_task_work_group_count(self, value: [u32; 3]) -> Self
pub fn set_max_task_work_group_count(self, value: [u32; 3]) -> Self
Set native field maxTaskWorkGroupCount without native effects.
Sourcepub fn set_max_task_work_group_invocations(self, value: u32) -> Self
pub fn set_max_task_work_group_invocations(self, value: u32) -> Self
Set native field maxTaskWorkGroupInvocations without native effects.
Sourcepub fn set_max_task_work_group_size(self, value: [u32; 3]) -> Self
pub fn set_max_task_work_group_size(self, value: [u32; 3]) -> Self
Set native field maxTaskWorkGroupSize without native effects.
Sourcepub fn set_max_task_payload_size(self, value: u32) -> Self
pub fn set_max_task_payload_size(self, value: u32) -> Self
Set native field maxTaskPayloadSize without native effects.
Set native field maxTaskSharedMemorySize without native effects.
Set native field maxTaskPayloadAndSharedMemorySize without native effects.
Sourcepub fn set_max_mesh_work_group_total_count(self, value: u32) -> Self
pub fn set_max_mesh_work_group_total_count(self, value: u32) -> Self
Set native field maxMeshWorkGroupTotalCount without native effects.
Sourcepub fn set_max_mesh_work_group_count(self, value: [u32; 3]) -> Self
pub fn set_max_mesh_work_group_count(self, value: [u32; 3]) -> Self
Set native field maxMeshWorkGroupCount without native effects.
Sourcepub fn set_max_mesh_work_group_invocations(self, value: u32) -> Self
pub fn set_max_mesh_work_group_invocations(self, value: u32) -> Self
Set native field maxMeshWorkGroupInvocations without native effects.
Sourcepub fn set_max_mesh_work_group_size(self, value: [u32; 3]) -> Self
pub fn set_max_mesh_work_group_size(self, value: [u32; 3]) -> Self
Set native field maxMeshWorkGroupSize without native effects.
Set native field maxMeshSharedMemorySize without native effects.
Set native field maxMeshPayloadAndSharedMemorySize without native effects.
Sourcepub fn set_max_mesh_output_memory_size(self, value: u32) -> Self
pub fn set_max_mesh_output_memory_size(self, value: u32) -> Self
Set native field maxMeshOutputMemorySize without native effects.
Sourcepub fn set_max_mesh_payload_and_output_memory_size(self, value: u32) -> Self
pub fn set_max_mesh_payload_and_output_memory_size(self, value: u32) -> Self
Set native field maxMeshPayloadAndOutputMemorySize without native effects.
Sourcepub fn set_max_mesh_output_components(self, value: u32) -> Self
pub fn set_max_mesh_output_components(self, value: u32) -> Self
Set native field maxMeshOutputComponents without native effects.
Sourcepub fn set_max_mesh_output_vertices(self, value: u32) -> Self
pub fn set_max_mesh_output_vertices(self, value: u32) -> Self
Set native field maxMeshOutputVertices without native effects.
Sourcepub fn set_max_mesh_output_primitives(self, value: u32) -> Self
pub fn set_max_mesh_output_primitives(self, value: u32) -> Self
Set native field maxMeshOutputPrimitives without native effects.
Sourcepub fn set_max_mesh_output_layers(self, value: u32) -> Self
pub fn set_max_mesh_output_layers(self, value: u32) -> Self
Set native field maxMeshOutputLayers without native effects.
Sourcepub fn set_max_mesh_multiview_view_count(self, value: u32) -> Self
pub fn set_max_mesh_multiview_view_count(self, value: u32) -> Self
Set native field maxMeshMultiviewViewCount without native effects.
Sourcepub fn set_mesh_output_per_vertex_granularity(self, value: u32) -> Self
pub fn set_mesh_output_per_vertex_granularity(self, value: u32) -> Self
Set native field meshOutputPerVertexGranularity without native effects.
Sourcepub fn set_mesh_output_per_primitive_granularity(self, value: u32) -> Self
pub fn set_mesh_output_per_primitive_granularity(self, value: u32) -> Self
Set native field meshOutputPerPrimitiveGranularity without native effects.
Sourcepub fn set_max_preferred_task_work_group_invocations(self, value: u32) -> Self
pub fn set_max_preferred_task_work_group_invocations(self, value: u32) -> Self
Set native field maxPreferredTaskWorkGroupInvocations without native effects.
Sourcepub fn set_max_preferred_mesh_work_group_invocations(self, value: u32) -> Self
pub fn set_max_preferred_mesh_work_group_invocations(self, value: u32) -> Self
Set native field maxPreferredMeshWorkGroupInvocations without native effects.
Sourcepub fn set_prefers_local_invocation_vertex_output(self, value: Bool32) -> Self
pub fn set_prefers_local_invocation_vertex_output(self, value: Bool32) -> Self
Set native field prefersLocalInvocationVertexOutput without native effects.
Sourcepub fn set_prefers_local_invocation_primitive_output(
self,
value: Bool32,
) -> Self
pub fn set_prefers_local_invocation_primitive_output( self, value: Bool32, ) -> Self
Set native field prefersLocalInvocationPrimitiveOutput without native effects.
Sourcepub fn set_prefers_compact_vertex_output(self, value: Bool32) -> Self
pub fn set_prefers_compact_vertex_output(self, value: Bool32) -> Self
Set native field prefersCompactVertexOutput without native effects.
Sourcepub fn set_prefers_compact_primitive_output(self, value: Bool32) -> Self
pub fn set_prefers_compact_primitive_output(self, value: Bool32) -> Self
Set native field prefersCompactPrimitiveOutput 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.