Chris Forbes <chr...@ijw.co.nz> writes: > Signed-off-by: Chris Forbes <chr...@ijw.co.nz> > --- > src/mesa/drivers/dri/i965/brw_wm.c | 12 ++++++++++++ > src/mesa/drivers/dri/i965/brw_wm.h | 2 ++ > 2 files changed, 14 insertions(+) > > diff --git a/src/mesa/drivers/dri/i965/brw_wm.c > b/src/mesa/drivers/dri/i965/brw_wm.c > index 0fda490..557ab7a 100644 > --- a/src/mesa/drivers/dri/i965/brw_wm.c > +++ b/src/mesa/drivers/dri/i965/brw_wm.c > @@ -289,6 +289,10 @@ brw_wm_debug_recompile(struct brw_context *brw, > old_key->drawable_height, key->drawable_height); > found |= key_debug(brw, "input slots valid", > old_key->input_slots_valid, key->input_slots_valid); > + found |= key_debug(brw, "mrt alpha test function", > + old_key->alpha_test_func, key->alpha_test_func); > + found |= key_debug(brw, "mrt alpha test reference value", > + old_key->alpha_test_ref, key->alpha_test_ref); > > found |= brw_debug_recompile_sampler_key(brw, &old_key->tex, &key->tex); > > @@ -488,6 +492,14 @@ static void brw_wm_populate_key( struct brw_context *brw, > BRW_FS_VARYING_INPUT_MASK) > 16) > key->input_slots_valid = brw->vue_map_geom_out.slots_valid; > > + > + /* _NEW_COLOR | _NEW_BUFFERS */ > + /* Func for shader-based alpha test */
I'd rather have a comment explaining *why* we're doing this: /* Pre-gen6, the hardware alpha test always used each render * target's alpha to do alpha test, as opposed to render target 0's alpha * like GL requires. Fix that by building the alpha test into the * shader, and we'll skip enabling the fixed function alpha test. */ > + if (brw->gen < 6 && ctx->DrawBuffer->_NumColorDrawBuffers > 1 && > ctx->Color.AlphaEnabled) { > + key->alpha_test_func = ctx->Color.AlphaFunc; > + key->alpha_test_ref = ctx->Color.AlphaRef; > + } > + > /* The unique fragment program ID */ > key->program_string_id = fp->id; > } Other than the few little comments I've had, this is: Reviewed-by: Eric Anholt <e...@anholt.net> Avoiding recompiles for ref would be nice, but not required IMO (I expect the ref to be constant for any shader, generally). If you're interested, I think it should be pretty doable with a _mesa_add_state_reference of a new slot type.
pgpN6XddqRfcg.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev