pub enum Declared {
Show 19 variants
Temps(u32),
IndexableTemp {
register: u32,
size: u32,
components: u32,
},
GlobalFlags(u32),
ConstantBuffer {
slot: u32,
rows: u32,
dynamic: bool,
dimensions: usize,
},
Sampler {
slot: u32,
mode: u32,
},
Resource {
slot: u32,
dimension: u32,
samples: u32,
returns: ReturnCodes,
token: u32,
},
ResourceRaw {
slot: u32,
},
ResourceStructured {
slot: u32,
stride: u32,
},
UavTyped {
slot: u32,
dimension: u32,
returns: ReturnCodes,
token: u32,
control: u32,
},
UavRaw {
slot: u32,
control: u32,
},
UavStructured {
slot: u32,
stride: u32,
control: u32,
},
ThreadGroup([u32; 3]),
GroupSharedRaw {
register: u32,
bytes: u32,
},
GroupSharedStructured {
register: u32,
stride: u32,
count: u32,
},
Input {
operand: Operand,
interpolation: Option<u32>,
name: Option<u32>,
},
Output {
operand: Operand,
name: Option<u32>,
},
ImmediateBuffer(Vec<[u32; 4]>),
CustomData {
class: u32,
},
Other {
opcode: u16,
control: u32,
words: Vec<u32>,
},
}Expand description
A declaration, typed where this reader knows its layout.
Variants§
Temps(u32)
dcl_temps.
IndexableTemp
dcl_indexable_temp x<register>[size], components.
Fields
GlobalFlags(u32)
dcl_globalFlags: the control bits as stored (bit 0 refactoring allowed, 1 double precision, 2 forced early
depth-stencil, 3 raw and structured buffers, 4 skip optimization, 5 min precision, 6 double extensions, 7
shader extensions).
ConstantBuffer
dcl_constantbuffer cb<slot>[rows]; dynamic when it is dynamically indexed.
Fields
Sampler
dcl_sampler s<slot>, its mode: 0 default, 1 comparison, 2 mono.
Resource
dcl_resource_<dimension> t<slot>: the D3D resource dimension code, the sample count of a multisampled one,
and the four return types.
Fields
returns: ReturnCodesThe return type of each lane.
ResourceRaw
dcl_resource_raw t<slot>.
ResourceStructured
dcl_resource_structured t<slot>, stride.
UavTyped
dcl_uav_typed and its control bits (dimension in bits 0 to 4, globally coherent bit 5).
Fields
returns: ReturnCodesThe return type of each lane.
UavRaw
dcl_uav_raw u<slot>.
UavStructured
dcl_uav_structured u<slot>, stride.
Fields
ThreadGroup([u32; 3])
dcl_thread_group x, y, z.
dcl_tgsm_raw g<register>, bytes.
dcl_tgsm_structured g<register>, stride, count.
Input
An input register or special input: dcl_input, _sgv, _siv, _ps, _ps_sgv, _ps_siv. interpolation is
a pixel input’s D3D_INTERPOLATION_MODE; name a system value’s D3D_NAME.
Fields
Output
An output register or special output: dcl_output, _sgv, _siv.
Fields
ImmediateBuffer(Vec<[u32; 4]>)
dcl_immediateConstantBuffer.
CustomData
Custom data that is not an immediate constant buffer (a comment, debug information, …) by its class.
Other
A declaration this decoder does not type: stage-specific (geometry, tessellation, compute), interface tables.