st/mesa: only enable MSAA coverage options when we have a MSAA buffer
authorBrian Paul <brianp@vmware.com>
Thu, 15 Sep 2016 21:13:07 +0000 (15:13 -0600)
committerBrian Paul <brianp@vmware.com>
Fri, 16 Sep 2016 14:44:12 +0000 (08:44 -0600)
commita01872f80880c1b928817d84834b7259d073b367
treeed9974ecf87e3c439a6f82db49568110ef0ec552
parente1ea36ae719619e69dadaf7efa7c7a40f891be91
st/mesa: only enable MSAA coverage options when we have a MSAA buffer

Regardless of whether GL_MULTISAMPLE is enabled (it's enabled by default)
we should not set the alpha_to_coverage or alpha_to_one flags if the
current drawing buffer does not do MSAA.

This fixes the new piglit gl-1.3-alpha_to_coverage_nop test.

ETQW is a game that enables GL_SAMPLE_ALPHA_TO_COVERAGE without MSAA.
Shrubs along the side of roads were invisible because fragments with
alpha < 0.5 were being discarded (zero coverage).

v2: remove ctx->DrawBuffer != NULL check.

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/state_tracker/st_atom_blend.c
src/mesa/state_tracker/st_context.c