[Mesa-dev] [PATCH] gallium/docs: document alpha_to_coverage and alpha_to_one blend state

Roland Scheidegger sroland at vmware.com
Thu Sep 15 22:15:59 UTC 2016


A good question. I have no idea what d3d10 does there (since a
conversion from alpha to coverage doesn't really make sense as the alpha
values don't actually go from 0 to 1).
I suppose they could be translated away in the state tracker as well
since the combination doesn't make sense (albeit we don't do that for
d3d10 - maybe this behavior isn't tested).

But in any case, this documentation is an improvement.
(alpha_to_one is not possible with d3d10, therefore the semantics could
be different, but it probably makes sense it follows the same rules.)
Reviewed-by: Roland Scheidegger <sroland at vmware.com>


Am 15.09.2016 um 23:35 schrieb Ilia Mirkin:
> What about integer RTs? I had to add a hack in nouveau to make it
> disable those when RT0 is an integer. It'd be more convenient if they
> were turned off in the first place.
> 
> On Thu, Sep 15, 2016 at 5:34 PM, Brian Paul <brianp at vmware.com> wrote:
>> The gallium interface defines these like DX10.  Note that OpenGL ignores
>> these options if MSAA is disabled or the dest buffer doesn't support
>> MSAA.
>> ---
>>  src/gallium/docs/source/cso/blend.rst | 12 ++++++++++++
>>  1 file changed, 12 insertions(+)
>>
>> diff --git a/src/gallium/docs/source/cso/blend.rst b/src/gallium/docs/source/cso/blend.rst
>> index dce999c..7316e5c 100644
>> --- a/src/gallium/docs/source/cso/blend.rst
>> +++ b/src/gallium/docs/source/cso/blend.rst
>> @@ -88,6 +88,18 @@ independent_blend_enable
>>     the first member of the rt array contains valid data.
>>  rt
>>     Contains the per-rendertarget blend state.
>> +alpha_to_coverage
>> +   If enabled, the fragment's alpha value is used to override the fragment's
>> +   coverage mask.  The coverage mask will be all zeros if the alpha value is
>> +   zero.  The coverage mask will be all ones if the alpha value is one.
>> +   Otherwise, the number of bits set in the coverage mask will be proportional
>> +   to the alpha value.  Note that this step happens regardless of whether
>> +   multisample is enabled or the destination buffer is multisampled.
>> +alpha_to_one
>> +   If enabled, the fragment's alpha value will be set to one.  As with
>> +   alpha_to_coverage, this step happens regardless of whether multisample
>> +   is enabled or the destination buffer is multisampled.
>> +
>>
>>  Per-rendertarget Members
>>  ------------------------
>> --



More information about the mesa-dev mailing list