[Mesa-dev] [PATCH 1/4] mesa/main: consider multisampling enabled when number of samples == 1
Nicolai Hähnle
nhaehnle at gmail.com
Wed Nov 16 09:42:52 UTC 2016
From: Nicolai Hähnle <nicolai.haehnle at amd.com>
There are some differences between how non-multisampled framebuffers (i.e.
samples == 0) and multisampled framebuffers with a single sample should be
treated. For example, alpha to coverage and writing to gl_SampleMask has an
effect with single-sample multisample framebuffers, but not on
non-multisample framebuffers.
This fixes GL45-CTS.sample_variables.mask.*.samples_1.* at least for
Gallium drivers (and possibly others, though at least radeonsi needs an
additional fix).
---
src/mesa/main/framebuffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c
index 9c7f0c9..20d03fe 100644
--- a/src/mesa/main/framebuffer.c
+++ b/src/mesa/main/framebuffer.c
@@ -996,21 +996,21 @@ _mesa_geometric_nonvalidated_samples(const struct gl_framebuffer *buffer)
bool
_mesa_is_multisample_enabled(const struct gl_context *ctx)
{
/* The sample count may not be validated by the driver, but when it is set,
* we know that is in a valid range and no driver should ever validate a
* multisampled framebuffer to non-multisampled and vice-versa.
*/
return ctx->Multisample.Enabled &&
ctx->DrawBuffer &&
- _mesa_geometric_nonvalidated_samples(ctx->DrawBuffer) > 1;
+ _mesa_geometric_nonvalidated_samples(ctx->DrawBuffer) >= 1;
}
/**
* Is alpha testing enabled and applicable to the currently bound
* framebuffer?
*/
bool
_mesa_is_alpha_test_enabled(const struct gl_context *ctx)
{
bool buffer0_is_integer = ctx->DrawBuffer->_IntegerBuffers & 0x1;
--
2.7.4
More information about the mesa-dev
mailing list