struct prog_instruction *inst, *last_inst;
struct brw_context *brw = c->func.brw;
- /* inst->Sampler is not used by backend,
- use it for fb write target and eot */
+ /* The inst->Aux field is used for FB write target and the EOT marker */
if (brw->state.nr_draw_regions > 1) {
for (i = 0 ; i < brw->state.nr_draw_regions; i++) {
last_inst = inst = emit_op(c,
WM_FB_WRITE, dst_mask(dst_undef(),0), 0,
outcolor, payload_r0_depth, outdepth);
- inst->Sampler = (i<<1);
+ inst->Aux = (i<<1);
if (c->fp_fragcolor_emitted) {
outcolor = src_reg(PROGRAM_OUTPUT, FRAG_RESULT_COLR);
last_inst = inst = emit_op(c, WM_FB_WRITE, dst_mask(dst_undef(),0),
0, outcolor, payload_r0_depth, outdepth);
- inst->Sampler = (i<<1);
+ inst->Aux = (i<<1);
}
}
- last_inst->Sampler |= 1; //eot
+ last_inst->Aux |= 1; //eot
}
else {
/* if gl_FragData[0] is written, use it, else use gl_FragColor */
inst = emit_op(c, WM_FB_WRITE, dst_mask(dst_undef(),0),
0, outcolor, payload_r0_depth, outdepth);
- inst->Sampler = 1|(0<<1);
+ inst->Aux = 1|(0<<1);
}
}
out->tex_unit = inst->TexSrcUnit;
out->tex_idx = inst->TexSrcTarget;
out->tex_shadow = inst->TexShadow;
- out->eot = inst->Sampler & 1;
- out->target = inst->Sampler>>1;
+ out->eot = inst->Aux & 1;
+ out->target = inst->Aux >> 1;
/* Args:
*/
*/
GLint BranchTarget;
-#if 01 /* XXX just use this for i965 driver for now! */
- /**
- * For TEX instructions in shaders, the sampler to use for the
- * texture lookup.
- */
- GLint Sampler;
-#endif
-
/** for debugging purposes */
const char *Comment;
/** Arbitrary data. Used for OPCODE_PRINT and some drivers */
void *Data;
+ /** for driver use (try to remove someday) */
+ GLint Aux;
+
/* XXX obsolete - remove someday */
#if FEATURE_MESA_program_debug
GLshort StringPos;