Skip to main content

PhysicalDeviceMeshShaderPropertiesEXT

Struct PhysicalDeviceMeshShaderPropertiesEXT 

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

Khronos reference: VkPhysicalDeviceMeshShaderPropertiesEXT

Fields§

§s_type: StructureType

Native field sType.

§p_next: *mut c_void

Native field pNext.

§max_task_work_group_total_count: u32

Native field maxTaskWorkGroupTotalCount.

§max_task_work_group_count: [u32; 3]

Native field maxTaskWorkGroupCount.

§max_task_work_group_invocations: u32

Native field maxTaskWorkGroupInvocations.

§max_task_work_group_size: [u32; 3]

Native field maxTaskWorkGroupSize.

§max_task_payload_size: u32

Native field maxTaskPayloadSize.

§max_task_shared_memory_size: u32

Native field maxTaskSharedMemorySize.

§max_task_payload_and_shared_memory_size: u32

Native field maxTaskPayloadAndSharedMemorySize.

§max_mesh_work_group_total_count: u32

Native field maxMeshWorkGroupTotalCount.

§max_mesh_work_group_count: [u32; 3]

Native field maxMeshWorkGroupCount.

§max_mesh_work_group_invocations: u32

Native field maxMeshWorkGroupInvocations.

§max_mesh_work_group_size: [u32; 3]

Native field maxMeshWorkGroupSize.

§max_mesh_shared_memory_size: u32

Native field maxMeshSharedMemorySize.

§max_mesh_payload_and_shared_memory_size: u32

Native field maxMeshPayloadAndSharedMemorySize.

§max_mesh_output_memory_size: u32

Native field maxMeshOutputMemorySize.

§max_mesh_payload_and_output_memory_size: u32

Native field maxMeshPayloadAndOutputMemorySize.

§max_mesh_output_components: u32

Native field maxMeshOutputComponents.

§max_mesh_output_vertices: u32

Native field maxMeshOutputVertices.

§max_mesh_output_primitives: u32

Native field maxMeshOutputPrimitives.

§max_mesh_output_layers: u32

Native field maxMeshOutputLayers.

§max_mesh_multiview_view_count: u32

Native field maxMeshMultiviewViewCount.

§mesh_output_per_vertex_granularity: u32

Native field meshOutputPerVertexGranularity.

§mesh_output_per_primitive_granularity: u32

Native field meshOutputPerPrimitiveGranularity.

§max_preferred_task_work_group_invocations: u32

Native field maxPreferredTaskWorkGroupInvocations.

§max_preferred_mesh_work_group_invocations: u32

Native field maxPreferredMeshWorkGroupInvocations.

§prefers_local_invocation_vertex_output: Bool32

Native field prefersLocalInvocationVertexOutput.

§prefers_local_invocation_primitive_output: Bool32

Native field prefersLocalInvocationPrimitiveOutput.

§prefers_compact_vertex_output: Bool32

Native field prefersCompactVertexOutput.

§prefers_compact_primitive_output: Bool32

Native field prefersCompactPrimitiveOutput.

Implementations§

Source§

impl<'a> PhysicalDeviceMeshShaderPropertiesEXT<'a>

Source

pub fn new() -> Self

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

Source

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

Set native field maxTaskWorkGroupTotalCount without native effects.

Source

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

Set native field maxTaskWorkGroupCount without native effects.

Source

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

Set native field maxTaskWorkGroupInvocations without native effects.

Source

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

Set native field maxTaskWorkGroupSize without native effects.

Source

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

Set native field maxTaskPayloadSize without native effects.

Source

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

Set native field maxTaskSharedMemorySize without native effects.

Source

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

Set native field maxTaskPayloadAndSharedMemorySize without native effects.

Source

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

Set native field maxMeshWorkGroupTotalCount without native effects.

Source

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

Set native field maxMeshWorkGroupCount without native effects.

Source

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

Set native field maxMeshWorkGroupInvocations without native effects.

Source

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

Set native field maxMeshWorkGroupSize without native effects.

Source

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

Set native field maxMeshSharedMemorySize without native effects.

Source

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

Set native field maxMeshPayloadAndSharedMemorySize without native effects.

Source

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

Set native field maxMeshOutputMemorySize without native effects.

Source

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

Set native field maxMeshPayloadAndOutputMemorySize without native effects.

Source

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

Set native field maxMeshOutputComponents without native effects.

Source

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

Set native field maxMeshOutputVertices without native effects.

Source

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

Set native field maxMeshOutputPrimitives without native effects.

Source

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

Set native field maxMeshOutputLayers without native effects.

Source

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

Set native field maxMeshMultiviewViewCount without native effects.

Source

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

Set native field meshOutputPerVertexGranularity without native effects.

Source

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

Set native field meshOutputPerPrimitiveGranularity without native effects.

Source

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

Set native field maxPreferredTaskWorkGroupInvocations without native effects.

Source

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

Set native field maxPreferredMeshWorkGroupInvocations without native effects.

Source

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

Set native field prefersLocalInvocationVertexOutput without native effects.

Source

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

Set native field prefersLocalInvocationPrimitiveOutput without native effects.

Source

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

Set native field prefersCompactVertexOutput without native effects.

Source

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

Set native field prefersCompactPrimitiveOutput without native effects.

Source

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.

Trait Implementations§

Source§

impl<'a> Default for PhysicalDeviceMeshShaderPropertiesEXT<'a>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'a, 'root> Extends<PhysicalDeviceProperties2<'root>> for PhysicalDeviceMeshShaderPropertiesEXT<'a>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.