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.

u_blitter is an internal helper which uses an hardcoded 'pipe_rasterizer.multisample = 0' value because its operations only depends on the number of samples of the involved surfaces. So this commit adds an ignore_multisample_state boolean to cover this case.

This fixes the arb_sample_shading/sample_mask piglit tests on radeonsi.

Merge request reports