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.
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev