armchair_architect
Newcomer
It is multiplied 1/pos.w, and that is calculated by the SFU (via rcp) at the beginning of the program.
I think you've got that backwards. If the VS outputs 6 scalar attributes (say vec4 position and vec2 texcoords) (x,y,z,w,s,t), then the values used for plane equation setup are (x/w, y/w, z/w, 1/w, s/w, t/w). To get the perspective-correct interpolation of 's', for example, you'd need to do:
Code:
INTERP r0, v[3]; # evaluate 1/pos.w at pixel
RCP r0, r0; # compute interpolated pos.w
INTERP r1, v[4]; # evaluate s/pos.w at pixel
MUL r1, r1, r0; # compute p-c interpolated s