Parameter reads are only available in LDS, not in GDS. Pixel shaders use LDS to read vertex parameter values; the pixel shader then interpolates them to find the per-pixel parameter values. LDS parameter reads occur when the following opcodes are used.The typical parameter interpolation operations involves reading three parameters: P0, P10, and P20, and using the two barycentric coordinates, I and J, to determine the final per-pixel value Parameter interpolation and parameter move instructions must initialize the M0 register before using it. The lds_param_offset[15:0] is an address offset from the beginning of LDS storage allocated to this wavefront to where parameters begin in LDS memory for this wavefront. The new_prim_mask is a 15-bit mask with one bit per quad; a one in this mask indicates that this quad begins a new primitive, a zero indicates it uses the same primitive as the previous quad. The mask is 15 bits, not 16, since the first quad in a wavefront begins a new primitive and so it is not included in the mask
Parameter Interpolation on 16-bit data
The above parameter interpolation opcodes use the VINTRP microcode format, but for interpolation on 16-bit data, the VOP3 format is used. The opcodes supported are:In the VOP3 encoding, the following fields are overloaded: • SRC1 : this field holds the VINTERP VSRC value (I or J) • SRC0 : this is treated as a set of bit-fields: {attr_word[1], attr_chan[2], attr[6]} “attr_word” is a bit to select the low or high half of the LDS word. 1=high, 0=low.Atomic operations are arithmetic operations that combine data from VGPRs and data in LDS, and write the result back to LDS. Atomic operations have the option of returning the LDS "preop" value to VGPRs. The table below lists and briefly describes the LDS instruction fields
Data Share Indexed and Atomic Access
Both LDS and GDS can perform indexed and atomic data share operations. For brevity, "LDS" is used in the text below and, except where noted, also applies to GDS. Indexed and atomic operations supply a unique address per work-item from the VGPRs to the LDS, and supply or return unique data per work-item back to VGPRs. Due to the internal banked structure of LDS, operations can complete in as little as one cycle (for wave32, or 2 cycles for wave64), or take as many 64 cycles, depending upon the number of bank conflicts (addresses that map to the same memory bank). Indexed operations are simple LDS load and store operations that read data from, and return data to, VGPRs.
Our superior products
ABB -- AC 800M controller, Bailey, PM866 controller, IGCT silicon controlled 5SHY 3BHB01 3BHEO0 3HNA00 DSOC series
BENTLY --- 3500 system/proximitor, front and rear cards, sensors, power modules, probes, cables
Emerson -- modbus card, power panel, controller, power supply, base, power module, switch
EPRO --- Data acquisition module, probe, speed sensor, vibration sensor, shaft vibration transmitter, proximitor
FOXBORO - thermal resistance input/output module, power module, communication module, cable, controller, switch
GE --- module, air switch, I/O module, display, CPU module, power module, converter, CPU board, Ethernet module, integrated protection device, power module, gas turbine card
HIMA --- DI module, processor module, AI card, pulse encoder
Honeywell --- Secure digital output card, program module, analog input card, CPU module, FIM card
MOOG - servo valve, controller, module, power module
NI --- Information acquisition card, PXI module, card, chassis multi-channel control card
WESTINGHOUSE --- RTD thermal resistance input module, AI/AO/DI/DO module, power module, control module, base module
Woodward - Regulator, module, controller, governor
YOKOGAWA - Servo module, control cabinet node unit