http://developer.amd.com/gpu_assets/R700-Family_Instruction_Set_Architecture.pdf
For me the Chapter 1 is more than enough. :smile:
For me the Chapter 1 is more than enough. :smile:
Seems like it'll be a while before I understand it all.
Apart from the stuff about SIMD-global GPRs, LDS, and the double precision support pretty much identical to the R600 ISA document. R700 lost integer add (why? still supports integer sub) in the trans alu and gained (as we all already know) shift support in the xyzw alus.
Oh and btw there's at least one functional difference from rv770 to rv790 - "Burst memory reads are not supported by the RV770; however, the 710, 730, 740 and 790 do support it." (Chapter 7.3). So at least it's not the exact same chip tuned for higher frequency .
edit: I guess the lost integer add in trans alu is a typo. The doc lists the add_64 as available in the trans unit instead, and that can't be.
So that seems to confirm that interpolated attributes are emplaced by the SPI - and interestingly it's SPI that actually performs allocation and de-allocation of registers for all types of shaders.2.3.2 Pixel Program Flow
1. The PA reads out position data from the SX‟s position buffer and together with connectivity data from the VGT assembles primitives
2. The primitives are then sent to SC for coarse scan conversion.
3. The tiles are then sent to SPI for final pixel interpolation:
a. The SPI allocates a pixel thread and GPRs4. The shader core is then notified that a pixel wavefront and shader program are ready for execution
b. The SC and SPI read per-vertex parameter data from the SX
c. It then interpolates that data along with barycentric data (I,J) from the SC to arrive at the per-pixel
value of each parameter.
d. These values are then loaded into GPRs
5. The shader program runs on all pixels in the wavefront and at the end exports data to the SX‟s export buffer
6. The SPI is informed when a wavefront has completed so that it can de-allocate GPR space
This was confirmed to be an error, RV790 doesn't support Burst memory readsOh and btw there's at least one functional difference from rv770 to rv790 - "Burst memory reads are not supported by the RV770; however, the 710, 730, 740 and 790 do support it." (Chapter 7.3). So at least it's not the exact same chip tuned for higher frequency .
Yes that's an old message there you quoted... But yes there are no logical differences between rv770 and rv790.This was confirmed to be an error, RV790 doesn't support Burst memory reads