(gdb) call _mesa_print_program_parameters(&brw->intel.ctx, (struct gl_program *) brw->vertex_program ) InputsRead: 0x5 (0b101) OutputsWritten: 0x3f0011 (0b111111,00000000,00010001) NumInstructions=253 NumTemporaries=226 NumParameters=0 NumAttributes=0 NumAddressRegs=1 IndirectRegisterFiles: 0x1 (0b1) SamplersUsed: 0x0 (0b0) Samplers=[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ] dirty state flags: 0x507 param[0] sz=1 UNIFORM yNormal = {32, 0, 0, 0} param[1] sz=16 UNIFORM shadowMat = {0, 0, 0, 0} param[2] sz=12 UNIFORM shadowMat = {0, 0, 0, 0} param[3] sz=8 UNIFORM shadowMat = {0, 0, 0, 0} param[4] sz=4 UNIFORM shadowMat = {0, 0, 0, 0} param[5] sz=4 STATE state.matrix.modelview.transpose.row[0] = {1, 0, 0, 0} param[6] sz=4 STATE state.matrix.modelview.transpose.row[1] = {0, 6.12e-17, 1, 0} param[7] sz=4 STATE state.matrix.modelview.transpose.row[2] = {0, -1, 6.12e-17, 0} param[8] sz=4 STATE state.matrix.modelview.transpose.row[3] = {0.5, 99.5, -6.09e-15, 1} param[9] sz=4 STATE state.matrix.projection.transpose.row[0] = {0.02, 0, 0, 0} param[10] sz=4 STATE state.matrix.projection.transpose.row[1] = {0, 0.02, 0, 0} param[11] sz=4 STATE state.matrix.projection.transpose.row[2] = {0, 0, -0.0769, 0} param[12] sz=4 STATE state.matrix.projection.transpose.row[3] = {-1, -1, 0.923, 1} param[13] sz=4 STATE state.matrix.modelview.inverse.row[0] = {1, 0, 0, -0.5} param[14] sz=4 STATE state.matrix.modelview.inverse.row[1] = {0, 6.12e-17, 1, 0} param[15] sz=4 STATE state.matrix.modelview.inverse.row[2] = {-0, -1, 6.12e-17, 99.5} param[16] sz=4 STATE state.lightmodel.ambientlightmodel.ambient = {1, 1, 1, 1} param[17] sz=4 STATE state.matrix.texture[0].transpose.row[0] = {0.1, 0, 0, 0} param[18] sz=4 STATE state.matrix.texture[0].transpose.row[1] = {0, 0.1, 0, 0} param[19] sz=4 STATE state.matrix.texture[0].transpose.row[2] = {0, 0, 1, 0} param[20] sz=4 STATE state.matrix.texture[0].transpose.row[3] = {0, 0, 0, 1} param[21] sz=4 STATE state.light[0].ambient = {0, 0, 0, 1} param[22] sz=4 STATE state.light[0].diffuse = {0, 0, 0, 0} param[23] sz=4 STATE state.light[0].specular = {1, 1, 1, 1} param[24] sz=4 STATE state.light[0].position = {0, 0, 0, 0} param[25] sz=4 STATE state.light[0].half = {0, 0, 1, 1} param[26] sz=4 STATE state.light[0].spot.direction = {0, 0, -1, 0} param[27] sz=4 STATE state.light[0].spot.cutoff = {180, 0, 0, 0} param[28] sz=4 STATE state.light[0].attenuation = {1, 0, 1e-10, 0} param[29] sz=4 STATE state.light[1].ambient = {0, 0, 0, 1} param[30] sz=4 STATE state.light[1].diffuse = {0, 0, 0, 0} param[31] sz=4 STATE state.light[1].specular = {0, 0, 0, 1} param[32] sz=4 STATE state.light[1].position = {0, 0, 0, 0} param[33] sz=4 STATE state.light[1].half = {0, 0, 1, 1} param[34] sz=4 STATE state.light[1].spot.direction = {0, 0, -1, 0} param[35] sz=4 STATE state.light[1].spot.cutoff = {180, 0, 0, 0} param[36] sz=4 STATE state.light[1].attenuation = {1, 0, 0, 0} param[37] sz=4 STATE state.light[2].ambient = {0, 0, 0, 1} param[38] sz=4 STATE state.light[2].diffuse = {0, 0, 0, 1} param[39] sz=4 STATE state.light[2].specular = {0, 0, 0, 1} param[40] sz=4 STATE state.light[2].position = {0, 0, 1, 0} param[41] sz=4 STATE state.light[2].half = {0, 0, 1, 1} param[42] sz=4 STATE state.light[2].spot.direction = {0, 0, -1, 0} param[43] sz=4 STATE state.light[2].spot.cutoff = {180, 0, 0, 0} param[44] sz=4 STATE state.light[2].attenuation = {1, 0, 0, 0} param[45] sz=4 STATE state.light[3].ambient = {0, 0, 0, 1} param[46] sz=4 STATE state.light[3].diffuse = {0, 0, 0, 1} param[47] sz=4 STATE state.light[3].specular = {0, 0, 0, 1} param[48] sz=4 STATE state.light[3].position = {0, 0, 1, 0} param[49] sz=4 STATE state.light[3].half = {0, 0, 1, 1} param[50] sz=4 STATE state.light[3].spot.direction = {0, 0, -1, 0} param[51] sz=4 STATE state.light[3].spot.cutoff = {180, 0, 0, 0} param[52] sz=4 STATE state.light[3].attenuation = {1, 0, 0, 0} param[53] sz=4 STATE state.light[4].ambient = {0, 0, 0, 1} param[54] sz=4 STATE state.light[4].diffuse = {0, 0, 0, 1} param[55] sz=4 STATE state.light[4].specular = {0, 0, 0, 1} param[56] sz=4 STATE state.light[4].position = {0, 0, 1, 0} param[57] sz=4 STATE state.light[4].half = {0, 0, 1, 1} param[58] sz=4 STATE state.light[4].spot.direction = {0, 0, -1, 0} param[59] sz=4 STATE state.light[4].spot.cutoff = {180, 0, 0, 0} param[60] sz=4 STATE state.light[4].attenuation = {1, 0, 0, 0} param[61] sz=4 STATE state.light[5].ambient = {0, 0, 0, 1} param[62] sz=4 STATE state.light[5].diffuse = {0, 0, 0, 1} param[63] sz=4 STATE state.light[5].specular = {0, 0, 0, 1} param[64] sz=4 STATE state.light[5].position = {0, 0, 1, 0} param[65] sz=4 STATE state.light[5].half = {0, 0, 1, 1} param[66] sz=4 STATE state.light[5].spot.direction = {0, 0, -1, 0} param[67] sz=4 STATE state.light[5].spot.cutoff = {180, 0, 0, 0} param[68] sz=4 STATE state.light[5].attenuation = {1, 0, 0, 0} param[69] sz=4 STATE state.light[6].ambient = {0, 0, 0, 1} param[70] sz=4 STATE state.light[6].diffuse = {0, 0, 0, 1} param[71] sz=4 STATE state.light[6].specular = {0, 0, 0, 1} param[72] sz=4 STATE state.light[6].position = {0, 0, 1, 0} param[73] sz=4 STATE state.light[6].half = {0, 0, 1, 1} param[74] sz=4 STATE state.light[6].spot.direction = {0, 0, -1, 0} param[75] sz=4 STATE state.light[6].spot.cutoff = {180, 0, 0, 0} param[76] sz=4 STATE state.light[6].attenuation = {1, 0, 0, 0} param[77] sz=4 STATE state.light[7].ambient = {0, 0, 0, 1} param[78] sz=4 STATE state.light[7].diffuse = {0, 0, 0, 1} param[79] sz=4 STATE state.light[7].specular = {0, 0, 0, 1} param[80] sz=4 STATE state.light[7].position = {0, 0, 1, 0} param[81] sz=4 STATE state.light[7].half = {0, 0, 1, 1} param[82] sz=4 STATE state.light[7].spot.direction = {0, 0, -1, 0} param[83] sz=4 STATE state.light[7].spot.cutoff = {180, 0, 0, 0} param[84] sz=4 STATE state.light[7].attenuation = {1, 0, 0, 0} param[85] sz=4 STATE state.light[8].ambient = {0, 4.66e-41, 0.8, 0.8} param[86] sz=4 STATE state.light[8].diffuse = {0.8, 1, 0.2, 0.2} param[87] sz=4 STATE state.light[8].specular = {0.2, 1, 0.8, 0.8} param[88] sz=4 STATE state.light[8].position = {0.8, 1, 0.8, 0.8} param[89] sz=4 STATE state.light[8].half = {0.303, 0.379, 0.875, 1} param[90] sz=4 STATE state.light[8].spot.direction = {0.8, 1, 0.1, 0} param[91] sz=4 STATE state.light[8].spot.cutoff = {1, 0, 0, 0} param[92] sz=4 STATE state.light[8].attenuation = {0, 1, 0, 0.1} param[93] sz=4 STATE state.fog.color = {0.0832, 0.0708, 0.0499, 1} param[94] sz=4 STATE state.fog.params = {0, 0, 1, 1} param[95] sz=4 CONST (null) = {0, 0, 0, 1} param[96] sz=4 CONST (null) = {1.44, 2, -2, 12} #(gdb) call _mesa_print_program((struct gl_program *) brw->vertex_program) # Vertex Program/Shader 1 0: MOV TEMP[1], STATE[21]; 1: MOV TEMP[2], STATE[22]; 2: MOV TEMP[3], STATE[23]; 3: MOV TEMP[4], STATE[24]; 4: MOV TEMP[5], STATE[25]; 5: MOV TEMP[6], STATE[26]; 6: MOV TEMP[7], STATE[26].wwww; 7: MOV TEMP[8], STATE[27].xxxx; 8: MOV TEMP[9], STATE[28].wwww; 9: MOV TEMP[10], STATE[28].xxxx; 10: MOV TEMP[11], STATE[28].yyyy; 11: MOV TEMP[12], STATE[28].zzzz; 12: MOV TEMP[13], STATE[29]; 13: MOV TEMP[14], STATE[30]; 14: MOV TEMP[15], STATE[31]; 15: MOV TEMP[16], STATE[32]; 16: MOV TEMP[17], STATE[33]; 17: MOV TEMP[18], STATE[34]; 18: MOV TEMP[19], STATE[34].wwww; 19: MOV TEMP[20], STATE[35].xxxx; 20: MOV TEMP[21], STATE[36].wwww; 21: MOV TEMP[22], STATE[36].xxxx; 22: MOV TEMP[23], STATE[36].yyyy; 23: MOV TEMP[24], STATE[36].zzzz; 24: MOV TEMP[25], STATE[37]; 25: MOV TEMP[26], STATE[38]; 26: MOV TEMP[27], STATE[39]; 27: MOV TEMP[28], STATE[40]; 28: MOV TEMP[29], STATE[41]; 29: MOV TEMP[30], STATE[42]; 30: MOV TEMP[31], STATE[42].wwww; 31: MOV TEMP[32], STATE[43].xxxx; 32: MOV TEMP[33], STATE[44].wwww; 33: MOV TEMP[34], STATE[44].xxxx; 34: MOV TEMP[35], STATE[44].yyyy; 35: MOV TEMP[36], STATE[44].zzzz; 36: MOV TEMP[37], STATE[45]; 37: MOV TEMP[38], STATE[46]; 38: MOV TEMP[39], STATE[47]; 39: MOV TEMP[40], STATE[48]; 40: MOV TEMP[41], STATE[49]; 41: MOV TEMP[42], STATE[50]; 42: MOV TEMP[43], STATE[50].wwww; 43: MOV TEMP[44], STATE[51].xxxx; 44: MOV TEMP[45], STATE[52].wwww; 45: MOV TEMP[46], STATE[52].xxxx; 46: MOV TEMP[47], STATE[52].yyyy; 47: MOV TEMP[48], STATE[52].zzzz; 48: MOV TEMP[49], STATE[53]; 49: MOV TEMP[50], STATE[54]; 50: MOV TEMP[51], STATE[55]; 51: MOV TEMP[52], STATE[56]; 52: MOV TEMP[53], STATE[57]; 53: MOV TEMP[54], STATE[58]; 54: MOV TEMP[55], STATE[58].wwww; 55: MOV TEMP[56], STATE[59].xxxx; 56: MOV TEMP[57], STATE[60].wwww; 57: MOV TEMP[58], STATE[60].xxxx; 58: MOV TEMP[59], STATE[60].yyyy; 59: MOV TEMP[60], STATE[60].zzzz; 60: MOV TEMP[61], STATE[61]; 61: MOV TEMP[62], STATE[62]; 62: MOV TEMP[63], STATE[63]; 63: MOV TEMP[64], STATE[64]; 64: MOV TEMP[65], STATE[65]; 65: MOV TEMP[66], STATE[66]; 66: MOV TEMP[67], STATE[66].wwww; 67: MOV TEMP[68], STATE[67].xxxx; 68: MOV TEMP[69], STATE[68].wwww; 69: MOV TEMP[70], STATE[68].xxxx; 70: MOV TEMP[71], STATE[68].yyyy; 71: MOV TEMP[72], STATE[68].zzzz; 72: MOV TEMP[73], STATE[69]; 73: MOV TEMP[74], STATE[70]; 74: MOV TEMP[75], STATE[71]; 75: MOV TEMP[76], STATE[72]; 76: MOV TEMP[77], STATE[73]; 77: MOV TEMP[78], STATE[74]; 78: MOV TEMP[79], STATE[74].wwww; 79: MOV TEMP[80], STATE[75].xxxx; 80: MOV TEMP[81], STATE[76].wwww; 81: MOV TEMP[82], STATE[76].xxxx; 82: MOV TEMP[83], STATE[76].yyyy; 83: MOV TEMP[84], STATE[76].zzzz; 84: MOV TEMP[85], STATE[77]; 85: MOV TEMP[86], STATE[78]; 86: MOV TEMP[87], STATE[79]; 87: MOV TEMP[88], STATE[80]; 88: MOV TEMP[89], STATE[81]; 89: MOV TEMP[90], STATE[82]; 90: MOV TEMP[91], STATE[82].wwww; 91: MOV TEMP[92], STATE[83].xxxx; 92: MOV TEMP[93], STATE[84].wwww; 93: MOV TEMP[94], STATE[84].xxxx; 94: MOV TEMP[95], STATE[84].yyyy; 95: MOV TEMP[96], STATE[84].zzzz; 96: MOV TEMP[97], STATE[85]; 97: MOV TEMP[98], STATE[86]; 98: MOV TEMP[99], STATE[87]; 99: MOV TEMP[100], STATE[88]; 100: MOV TEMP[101], STATE[89]; 101: MOV TEMP[102], STATE[90]; 102: MOV TEMP[103], STATE[90].wwww; 103: MOV TEMP[104], STATE[91].xxxx; 104: MOV TEMP[105], STATE[92].wwww; 105: MOV TEMP[106], STATE[92].xxxx; 106: MOV TEMP[107], STATE[92].yyyy; 107: MOV TEMP[108], STATE[92].zzzz; 108: MOV TEMP[109], STATE[93]; 109: MOV TEMP[110], STATE[94].xxxx; 110: MOV TEMP[111], STATE[94].yyyy; 111: MOV TEMP[112], STATE[94].zzzz; 112: MOV TEMP[113], STATE[94].wwww; 113: MOV TEMP[114].zw, CONST[95]; 114: MOV TEMP[114].x, INPUT[0].xxxx; 115: MOV TEMP[114].y, INPUT[0].zzzz; 116: MOV TEMP[115], STATE[17]; 117: MOV TEMP[116], STATE[18]; 118: MOV TEMP[117], STATE[19]; 119: MOV TEMP[118], STATE[20]; 120: MUL TEMP[119], STATE[17], INPUT[0].xxxx; 121: MAD TEMP[120], STATE[18], INPUT[0].zzzz, TEMP[119]; 122: ADD TEMP[121], TEMP[120], STATE[20]; 123: MOV OUTPUT[4].xy, TEMP[121].xyyy; 124: MUL TEMP[122], STATE[9], STATE[5].xxxx; 125: MAD TEMP[123], STATE[10], STATE[5].yyyy, TEMP[122]; 126: MAD TEMP[124], STATE[11], STATE[5].zzzz, TEMP[123]; 127: MAD TEMP[125], STATE[12], STATE[5].wwww, TEMP[124]; 128: MOV TEMP[126], TEMP[125]; 129: MUL TEMP[130], STATE[9], STATE[6].xxxx; 130: MAD TEMP[131], STATE[10], STATE[6].yyyy, TEMP[130]; 131: MAD TEMP[132], STATE[11], STATE[6].zzzz, TEMP[131]; 132: MAD TEMP[133], STATE[12], STATE[6].wwww, TEMP[132]; 133: MOV TEMP[127], TEMP[133]; 134: MUL TEMP[134], STATE[9], STATE[7].xxxx; 135: MAD TEMP[135], STATE[10], STATE[7].yyyy, TEMP[134]; 136: MAD TEMP[136], STATE[11], STATE[7].zzzz, TEMP[135]; 137: MAD TEMP[137], STATE[12], STATE[7].wwww, TEMP[136]; 138: MOV TEMP[128], TEMP[137]; 139: MUL TEMP[138], STATE[9], STATE[8].xxxx; 140: MAD TEMP[139], STATE[10], STATE[8].yyyy, TEMP[138]; 141: MAD TEMP[140], STATE[11], STATE[8].zzzz, TEMP[139]; 142: MAD TEMP[141], STATE[12], STATE[8].wwww, TEMP[140]; 143: MOV TEMP[129], TEMP[141]; 144: MUL TEMP[142], TEMP[125], INPUT[0].xxxx; 145: MAD TEMP[143], TEMP[133], INPUT[0].yyyy, TEMP[142]; 146: MAD TEMP[144], TEMP[137], INPUT[0].zzzz, TEMP[143]; 147: MAD TEMP[145], TEMP[141], INPUT[0].wwww, TEMP[144]; 148: MOV TEMP[146], TEMP[145]; 149: MOV OUTPUT[0], TEMP[145]; 150: MUL TEMP[147], UNIFORM[1], STATE[5].xxxx; 151: MAD TEMP[148], UNIFORM[2], STATE[5].yyyy, TEMP[147]; 152: MAD TEMP[149], UNIFORM[3], STATE[5].zzzz, TEMP[148]; 153: MAD TEMP[150], UNIFORM[4], STATE[5].wwww, TEMP[149]; 154: MOV TEMP[151], TEMP[150]; 155: MUL TEMP[155], UNIFORM[1], STATE[6].xxxx; 156: MAD TEMP[156], UNIFORM[2], STATE[6].yyyy, TEMP[155]; 157: MAD TEMP[157], UNIFORM[3], STATE[6].zzzz, TEMP[156]; 158: MAD TEMP[158], UNIFORM[4], STATE[6].wwww, TEMP[157]; 159: MOV TEMP[152], TEMP[158]; 160: MUL TEMP[159], UNIFORM[1], STATE[7].xxxx; 161: MAD TEMP[160], UNIFORM[2], STATE[7].yyyy, TEMP[159]; 162: MAD TEMP[161], UNIFORM[3], STATE[7].zzzz, TEMP[160]; 163: MAD TEMP[162], UNIFORM[4], STATE[7].wwww, TEMP[161]; 164: MOV TEMP[153], TEMP[162]; 165: MUL TEMP[163], UNIFORM[1], STATE[8].xxxx; 166: MAD TEMP[164], UNIFORM[2], STATE[8].yyyy, TEMP[163]; 167: MAD TEMP[165], UNIFORM[3], STATE[8].zzzz, TEMP[164]; 168: MAD TEMP[166], UNIFORM[4], STATE[8].wwww, TEMP[165]; 169: MOV TEMP[154], TEMP[166]; 170: MUL TEMP[167], TEMP[150], INPUT[0].xxxx; 171: MAD TEMP[168], TEMP[158], INPUT[0].yyyy, TEMP[167]; 172: MAD TEMP[169], TEMP[162], INPUT[0].zzzz, TEMP[168]; 173: MAD TEMP[170], TEMP[166], INPUT[0].wwww, TEMP[169]; 174: MOV OUTPUT[18], TEMP[170]; 175: MUL TEMP[172].x, STATE[94].-x-x-x-x, TEMP[145].zzzz; 176: MUL TEMP[173].x, TEMP[172].xxxx, CONST[96].xxxx; 177: EX2 TEMP[174].x, TEMP[173].xxxx; 178: MOV OUTPUT[19], TEMP[174].xxxx; 179: MOV TEMP[175], INPUT[2].xxxx; 180: SGE.C TEMP[176].x, INPUT[2].xxxx, CONST[96].yyyy; 181: IF (NE.xxxx); # (if false, goto 185); 182: MOV OUTPUT[21], CONST[95].wwww; 183: ADD TEMP[177].x, TEMP[175].xxxx, CONST[96].zzzz; 184: MOV OUTPUT[20], TEMP[177].xxxx; 185: ELSE; # (goto 188) 186: MOV OUTPUT[21], CONST[95].xxxx; 187: MOV OUTPUT[20], TEMP[175].xxxx; 188: ENDIF; 189: MOV TEMP[178].x, INPUT[2].yyyy; 190: MOV TEMP[178].y, UNIFORM[0].xxxx; 191: MOV TEMP[178].z, INPUT[2].zzzz; 192: DP3 TEMP[179].x, TEMP[178].xyzz, TEMP[178].xyzz; 193: RSQ TEMP[180].x, TEMP[179].xxxx; 194: MUL TEMP[181].xyz, TEMP[178].xyzz, TEMP[180].xxxx; 195: MOV TEMP[182].xyz, TEMP[181].xyzz; 196: MUL TEMP[183].xyz, STATE[13].xyzz, TEMP[181].xxxx; 197: MAD TEMP[184], STATE[14].xyzz, TEMP[181].yyyy, TEMP[183].xyzz; 198: MAD TEMP[185], STATE[15].xyzz, TEMP[181].zzzz, TEMP[184].xyzz; 199: MOV TEMP[186].xyz, TEMP[185].xyzz; 200: MOV TEMP[187].xyz, TEMP[185].xyzz; 201: MUL TEMP[188], STATE[5], INPUT[0].xxxx; 202: MAD TEMP[189], STATE[6], INPUT[0].yyyy, TEMP[188]; 203: MAD TEMP[190], STATE[7], INPUT[0].zzzz, TEMP[189]; 204: MAD TEMP[191], STATE[8], INPUT[0].wwww, TEMP[190]; 205: MOV TEMP[192].xyz, TEMP[191].xyzz; 206: MOV TEMP[193].xyz, TEMP[4].xyzz; 207: DP3 TEMP[194].x, TEMP[4].xyzz, TEMP[4].xyzz; 208: RSQ TEMP[195].x, TEMP[194].xxxx; 209: MUL TEMP[196].xyz, TEMP[4].xyzz, TEMP[195].xxxx; 210: DP3 TEMP[197].x, TEMP[185].xyzz, TEMP[196].xyzz; 211: MAX TEMP[198].x, TEMP[197].xxxx, CONST[95].xxxx; 212: MUL TEMP[199], TEMP[198].xxxx, TEMP[2]; 213: MOV OUTPUT[16], TEMP[199]; 214: MOV TEMP[200], CONST[95].xyzx; 215: MOV TEMP[201], CONST[95].wwww; 216: BGNLOOP; # (end at 250) 217: SGE.C TEMP[202].x, TEMP[201].xxxx, CONST[95].xxxx; 218: IF (NE.xxxx); # (if false, goto 220); 219: BRK (TR.xxxx); # (goto 250); 220: ENDIF; 221: MUL TEMP[203], TEMP[201].xxxx, CONST[96].wwww; 222: ARL ADDR[0].x, TEMP[203].xxxx; 223: ADD TEMP[205].xyz, TEMP[ADDR+4].xyzz, TEMP[192].-x-y-z-z; 224: MOV TEMP[206].xyz, TEMP[205].xyzz; 225: DP3 TEMP[207].x, TEMP[205].xyzz, TEMP[205].xyzz; 226: RSQ TEMP[208].x, TEMP[207].xxxx; 227: MUL TEMP[208].x, TEMP[208].xxxx, TEMP[207].xxxx; 228: CMP TEMP[208].x, TEMP[207].-x-x-x-x, TEMP[208].xxxx, CONST[95].xxxx; 229: MOV TEMP[209], TEMP[208].xxxx; 230: DP3 TEMP[210].x, TEMP[205].xyzz, TEMP[205].xyzz; 231: RSQ TEMP[211].x, TEMP[210].xxxx; 232: MUL TEMP[212].xyz, TEMP[205].xyzz, TEMP[211].xxxx; 233: DP3 TEMP[213].x, TEMP[187].xyzz, TEMP[212].xyzz; 234: MAX TEMP[214].x, TEMP[213].xxxx, CONST[95].xxxx; 235: MUL TEMP[215], TEMP[201].xxxx, CONST[96].wwww; 236: ARL ADDR[0].x, TEMP[215].xxxx; 237: MUL TEMP[216], TEMP[214].xxxx, TEMP[ADDR+2]; 238: MUL TEMP[217], TEMP[201].xxxx, CONST[96].wwww; 239: ARL ADDR[0].x, TEMP[217].xxxx; 240: MUL TEMP[218].x, TEMP[ADDR+12].xxxx, TEMP[208].xxxx; 241: MUL TEMP[219], TEMP[201].xxxx, CONST[96].wwww; 242: ARL ADDR[0].x, TEMP[219].xxxx; 243: MUL TEMP[220].x, TEMP[ADDR+10].xxxx, TEMP[208].xxxx; 244: MAD TEMP[221], TEMP[218].xxxx, TEMP[208].xxxx, TEMP[220].xxxx; 245: RCP TEMP[222].x, TEMP[221].xxxx; 246: MAD TEMP[223], TEMP[216], TEMP[222].xxxx, TEMP[200]; 247: MOV TEMP[200], TEMP[223]; 248: ADD TEMP[224].x, TEMP[201].xxxx, CONST[95].wwww; 249: MOV TEMP[201], TEMP[224].xxxx; 250: ENDLOOP; # (goto 216) 251: ADD OUTPUT[17], STATE[16], TEMP[200]; 252: END (gdb) call _mesa_print_program_parameters(&brw->intel.ctx, (struct gl_program *) brw->fragment_program ) InputsRead: 0xec010 (0b1110,11000000,00010000) OutputsWritten: 0x2 (0b10) NumInstructions=39 NumTemporaries=7 NumParameters=0 NumAttributes=0 NumAddressRegs=0 IndirectRegisterFiles: 0x0 (0b0) SamplersUsed: 0x1 (0b1) Samplers=[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ] dirty state flags: 0x100 param[0] sz=1 UNIFORM timeEffect = {0, 0, 0, 0} param[1] sz=4 SAMPLER mainTexture = {0, 0, 0, 0} param[2] sz=4 STATE state.fog.color = {0.0832, 0.0708, 0.0499, 1} param[3] sz=4 STATE state.fog.params = {0, 0, 1, 1} param[4] sz=4 CONST (null) = {1, 0.25, 0, 3} param[5] sz=4 CONST (null) = {2, -3.17, 0.5, -0.5} param[6] sz=3 CONST (null) = {0.8, 0.4, 0.2, 0} param[7] sz=3 CONST (null) = {0.213, 0.715, 0.0721, 0} (gdb) call _mesa_print_program((struct gl_program *) brw->fragment_program) # Fragment Program/Shader 1 0: TEX TEMP[0], INPUT[4].xyyy, texture[0], 2D; 1: ADD TEMP[1].x, CONST[4].xxxx, TEMP[0].-w-w-w-w; 2: ADD TEMP[2].x, CONST[4].xxxx, INPUT[19].-x-x-x-x; 3: MUL TEMP[3].x, TEMP[1].xxxx, TEMP[2].xxxx; 4: ADD TEMP[1].x, CONST[4].xxxx, TEMP[3].-x-x-x-x; 5: POW TEMP[2].x, INPUT[19].xxxx, CONST[4].yyyy; 6: MUL TEMP[3].x, TEMP[1].xxxx, TEMP[2].xxxx; 7: MIN TEMP[1].x, TEMP[3].xxxx, CONST[4].xxxx; 8: MAX TEMP[2].x, TEMP[1].xxxx, CONST[4].zzzz; 9: MUL TEMP[1].x, CONST[5].xxxx, TEMP[2].xxxx; 10: ADD TEMP[3].x, CONST[4].wwww, TEMP[1].-x-x-x-x; 11: MUL TEMP[1].x, TEMP[2].xxxx, TEMP[3].xxxx; 12: MUL TEMP[3].x, TEMP[2].xxxx, TEMP[1].xxxx; 13: MIN TEMP[1], INPUT[14], CONST[4].xxxx; 14: MAX TEMP[2], TEMP[1], CONST[4].zzzz; 15: ADD TEMP[1], TEMP[2], INPUT[15]; 16: MUL TEMP[2], TEMP[0], TEMP[1]; 17: ADD TEMP[0].x, INPUT[17].xxxx, INPUT[18].-x-x-x-x; 18: MAX TEMP[1].x, CONST[4].zzzz, TEMP[0].xxxx; 19: ADD TEMP[0].x, CONST[4].xxxx, TEMP[1].-x-x-x-x; 20: MUL TEMP[4], STATE[2], TEMP[0].xxxx; 21: MAD TEMP[0], TEMP[2], TEMP[1].xxxx, TEMP[4]; 22: MUL TEMP[1].xyz, CONST[5].yyyy, TEMP[0].xyzz; 23: EX2 TEMP[0].x, TEMP[1].xxxx; 24: EX2 TEMP[0].y, TEMP[1].yyyy; 25: EX2 TEMP[0].z, TEMP[1].zzzz; 26: ADD TEMP[1].xyz, CONST[4].xxxx, TEMP[0].-x-y-z-z; 27: MIN TEMP[0].x, UNIFORM[0].-x-x-x-x, CONST[5].zzzz; 28: MAX TEMP[2].x, TEMP[0].xxxx, CONST[5].wwww; 29: MOV TEMP[0].x, UNIFORM[0].-x-x-x-x; 30: DP3 TEMP[4].x, TEMP[1].xyzz, CONST[7]; 31: ADD TEMP[5].x, CONST[4].xxxx, TEMP[2].-x-x-x-x; 32: MUL TEMP[6].xyz, TEMP[4].xxxx, TEMP[5].xxxx; 33: MAD TEMP[4].xyz, CONST[6], TEMP[2].xxxx, TEMP[6].xyzz; 34: ADD TEMP[2].x, CONST[4].xxxx, TEMP[0].-x-x-x-x; 35: MUL TEMP[5].xyz, TEMP[1].xyzz, TEMP[2].xxxx; 36: MAD OUTPUT[1].xyz, TEMP[4].xyzx, TEMP[0].xxxx, TEMP[5].xyzx; 37: MOV OUTPUT[1].w, TEMP[3].xxxx; 38: END