diff options
author | Anuj Phogat <[email protected]> | 2012-09-21 15:16:38 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2012-10-05 15:55:47 -0700 |
commit | c566267f5c3b480c1a805790c45fc13ab52c98e2 (patch) | |
tree | 9886ac2dc8e5f4cdd5b8944badb4e01af5fcadfb /src/mesa/drivers | |
parent | 8491e03b2befd7e9d16c5d17f95a83d91c5b16c9 (diff) |
intel/i965: Disable SampleAlphaToOne if dual source blending enabled
From SandyBridge PRM, volume 2 Part 1, section 12.2.3, BLEND_STATE:
DWord 1, Bit 30 (AlphaToOne Enable):
"If Dual Source Blending is enabled, this bit must be disabled"
Note: This is a candidate for stable branches.
Signed-off-by: Anuj Phogat <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
(cherry picked from commit ea0d08872724b5e31e9e32db2338e15fdfdcc4de)
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/gen6_cc.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_cc.c b/src/mesa/drivers/dri/i965/gen6_cc.c index 6aeaaa253b9..e9c7f5064df 100644 --- a/src/mesa/drivers/dri/i965/gen6_cc.c +++ b/src/mesa/drivers/dri/i965/gen6_cc.c @@ -174,8 +174,17 @@ gen6_upload_blend_state(struct brw_context *brw) /* _NEW_MULTISAMPLE */ blend[b].blend1.alpha_to_coverage = ctx->Multisample._Enabled && ctx->Multisample.SampleAlphaToCoverage; - blend[b].blend1.alpha_to_one = - ctx->Multisample._Enabled && ctx->Multisample.SampleAlphaToOne; + + /* From SandyBridge PRM, volume 2 Part 1, section 8.2.3, BLEND_STATE: + * DWord 1, Bit 30 (AlphaToOne Enable): + * "If Dual Source Blending is enabled, this bit must be disabled" + */ + if (ctx->Color.Blend[b]._UsesDualSrc) + blend[b].blend1.alpha_to_one = false; + else + blend[b].blend1.alpha_to_one = + ctx->Multisample._Enabled && ctx->Multisample.SampleAlphaToOne; + blend[b].blend1.alpha_to_coverage_dither = (brw->intel.gen >= 7); } else { |