mesa/main: consider multisampling enabled when number of samples == 1
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Tue, 15 Nov 2016 13:37:05 +0000 (14:37 +0100)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 18 Nov 2016 08:48:14 +0000 (09:48 +0100)
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).

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
src/mesa/main/framebuffer.c

index 9c7f0c9451fe03f557a64ca563698d477dfa7f36..20d03fe281c12d4a0fc5a858a9cda439190a1efe 100644 (file)
@@ -1003,7 +1003,7 @@ _mesa_is_multisample_enabled(const struct gl_context *ctx)
     */
    return ctx->Multisample.Enabled &&
           ctx->DrawBuffer &&
-          _mesa_geometric_nonvalidated_samples(ctx->DrawBuffer) > 1;
+          _mesa_geometric_nonvalidated_samples(ctx->DrawBuffer) >= 1;
 }
 
 /**