[Mesa-dev] [PATCH] gallium/docs: document behavior of set_sample_mask()

Roland Scheidegger sroland at vmware.com
Wed Dec 13 03:43:57 UTC 2017


Am 13.12.2017 um 04:34 schrieb Brian Paul:
> The sample mask is used even if msaa is not explicity enabled when we
> have a framebuffer with multisampled surfaces.  That's DX behavior and
> what the Radeon drivers do.  Not sure about other drivers at this point.
> ---
>  src/gallium/docs/source/context.rst | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst
> index 9d069b3..0ac7340 100644
> --- a/src/gallium/docs/source/context.rst
> +++ b/src/gallium/docs/source/context.rst
> @@ -64,7 +64,10 @@ objects. They all follow simple, one-method binding calls, e.g.
>  * ``set_stencil_ref`` sets the stencil front and back reference values
>    which are used as comparison values in stencil test.
>  * ``set_blend_color``
> -* ``set_sample_mask``
> +* ``set_sample_mask``  sets the per-context multisample sample mask.  Note
> +  that this takes effect even if multisampling is not explicitly enabled if
> +  the frambuffer surface(s) are multisampled.  Also, this mask is AND-ed
> +  with the optional fragment shader sample mask output (when emitted).
>  * ``set_min_samples`` sets the minimum number of samples that must be run.
>  * ``set_clip_state``
>  * ``set_polygon_stipple``
> 

Looks alright to me. Though note llvmpipe does this even for
non-multisampled surfaces (as per dx behavior too). But as far as I
know, radeons don't and it would have to be emulated (I suppose the dx10
drivers do), so probably can't really make this gallium behavior (sample
mask is pretty awkward with just one sample in the first place, and I
doubt used in practice).

Reviewed-by: Roland Scheidegger <sroland at vmware.com>


More information about the mesa-dev mailing list