radeonsi: make gl_SampleMaskIn = 0x1 when MSAA is disabled
gl_SampleMaskIn is 1 when R_028BE0_PA_SC_AA_CONFIG is 0, so this commit rework the conditions controlling this register. Before it was set if the sctx->framebuffer had a sample count > 1. Now we still require this condition, but we also need either: - GL_MULTISAMPLE to be enabled - to be executing an operation that doesn't depends on GL state using u_blitter. This fixes the arb_sample_shading/sample_mask piglit tests on radeonsi. Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
7bb3d6acec
commit
ea5b7de138
|
@ -3437,6 +3437,7 @@ static void si_emit_msaa_config(struct si_context *sctx)
|
|||
S_028804_INTERPOLATE_COMP_Z(1) |
|
||||
S_028804_STATIC_ANCHOR_ASSOCIATIONS(1);
|
||||
unsigned coverage_samples, color_samples, z_samples;
|
||||
struct si_state_rasterizer *rs = sctx->queued.named.rasterizer;
|
||||
|
||||
/* S: Coverage samples (up to 16x):
|
||||
* - Scan conversion samples (PA_SC_AA_CONFIG.MSAA_NUM_SAMPLES)
|
||||
|
@ -3479,7 +3480,7 @@ static void si_emit_msaa_config(struct si_context *sctx)
|
|||
* EQAA 4s 4z 2f - might look the same as 4x MSAA with low-density geometry
|
||||
* EQAA 2s 2z 2f = 2x MSAA
|
||||
*/
|
||||
if (sctx->framebuffer.nr_samples > 1) {
|
||||
if (sctx->framebuffer.nr_samples > 1 && rs->multisample_enable) {
|
||||
coverage_samples = sctx->framebuffer.nr_samples;
|
||||
color_samples = sctx->framebuffer.nr_color_samples;
|
||||
|
||||
|
|
Loading…
Reference in New Issue