pub struct SignatureElement {
pub name: String,
pub index: u32,
pub system_value: u32,
pub component_type: u32,
pub register: u32,
pub mask: u8,
pub read_write_mask: u8,
pub at: usize,
pub stream: u32,
pub min_precision: u32,
}Expand description
One element of a signature as stored.
Fields§
§name: StringThe semantic name (POSITION, TEXCOORD, …).
index: u32The semantic index (the 1 of TEXCOORD1).
system_value: u32D3D_NAME.
component_type: u32D3D_REGISTER_COMPONENT_TYPE.
register: u32The register the element is packed into.
mask: u8The components the element occupies, one bit each (x is bit 0).
read_write_mask: u8The components a program reads (inputs) or never writes (outputs), as stored.
at: usizeWhere the record starts, in words of the chunk.
stream: u32The output stream of a geometry program’s element (OSG5, OSG1); 0 in the other layouts.
min_precision: u32D3D_MIN_PRECISION (ISG1, OSG1, PSG1); 0 (default) in the other layouts.
Implementations§
Source§impl SignatureElement
impl SignatureElement
Sourcepub fn system_value_for(&self, output: bool, kind: ProgramType) -> u32
pub fn system_value_for(&self, output: bool, kind: ProgramType) -> u32
The element’s D3D_NAME: as stored, but for a pixel program’s outputs, which store none; theirs is the one
their semantic names (SV_Target is 64, SV_Depth 65, …). output says which signature the element is in.
Sourcepub fn system_value_name(&self, output: bool, kind: ProgramType) -> String
pub fn system_value_name(&self, output: bool, kind: ProgramType) -> String
Self::system_value_for as Microsoft’s disassembler names it in the SysValue column (POS, TARGET; SV
and the number for one it has no name for).
Sourcepub fn format_name(&self) -> &'static str
pub fn format_name(&self) -> &'static str
The component type as Microsoft’s disassembler names it in the Format column, or the minimum precision where
the element has one (float, min16f).