Home | History | Annotate | Download | only in program

Lines Matching refs:inst

34 src_regs_are_constant(const struct prog_instruction *inst, unsigned num_srcs)
39 if (inst->SrcReg[i].File != PROGRAM_CONSTANT)
137 struct prog_instruction *const inst = &prog->Instructions[i];
139 switch (inst->Opcode) {
141 if (src_regs_are_constant(inst, 2)) {
146 get_value(prog, &inst->SrcReg[0], a);
147 get_value(prog, &inst->SrcReg[1], b);
154 inst->Opcode = OPCODE_MOV;
155 inst->SrcReg[0] = src_reg_for_vec4(prog, result);
157 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
158 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
169 if (src_regs_are_constant(inst, 3)) {
175 get_value(prog, &inst->SrcReg[0], a);
176 get_value(prog, &inst->SrcReg[1], b);
177 get_value(prog, &inst->SrcReg[2], c);
184 inst->Opcode = OPCODE_MOV;
185 inst->SrcReg[0] = src_reg_for_vec4(prog, result);
187 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
188 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
189 inst->SrcReg[2].File = PROGRAM_UNDEFINED;
190 inst->SrcReg[2].Swizzle = SWIZZLE_NOOP;
199 if (src_regs_are_constant(inst, 2)) {
204 get_value(prog, &inst->SrcReg[0], a);
205 get_value(prog, &inst->SrcReg[1], b);
213 if (inst->Opcode >= OPCODE_DP3)
216 if (inst->Opcode == OPCODE_DP4)
219 inst->Opcode = OPCODE_MOV;
220 inst->SrcReg[0] = src_reg_for_float(prog, result);
222 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
223 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
230 if (src_regs_are_constant(inst, 2)) {
235 get_value(prog, &inst->SrcReg[0], a);
236 get_value(prog, &inst->SrcReg[1], b);
243 inst->Opcode = OPCODE_MOV;
244 inst->SrcReg[0] = src_reg_for_vec4(prog, result);
246 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
247 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
254 if (src_regs_are_constant(inst, 2)) {
259 get_value(prog, &inst->SrcReg[0], a);
260 get_value(prog, &inst->SrcReg[1], b);
267 inst->Opcode = OPCODE_MOV;
268 inst->SrcReg[0] = src_reg_for_vec4(prog, result);
270 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
271 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
274 } else if (src_regs_are_same(&inst->SrcReg[0], &inst->SrcReg[1])) {
275 inst->Opcode = OPCODE_MOV;
276 inst->SrcReg[0] = src_reg_for_float(prog, 1.0f);
278 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
279 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
286 if (src_regs_are_constant(inst, 2)) {
291 get_value(prog, &inst->SrcReg[0], a);
292 get_value(prog, &inst->SrcReg[1], b);
299 inst->Opcode = OPCODE_MOV;
300 inst->SrcReg[0] = src_reg_for_vec4(prog, result);
302 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
303 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
306 } else if (src_regs_are_same(&inst->SrcReg[0], &inst->SrcReg[1])) {
307 inst->Opcode = OPCODE_MOV;
308 inst->SrcReg[0] = src_reg_for_float(prog, 1.0f);
310 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
311 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
318 if (src_regs_are_constant(inst, 2)) {
323 get_value(prog, &inst->SrcReg[0], a);
324 get_value(prog, &inst->SrcReg[1], b);
331 inst->Opcode = OPCODE_MOV;
332 inst->SrcReg[0] = src_reg_for_vec4(prog, result);
334 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
335 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
338 } else if (src_regs_are_same(&inst->SrcReg[0], &inst->SrcReg[1])) {
339 inst->Opcode = OPCODE_MOV;
340 inst->SrcReg[0] = src_reg_for_float(prog, 0.0f);
342 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
343 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
350 if (src_regs_are_constant(inst, 2)) {
355 get_value(prog, &inst->SrcReg[0], a);
356 get_value(prog, &inst->SrcReg[1], b);
363 inst->Opcode = OPCODE_MOV;
364 inst->SrcReg[0] = src_reg_for_vec4(prog, result);
366 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
367 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
370 } else if (src_regs_are_same(&inst->SrcReg[0], &inst->SrcReg[1])) {
371 inst->Opcode = OPCODE_MOV;
372 inst->SrcReg[0] = src_reg_for_float(prog, 1.0f);
374 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
375 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
382 if (src_regs_are_constant(inst, 2)) {
387 get_value(prog, &inst->SrcReg[0], a);
388 get_value(prog, &inst->SrcReg[1], b);
395 inst->Opcode = OPCODE_MOV;
396 inst->SrcReg[0] = src_reg_for_vec4(prog, result);
398 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
399 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
402 } else if (src_regs_are_same(&inst->SrcReg[0], &inst->SrcReg[1])) {
403 inst->Opcode = OPCODE_MOV;
404 inst->SrcReg[0] = src_reg_for_float(prog, 0.0f);
406 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
407 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
414 if (src_regs_are_constant(inst, 2)) {
419 get_value(prog, &inst->SrcReg[0], a);
420 get_value(prog, &inst->SrcReg[1], b);
427 inst->Opcode = OPCODE_MOV;
428 inst->SrcReg[0] = src_reg_for_vec4(prog, result);
430 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
431 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;
434 } else if (src_regs_are_same(&inst->SrcReg[0], &inst->SrcReg[1])) {
435 inst->Opcode = OPCODE_MOV;
436 inst->SrcReg[0] = src_reg_for_float(prog, 0.0f);
438 inst->SrcReg[1].File = PROGRAM_UNDEFINED;
439 inst->SrcReg[1].Swizzle = SWIZZLE_NOOP;