Mesa (master): vc4: Only do MSAA FB operations if the FB is MSAA.
Eric Anholt
anholt at kemper.freedesktop.org
Fri Apr 22 18:27:54 UTC 2016
Module: Mesa
Branch: master
Commit: 3fecaf0d0cb762b23930aaecc67c8934f1b59881
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3fecaf0d0cb762b23930aaecc67c8934f1b59881
Author: Eric Anholt <eric at anholt.net>
Date: Mon Apr 18 16:57:53 2016 -0700
vc4: Only do MSAA FB operations if the FB is MSAA.
I noticed this as a problem with ET:QW traces emitting coverage code when
the framebuffer was supposed to be single sampled.
---
src/gallium/drivers/vc4/vc4_program.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c
index 02cae2d..4235d26 100644
--- a/src/gallium/drivers/vc4/vc4_program.c
+++ b/src/gallium/drivers/vc4/vc4_program.c
@@ -2194,11 +2194,14 @@ vc4_update_compiled_fs(struct vc4_context *vc4, uint8_t prim_mode)
} else {
key->logicop_func = PIPE_LOGICOP_COPY;
}
- key->msaa = vc4->rasterizer->base.multisample;
- key->sample_coverage = (vc4->rasterizer->base.multisample &&
- vc4->sample_mask != (1 << VC4_MAX_SAMPLES) - 1);
- key->sample_alpha_to_coverage = vc4->blend->alpha_to_coverage;
- key->sample_alpha_to_one = vc4->blend->alpha_to_one;
+ if (vc4->msaa) {
+ key->msaa = vc4->rasterizer->base.multisample;
+ key->sample_coverage = (vc4->rasterizer->base.multisample &&
+ vc4->sample_mask != (1 << VC4_MAX_SAMPLES) - 1);
+ key->sample_alpha_to_coverage = vc4->blend->alpha_to_coverage;
+ key->sample_alpha_to_one = vc4->blend->alpha_to_one;
+ }
+
if (vc4->framebuffer.cbufs[0])
key->color_format = vc4->framebuffer.cbufs[0]->format;
More information about the mesa-commit
mailing list