pub struct PhysicalDeviceShaderCorePropertiesAMD<'a> {Show 16 fields
pub s_type: StructureType,
pub p_next: *mut c_void,
pub shader_engine_count: u32,
pub shader_arrays_per_engine_count: u32,
pub compute_units_per_shader_array: u32,
pub simd_per_compute_unit: u32,
pub wavefronts_per_simd: u32,
pub wavefront_size: u32,
pub sgprs_per_simd: u32,
pub min_sgpr_allocation: u32,
pub max_sgpr_allocation: u32,
pub sgpr_allocation_granularity: u32,
pub vgprs_per_simd: u32,
pub min_vgpr_allocation: u32,
pub max_vgpr_allocation: u32,
pub vgpr_allocation_granularity: u32,
/* private fields */
}Expand description
Native structure VkPhysicalDeviceShaderCorePropertiesAMD.
Fields§
§s_type: StructureTypeNative field sType.
p_next: *mut c_voidNative field pNext.
shader_engine_count: u32Native field shaderEngineCount.
shader_arrays_per_engine_count: u32Native field shaderArraysPerEngineCount.
compute_units_per_shader_array: u32Native field computeUnitsPerShaderArray.
simd_per_compute_unit: u32Native field simdPerComputeUnit.
wavefronts_per_simd: u32Native field wavefrontsPerSimd.
wavefront_size: u32Native field wavefrontSize.
sgprs_per_simd: u32Native field sgprsPerSimd.
min_sgpr_allocation: u32Native field minSgprAllocation.
max_sgpr_allocation: u32Native field maxSgprAllocation.
sgpr_allocation_granularity: u32Native field sgprAllocationGranularity.
vgprs_per_simd: u32Native field vgprsPerSimd.
min_vgpr_allocation: u32Native field minVgprAllocation.
max_vgpr_allocation: u32Native field maxVgprAllocation.
vgpr_allocation_granularity: u32Native field vgprAllocationGranularity.
Implementations§
Source§impl<'a> PhysicalDeviceShaderCorePropertiesAMD<'a>
impl<'a> PhysicalDeviceShaderCorePropertiesAMD<'a>
Sourcepub fn new() -> Self
pub fn new() -> Self
Construct the record with its canonical sType tag and default native state.
Sourcepub fn set_shader_engine_count(self, value: u32) -> Self
pub fn set_shader_engine_count(self, value: u32) -> Self
Set native field shaderEngineCount without native effects.
Sourcepub fn set_shader_arrays_per_engine_count(self, value: u32) -> Self
pub fn set_shader_arrays_per_engine_count(self, value: u32) -> Self
Set native field shaderArraysPerEngineCount without native effects.
Sourcepub fn set_compute_units_per_shader_array(self, value: u32) -> Self
pub fn set_compute_units_per_shader_array(self, value: u32) -> Self
Set native field computeUnitsPerShaderArray without native effects.
Sourcepub fn set_simd_per_compute_unit(self, value: u32) -> Self
pub fn set_simd_per_compute_unit(self, value: u32) -> Self
Set native field simdPerComputeUnit without native effects.
Sourcepub fn set_wavefronts_per_simd(self, value: u32) -> Self
pub fn set_wavefronts_per_simd(self, value: u32) -> Self
Set native field wavefrontsPerSimd without native effects.
Sourcepub fn set_wavefront_size(self, value: u32) -> Self
pub fn set_wavefront_size(self, value: u32) -> Self
Set native field wavefrontSize without native effects.
Sourcepub fn set_sgprs_per_simd(self, value: u32) -> Self
pub fn set_sgprs_per_simd(self, value: u32) -> Self
Set native field sgprsPerSimd without native effects.
Sourcepub fn set_min_sgpr_allocation(self, value: u32) -> Self
pub fn set_min_sgpr_allocation(self, value: u32) -> Self
Set native field minSgprAllocation without native effects.
Sourcepub fn set_max_sgpr_allocation(self, value: u32) -> Self
pub fn set_max_sgpr_allocation(self, value: u32) -> Self
Set native field maxSgprAllocation without native effects.
Sourcepub fn set_sgpr_allocation_granularity(self, value: u32) -> Self
pub fn set_sgpr_allocation_granularity(self, value: u32) -> Self
Set native field sgprAllocationGranularity without native effects.
Sourcepub fn set_vgprs_per_simd(self, value: u32) -> Self
pub fn set_vgprs_per_simd(self, value: u32) -> Self
Set native field vgprsPerSimd without native effects.
Sourcepub fn set_min_vgpr_allocation(self, value: u32) -> Self
pub fn set_min_vgpr_allocation(self, value: u32) -> Self
Set native field minVgprAllocation without native effects.
Sourcepub fn set_max_vgpr_allocation(self, value: u32) -> Self
pub fn set_max_vgpr_allocation(self, value: u32) -> Self
Set native field maxVgprAllocation without native effects.
Sourcepub fn set_vgpr_allocation_granularity(self, value: u32) -> Self
pub fn set_vgpr_allocation_granularity(self, value: u32) -> Self
Set native field vgprAllocationGranularity 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.