Browse Source

i965: use macros to get/set prog_instruction::Aux field

This makes things a bit easier to remember/understand.
tags/mesa_7_7_rc1
Brian Paul 16 years ago
parent
commit
a8d233e509

+ 6
- 0
src/mesa/drivers/dri/i965/brw_wm.h View File

@@ -271,6 +271,12 @@ struct brw_wm_compile {
};


/** Bits for prog_instruction::Aux field */
#define INST_AUX_EOT 0x1
#define INST_AUX_TARGET(T) (T << 1)
#define INST_AUX_GET_TARGET(AUX) ((AUX) >> 1)


GLuint brw_wm_nr_args( GLuint opcode );
GLuint brw_wm_is_scalar_result( GLuint opcode );


+ 4
- 4
src/mesa/drivers/dri/i965/brw_wm_fp.c View File

@@ -973,15 +973,15 @@ static void emit_fb_write( struct brw_wm_compile *c )
outcolor = src_reg(PROGRAM_OUTPUT, FRAG_RESULT_DATA0 + i);
last_inst = inst = emit_op(c, WM_FB_WRITE, dst_mask(dst_undef(), 0),
0, outcolor, payload_r0_depth, outdepth);
inst->Aux = (i<<1);
inst->Aux = INST_AUX_TARGET(i);
if (c->fp_fragcolor_emitted) {
outcolor = src_reg(PROGRAM_OUTPUT, FRAG_RESULT_COLOR);
last_inst = inst = emit_op(c, WM_FB_WRITE, dst_mask(dst_undef(), 0),
0, outcolor, payload_r0_depth, outdepth);
inst->Aux = (i<<1);
inst->Aux = INST_AUX_TARGET(i);
}
}
last_inst->Aux |= 1; //eot
last_inst->Aux |= INST_AUX_EOT;
}
else {
/* if gl_FragData[0] is written, use it, else use gl_FragColor */
@@ -992,7 +992,7 @@ static void emit_fb_write( struct brw_wm_compile *c )

inst = emit_op(c, WM_FB_WRITE, dst_mask(dst_undef(),0),
0, outcolor, payload_r0_depth, outdepth);
inst->Aux = 1|(0<<1);
inst->Aux = INST_AUX_EOT | INST_AUX_TARGET(0);
}
}


+ 2
- 2
src/mesa/drivers/dri/i965/brw_wm_glsl.c View File

@@ -841,8 +841,8 @@ static void emit_fb_write(struct brw_wm_compile *c,
nr += 2;
}

target = inst->Aux >> 1;
eot = inst->Aux & 1;
target = INST_AUX_GET_TARGET(inst->Aux);
eot = inst->Aux & INST_AUX_EOT;
fire_fb_write(c, 0, nr, target, eot);
}


+ 2
- 2
src/mesa/drivers/dri/i965/brw_wm_pass0.c View File

@@ -322,8 +322,8 @@ translate_insn(struct brw_wm_compile *c,
out->tex_unit = inst->TexSrcUnit;
out->tex_idx = inst->TexSrcTarget;
out->tex_shadow = inst->TexShadow;
out->eot = inst->Aux & 1;
out->target = inst->Aux >> 1;
out->eot = inst->Aux & INST_AUX_EOT;
out->target = INST_AUX_GET_TARGET(inst->Aux);

/* Args:
*/

Loading…
Cancel
Save