Check out the Preface in the Evergreen Family ISA doc - Differences between the R700-Family and Evergreen-Family of devices.
On 7xx and earlier the parameters were interpolated across each tri/quad by fixed-function hardware -- in Evergreen the pixel shader does the interpolation itself so shader compiler has to insert the additional instructions. Vertex parameters are passed in through LDS now.
The texture and vertex fetch instructions are a bit different - think that's another shader compiler change.
Those are the main ones from the ISA guide. Richard mentioned something about constants being handled differently as well.
Anyways, take a skim through the ISA guide and look at the INTERP instructions. Some of them are used to pick up vertex parms from LDS, others do the actual interpolation (I think). The ISA doc sort-of explains how the work with triangles... not sure if magic is required for quads![]()


Reply With Quote

