Alyssa Rosenzweig <aly...@rosenzweig.io> writes:

> Some mobile GPUs lack fixed-function hardware for blending, instead
> emulating blending via internal shaders. In particular for us, vc4 lacks
> most of the fragment pipeline, implementing blending in the epilogue of
> the fragment shader. Newer Malis supported by Panfrost have limitations
> in their fixed-function pipeline, introducing a dedicated "blend shader"
> stage to implement arbitrarily complex operations.
>
> This helper, originally from vc4, generates NIR programs from a Gallium
> blend state. At the moment, it implements only floating-point ES2 blend
> operations; integer blending and non-ES2 modes like logic ops are
> planned for the future.
>
> Signed-off-by: Alyssa Rosenzweig <aly...@rosenzweig.io>

I would love to see this up in src/compiler/nir.  We'd have to define
enums for the blend factors in shader_enums.h, but we've done that for
compare funcs and advanced blend, already.  Also, we should probably
convert vc4 over in the process, so it's not just new unused code.

I'm also hoping that at some point I can figure out how to represent the
TLB loads properly in NIR (with respect to multisampling, in particular)
so that we can move the whole blend pipeline up.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to