gallium/util: allow non average MS resolution in blit

When performing a MSAA resolve in the blitter, either a linear
(nearest filter) or a bilinear (linear filter) average sampling is done
for float-based color sources.

In the case of V3D, there's a path to do a stencil blit by
re-interpreting the stencil buffer as a color buffer, and using the
blitter to do the job. But the BlitFramebuffer spec requires that for
stencil values a single sample is used, not an average.

This can be observed in the piglit's test
`ext_framebuffer_multisample-unaligned-blit 2 stencil downsample -auto
-fbo`, specifically in the triangles borders.

Here we add an option to disable the averaging and use instead a single
sample.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
90 jobs for !8305 with review/v3d-stencil-blit in 8 seconds (queued for 4 seconds)
detached
Status Job ID Name Coverage
  Sanity
passed #6433542
sanity

00:00:08

 
  Container
manual #6433545
aarch64 manual
arm_build
manual #6433546
manual
arm_test-base
manual #6433547
windows shell 1809 mesa manual
windows_build_vs2019
manual #6433543
manual
x86_build-base
manual #6433544
manual
x86_test-base
 
  Container 2
created #6433555
android_build
created #6433558
arm64_test
created #6433559
armhf_test
created #6433552
i386_build
created #6433548
kernel+rootfs_amd64
created #6433549
aarch64
kernel+rootfs_arm64
created #6433550
aarch64
kernel+rootfs_armhf
created #6433553
ppc64el_build
created #6433554
s390x_build
created #6433551
x86_build
created #6433556
x86_test-gl
created #6433557
x86_test-vk
 
  Meson X86 64
created #6433565
meson-clang
created #6433566
meson-clover
created #6433562
meson-clover-testing
created #6433563
meson-gallium
created #6433564
meson-release
created #6433560
meson-testing
created #6433561
meson-testing-asan
created #6433567
meson-vulkan
 
  Build Misc
created #6433568
meson-android
created #6433570
aarch64
meson-arm64
created #6433571
aarch64
meson-arm64-build-test
created #6433569
aarch64
meson-armhf
created #6433574
meson-i386
created #6433577
meson-mingw32-x86_64
created #6433576
kvm
meson-ppc64el
created #6433575
kvm
meson-s390x
created #6433572
docker windows 1809 mesa
meson-windows-vs2019
created #6433573
allowed to fail
scons-win64
 
  Amd
created #6433578
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles2:amd64
created #6433580
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles31:amd64
created #6433579
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-gles3:amd64
created #6433581
mesa-ci-aarch64-lava-collabora
radeonsi-stoney-traces:amd64
 
  Arm
created #6433587
mesa-ci-aarch64-lava-collabora
panfrost-g52-gles2:arm64
created #6433582
mesa-ci-aarch64-lava-collabora
panfrost-t720-gles2:arm64
created #6433583
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles2:arm64
created #6433584
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 1/2
created #6433585
mesa-ci-aarch64-lava-collabora
panfrost-t860-gles3:arm64 2/2
created #6433586
mesa-ci-aarch64-lava-collabora
panfrost-t860-traces:arm64
 
  Freedreno
created #6433598
google-freedreno-db410c
arm64_a306_gles2
created #6433599
google-freedreno-db410c
arm64_a306_gles3
created #6433600
google-freedreno-db410c
arm64_a306_gles3_options
created #6433601
google-freedreno-db820c
arm64_a530_gles2 1/2
created #6433602
google-freedreno-db820c
arm64_a530_gles2 2/2
created #6433603
google-freedreno-db820c
arm64_a530_gles3
created #6433604
google-freedreno-db820c
arm64_a530_gles31
created #6433605
google-freedreno-db820c
arm64_a530_piglit_shader
created #6433592
google-freedreno-cheza
arm64_a630_gl
created #6433589
google-freedreno-cheza
arm64_a630_gles2
created #6433591
google-freedreno-cheza
arm64_a630_gles3
created #6433590
google-freedreno-cheza
arm64_a630_gles31
created #6433593
google-freedreno-cheza
arm64_a630_gles_others
created #6433597
google-freedreno-cheza
arm64_a630_piglit_shader
created #6433588
google-freedreno-cheza
arm64-a630-traces
created #6433594
google-freedreno-cheza
arm64_a630_vk 1/2
created #6433595
google-freedreno-cheza
arm64_a630_vk 2/2
created #6433596
google-freedreno-cheza
arm64_a630_vk_sysmem
 
  Raspberrypi
created #6433606
igalia-rpi3
vc4-rpi3-gles2:armhf 1/4
created #6433607
igalia-rpi3
vc4-rpi3-gles2:armhf 2/4
created #6433608
igalia-rpi3
vc4-rpi3-gles2:armhf 3/4
created #6433609
igalia-rpi3
vc4-rpi3-gles2:armhf 4/4
 
  Software Renderer
created #6433622
lavapipe-vk
created #6433615
llvmpipe-gles2
created #6433610
llvmpipe-piglit-cl
created #6433612
llvmpipe-piglit-glslparser
created #6433611
llvmpipe-piglit-quick_gl
created #6433613
llvmpipe-piglit-quick_shader
created #6433614
llvmpipe-traces
created #6433621
softpipe-gl
created #6433616
softpipe-gles2
created #6433617
softpipe-gles3
created #6433618
softpipe-gles31 1/2
created #6433619
softpipe-gles31 2/2
created #6433620
softpipe-piglit-quick
 
  Layered Backends
created #6433623
docker windows 1809 mesa
test-d3d12-windows
created #6433629
virgl-gl30-on-gl
created #6433630
virgl-gl31-on-gl
created #6433631
virgl-gl32-on-gl
created #6433625
virgl-gles2-on-gl
created #6433627
virgl-gles31-on-gl 1/2
created #6433628
virgl-gles31-on-gl 2/2
created #6433626
virgl-gles3-on-gl
created #6433624
virgl-traces