pub struct PhysicalDeviceMeshShaderPropertiesNV<'a> {Show 15 fields
pub s_type: StructureType,
pub p_next: *mut c_void,
pub max_draw_mesh_tasks_count: u32,
pub max_task_work_group_invocations: u32,
pub max_task_work_group_size: [u32; 3],
pub max_task_total_memory_size: u32,
pub max_task_output_count: u32,
pub max_mesh_work_group_invocations: u32,
pub max_mesh_work_group_size: [u32; 3],
pub max_mesh_total_memory_size: u32,
pub max_mesh_output_vertices: u32,
pub max_mesh_output_primitives: u32,
pub max_mesh_multiview_view_count: u32,
pub mesh_output_per_vertex_granularity: u32,
pub mesh_output_per_primitive_granularity: u32,
/* private fields */
}Expand description
Native structure VkPhysicalDeviceMeshShaderPropertiesNV.
Fields§
§s_type: StructureTypeNative field sType.
p_next: *mut c_voidNative field pNext.
max_draw_mesh_tasks_count: u32Native field maxDrawMeshTasksCount.
max_task_work_group_invocations: u32Native field maxTaskWorkGroupInvocations.
max_task_work_group_size: [u32; 3]Native field maxTaskWorkGroupSize.
max_task_total_memory_size: u32Native field maxTaskTotalMemorySize.
max_task_output_count: u32Native field maxTaskOutputCount.
max_mesh_work_group_invocations: u32Native field maxMeshWorkGroupInvocations.
max_mesh_work_group_size: [u32; 3]Native field maxMeshWorkGroupSize.
max_mesh_total_memory_size: u32Native field maxMeshTotalMemorySize.
max_mesh_output_vertices: u32Native field maxMeshOutputVertices.
max_mesh_output_primitives: u32Native field maxMeshOutputPrimitives.
max_mesh_multiview_view_count: u32Native field maxMeshMultiviewViewCount.
mesh_output_per_vertex_granularity: u32Native field meshOutputPerVertexGranularity.
mesh_output_per_primitive_granularity: u32Native field meshOutputPerPrimitiveGranularity.
Implementations§
Source§impl<'a> PhysicalDeviceMeshShaderPropertiesNV<'a>
impl<'a> PhysicalDeviceMeshShaderPropertiesNV<'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_draw_mesh_tasks_count(self, value: u32) -> Self
pub fn set_max_draw_mesh_tasks_count(self, value: u32) -> Self
Set native field maxDrawMeshTasksCount 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_total_memory_size(self, value: u32) -> Self
pub fn set_max_task_total_memory_size(self, value: u32) -> Self
Set native field maxTaskTotalMemorySize without native effects.
Sourcepub fn set_max_task_output_count(self, value: u32) -> Self
pub fn set_max_task_output_count(self, value: u32) -> Self
Set native field maxTaskOutputCount 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.
Sourcepub fn set_max_mesh_total_memory_size(self, value: u32) -> Self
pub fn set_max_mesh_total_memory_size(self, value: u32) -> Self
Set native field maxMeshTotalMemorySize 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_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 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.