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

Marek Olšák maraeo at gmail.com
Thu Dec 14 02:30:54 UTC 2017


On Wed, Dec 13, 2017 at 4:43 AM, Roland Scheidegger <sroland at vmware.com> wrote:
> 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).

Old (and maybe even new) Radeons do obey the sample mask even with 1
sample. Sample mask == 0 kills all pixels.

Marek


More information about the mesa-dev mailing list