[Mesa-dev] [PATCH] intel/i965: Disable SampleAlphaToOne if dual source blending enabled
Anuj Phogat
anuj.phogat at gmail.com
Fri Sep 21 15:34:25 PDT 2012
>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"
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
---
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 6aeaaa2..e9c7f50 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 {
--
1.7.7.6
More information about the mesa-dev
mailing list