radeonsi: explicitly choose center locations for 1xAA on Polaris
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 6 Jul 2016 14:33:43 +0000 (16:33 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 8 Jul 2016 08:52:50 +0000 (10:52 +0200)
commitd938b8c0bf32ab5f0103ac68071c4cc467846108
treeb4c84df73398a35dca95096b61f3b74e1c4fd0d2
parent7d2ce5258f279ec22e86ee772f257756f5314423
radeonsi: explicitly choose center locations for 1xAA on Polaris

Unlike SC, the small primitive filter does not automatically use center
locations in 1xAA mode, so this is needed to avoid artifacts caused by
the small primitive filter discarding triangles that it shouldn't.

As a side effect of how the effective number of samples is now calculated,
this patch also avoids submitting the sample locations for line/poly smoothing
when they're not really needed.

Cc: 12.0 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeon/cayman_msaa.c
src/gallium/drivers/radeonsi/si_hw_context.c
src/gallium/drivers/radeonsi/si_pipe.h
src/gallium/drivers/radeonsi/si_state.c
src/gallium/drivers/radeonsi/si_state_shaders.c