Fragment Program: after 'register allocation' # Radeon Compiler Program 0: BEGIN_TEX; 1: TEX temp[2], input[2].xy__, 2D[0] SEM_WAIT SEM_ACQUIRE; 2: src0.xyz = const[6], src1.xyz = const[2] MAD temp[7].x, src0.y__, src1.x__, src0.00_ 3: src0.xyz = const[6], src1.xyz = const[1] MAD temp[7].y, src0._y_, src1._x_, src0.00_ 4: src0.xyz = input[4] DP3, src0.xyz, src0.xyz DP3 temp[3].w, src0._, src0._ 5: src0.xyz = input[3], src0.w = temp[3] DP3 temp[7].z, src0.xyz, src0.xyz RSQ temp[4].w, |src0.w| 6: src0.xyz = input[6], src1.xyz = temp[7] DP3 temp[7].z, src0.xyz, src0.xyz RSQ temp[5].w, |src1.z| 7: src0.xyz = input[5], src0.w = temp[3] DP3 temp[8].x, src0.xyz, src0.xyz MAD temp[3].w, -src0.w, src0.1, src0.1 8: src0.w = temp[4], src1.xyz = input[4], src2.xyz = temp[8] MAD temp[4].xyz, src0.www, src1.xyz, src0.000 RSQ temp[4].w, |src2.x| 9: src0.xyz = temp[7], src1.xyz = temp[7] MAD temp[7].xy, src0.xy_, src0.11_, src0.HH_ RSQ temp[6].w, |src1.z| 10: src0.xyz = input[3], src0.w = temp[5], src2.xyz = temp[4] MAD temp[3].xyz, src0.xyz, src0.www, src2.xyz 11: src0.xyz = input[5], src0.w = temp[4] MAD temp[5].xyz, src0.xyz, src0.www, src0.000 12: src0.xyz = input[6], src0.w = temp[6] MAD temp[6].xyz, src0.xyz, src0.www, src0.000 13: src0.xyz = temp[4], src1.xyz = temp[5] DP3, -src0.xyz, src1.xyz DP3 temp[4].w, -src0._, src0._ 14: src0.xyz = temp[7] FRC temp[5].xy, src0.xy_ 15: src0.xyz = temp[6], src1.xyz = temp[4] DP3_SAT temp[4].x, src0.xyz, src1.xyz 16: src0.xyz = temp[3] DP3 temp[4].y, src0.xyz, src0.xyz 17: src0.xyz = temp[5], src1.xyz = const[7], src2.xyz = temp[4] MAD temp[5].xy, src0.xy_, src1.xx_, src1.yy_ RSQ temp[5].w, |src2.y| 18: src0.xyz = temp[4], src0.w = input[0], src1.xyz = input[0] MAD temp[0].xyz, src0.xxx, src1.xyz, src0.000 MAD temp[0].w, src0.x, src0.w, src0.0 19: src0.xyz = temp[3], src0.w = temp[5] MAD temp[3].xyz, src0.xyz, src0.www, src0.000 20: src0.xyz = temp[5] MAD temp[5].xy, src0.xy_, src0.xy_, src0.00_ 21: src0.xyz = temp[6], src1.xyz = temp[3] DP3_SAT, src0.xyz, src1.xyz DP3_SAT temp[5].w, src0._, src0._ 22: src0.xyz = temp[5], src0.w = const[7], src1.xyz = const[7] MAD temp[3].x, src0.y__, src1.z__, src0.w__ MAD temp[6].w, src0.x, src1.z, src0.w 23: src0.xyz = temp[5], src0.w = temp[6], src1.xyz = temp[3], src1.w = const[6] MAD temp[3].x, src0.y__, src1.x__, src1.w__ MAD temp[6].w, src0.x, src0.w, src1.w 24: src0.xyz = temp[5], src0.w = temp[6], src1.xyz = temp[3], src2.xyz = const[8] MAD temp[3].x, src0.y__, src1.x__, src2.x__ MAD temp[6].w, src0.x, src0.w, src2.x 25: src0.w = temp[5] LG2 temp[5].w, src0.w 26: src0.xyz = temp[5], src0.w = temp[6], src1.xyz = temp[3] MAD temp[6].z, src0.__y, src1.__x, -src0.__H MAD temp[6].w, src0.x, src0.w, -src0.H 27: src0.xyz = temp[5], src0.w = temp[5], src1.xyz = temp[6], src1.w = temp[6], src2.xyz = const[4] MAD temp[3].xy, src0.xy_, src1.wz_, src0.11_ MAD temp[5].w, src0.w, src2.x, src0.0 28: src0.xyz = temp[3], src0.w = temp[4] MAD temp[3].x, -src0.x__, src0.1__, src0.y__ MAD temp[4].w, -src0.x, src0.1, src0.w 29: src0.w = temp[5] EX2 temp[5].w, src0.w 30: src0.w = input[1], src1.xyz = input[1], src1.w = temp[5] MAD temp[1].xyz, src1.www, src1.xyz, src0.000 MAD temp[1].w, src1.w, src0.w, src0.0 31: src0.xyz = temp[3] RCP temp[5].w, src0.x 32: src0.w = temp[4], src1.w = temp[5] MAD_SAT temp[4].w, src1.w, src0.w, src0.0 33: src0.xyz = const[8], src0.w = temp[4] MAD temp[3].x, src0.w__, src0.y__, src0.z__ MAD temp[4].w, src0.w, src0.w, src0.0 34: src0.xyz = temp[3], src0.w = temp[4] MAD temp[4].w, src0.x, src0.w, src0.0 35: src0.w = temp[3], src1.w = temp[4] MAD temp[4].w, src0.w, src1.w, src0.0 36: src0.w = temp[4], src1.w = temp[3] CMP temp[3].w, src0.w, src0.0, src1.w 37: src0.xyz = const[0], src0.w = temp[3], src1.xyz = const[5], src1.w = const[0], src2.w = const[5] MAD temp[3].xyz, src0.www, src0.xyz, src1.xyz MAD temp[4].w, src0.w, src1.w, src2.w 38: src0.xyz = temp[0], src0.w = temp[3], src1.w = temp[0] MAD temp[0].xyz, src0.www, src0.xyz, src0.000 MAD temp[0].w, src0.w, src1.w, src0.0 39: src0.xyz = temp[1], src0.w = temp[3], src1.w = temp[1] MAD temp[1].xyz, src0.www, src0.xyz, src0.000 MAD temp[1].w, src0.w, src1.w, src0.0 40: src0.xyz = const[3], src0.w = const[3], src1.xyz = temp[3], src1.w = temp[4], src2.xyz = temp[0], src2.w = temp[0] MAD temp[0].xyz, src0.xyz, src1.xyz, src2.xyz MAD temp[0].w, src0.w, src1.w, src2.w 41: src0.xyz = temp[1], src0.w = temp[1], src1.xyz = temp[4] CMP temp[1].xyz, src0.000, src0.xyz, -src1.xxx CMP temp[1].w, src0.0, src0.w, -src1.x 42: src0.xyz = temp[1], src0.w = temp[1], src1.xyz = temp[0], src1.w = temp[0], src2.xyz = temp[2], src2.w = temp[2], srcp.xyz = (src1 + src0), srcp.w = (src1 + src0) SEM_WAIT MAD temp[0].xyz, src2.xyz, srcp.xyz, src0.000 MAD temp[0].w, src2.w, srcp.w, src0.0 43: src0.xyz = temp[0], src0.w = temp[0] MAD color[0].xyz, src0.xyz, src0.111, src0.000 MAD color[0].w, src0.w, src0.1, src0.0