[Mesa-dev] [PATCH] st/mesa: set the new pipe_surface::alpha_one field for RGB surfaces

Marek Olšák maraeo at gmail.com
Tue Jun 28 15:35:29 UTC 2016


On Tue, Jun 28, 2016 at 5:16 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> The main issue is when the st selects an alpha-ful format, but the GL
> wants an alpha-less format. The driver has no way of knowing. This
> gives it a way of knowing.
>
> The alternative is that the driver has to support every format and we
> drop all the fallbacks from st_format. Brian's proposal seems like a
> simpler solution. (This happens on nvc0, for example - RGB10A2 is
> supported, but RGB10X2 isn't. So the st picks RGB10A2 and nvc0 is none
> the wiser - until someone tries to do DST_ALPHA blending.)

Note that no hardware supports RGBX fully as pipe_surface. Radeon also
only supports RGBA and there is a state to force DST_ALPHA to one.
That's enough to pass all tests. The idea is to treat RGBX as RGBA in
all places except blending, and pipe_surface can already describe
that.

Marek


More information about the mesa-dev mailing list