This series is take two at programmatic blending. The first few patches (setting up the overall structure) of v1 were merged and are omitted here. We start with the improved nir_lower_blend implementation, which has stylistic fixes and an implementation of glColorMask. Beyond that, the biggest change is the inclusion of the vectorization pass, which is needed for decent compile results with this lowering on vector architectures as noted in review of v1.
Alyssa Rosenzweig (5): nir: Add nir_lower_blend pass panfrost/midgard: Route new blending intrinsics panfrost/midgard: Enable NIR vectorization pass panfrost: Wire up nir_lower_blend panfrost: Improve fixed-function blending Connor Abbott (1): nir: add a vectorization pass src/compiler/Makefile.sources | 2 + src/compiler/nir/meson.build | 2 + src/compiler/nir/nir.h | 28 + src/compiler/nir/nir_lower_blend.c | 246 +++++ src/compiler/nir/nir_opt_vectorize.c | 454 +++++++++ .../drivers/panfrost/ci/expected-failures.txt | 942 ------------------ .../panfrost/midgard/midgard_compile.c | 226 +++-- .../drivers/panfrost/pan_blend_shaders.c | 48 +- src/gallium/drivers/panfrost/pan_blending.c | 70 +- 9 files changed, 917 insertions(+), 1101 deletions(-) create mode 100644 src/compiler/nir/nir_lower_blend.c create mode 100644 src/compiler/nir/nir_opt_vectorize.c -- 2.20.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev