diff options
author | Roland Scheidegger <sroland@vmware.com> | 2010-05-17 21:19:03 +0200 |
---|---|---|
committer | Roland Scheidegger <sroland@vmware.com> | 2010-05-17 21:19:03 +0200 |
commit | 127328bfadaa5f080730fd41f404f1bc74f490d3 (patch) | |
tree | f3a8ad0d183e19a1fcd9f7bd70b77f49941dbac3 /src/mesa/state_tracker/st_atom_blend.c | |
parent | 815b75705f5e3f0f7db025368da37bb14395de9a (diff) |
mesa/st: adapt to interface changes
adapt to blit changes, and also handle a bit more msaa state in theory
(incomplete, doesn't handle resolves in any way for now).
Diffstat (limited to 'src/mesa/state_tracker/st_atom_blend.c')
-rw-r--r-- | src/mesa/state_tracker/st_atom_blend.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_atom_blend.c b/src/mesa/state_tracker/st_atom_blend.c index 1511b88dd1..2140360580 100644 --- a/src/mesa/state_tracker/st_atom_blend.c +++ b/src/mesa/state_tracker/st_atom_blend.c @@ -257,6 +257,15 @@ update_blend( struct st_context *st ) if (st->ctx->Color.DitherFlag) blend->dither = 1; + if (st->ctx->Multisample.Enabled) { + /* unlike in gallium/d3d10 these operations are only performed + if msaa is enabled */ + if (st->ctx->Multisample.SampleAlphaToCoverage) + blend->alpha_to_coverage = 1; + if (st->ctx->Multisample.SampleAlphaToOne) + blend->alpha_to_one = 1; + } + cso_set_blend(st->cso_context, blend); { @@ -270,7 +279,7 @@ update_blend( struct st_context *st ) const struct st_tracked_state st_update_blend = { "st_update_blend", /* name */ { /* dirty */ - (_NEW_COLOR), /* XXX _NEW_BLEND someday? */ /* mesa */ + (_NEW_COLOR | _NEW_MULTISAMPLE), /* XXX _NEW_BLEND someday? */ /* mesa */ 0, /* st */ }, update_blend, /* update */ |