mesa/src/compiler
Alyssa Rosenzweig f3de2bd6c2 nir: Add blend lowering pass
This pass was originally developed for Panfrost, where it passes the
relevant dEQP tests. Upstreaming so it can be extended and then shared
with:

* Asahi, for blending
* Zink, for logic ops
* Lavapipe, for advanced blending

Note that using this with MRT in a fragment shader (as non-panfrost
drivers will) has not yet been tested. Logic ops with integer
framebuffers are probably todo. It's been enough for Panfrost, will
suffice for ES2 on Asahi, and provides an upstream base for kusma's work
on advanced blending, so overall the merge is a net benefit.

v2: Remove bogus assert that the format layout is PLAIN. We need to
render R11G11B10, which Mesa reports as layout OTHER. The code is still
correct.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> [v1]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10601>
2021-05-07 17:25:21 +00:00
..
glsl glsl: ignore interface precision qualifier on desktop GL 2021-04-27 08:25:41 +00:00
nir nir: Add blend lowering pass 2021-05-07 17:25:21 +00:00
spirv vtn: Use relaxed 24bit opcodes for CL 24bit math 2021-05-05 22:06:42 +00:00
Android.glsl.gen.mk android: util: Move xxd.py to util 2020-10-11 23:22:34 +02:00
Android.glsl.mk android: glsl: build shader cache sources 2017-02-20 16:30:37 +00:00
Android.mk
Android.nir.gen.mk android: spirv: fix '::' typo in gen rules 2020-12-08 22:44:23 +01:00
Android.nir.mk android: fix libmesa_nir build 2017-07-21 08:47:56 +03:00
builtin_type_macros.h compiler/types: Add 64-bit image types 2020-11-09 17:17:39 +00:00
glsl_types.cpp Convert most remaining free-form fall-through comments to FALLTHROUGH 2021-04-15 16:01:22 +00:00
glsl_types.h glsl: fix is_integer_16_32 2021-04-10 09:01:54 +00:00
Makefile.sources nir: Add blend lowering pass 2021-05-07 17:25:21 +00:00
meson.build spirv: add some tests for volatile/available/visible 2020-09-01 17:15:22 +00:00
nir_types.cpp nir: Add a size_align helper function for aligning elements to 16 bytes. 2020-11-16 13:54:22 -08:00
nir_types.h nir: Add a size_align helper function for aligning elements to 16 bytes. 2020-11-16 13:54:22 -08:00
shader_enums.c compiler: Drop now unused gl_varying_slot_name() 2021-02-13 00:44:53 +00:00
shader_enums.h shader_enums: Fix MSVC warning C4334 (32bit shift cast to 64bit) 2021-04-20 00:28:35 +00:00
shader_info.h nir: Move shared_memory_explicit_layout bit into common shader_info 2021-05-04 20:54:58 +00:00