mesa/src/compiler
Alyssa Rosenzweig 5d85a0a55b nir: Implement optional b2f->iand lowering
This pass is required by the Midgard compiler; our instruction set uses
NIR-style booleans (~0 for true) but lacks a dedicated b2f instruction.
Normally, this lowering pass would be implemented in a backend-specific
algebraic pass, but this conflicts with the existing iand->b2f pass in
nir_opt_algebraic.py, hanging the compiler. This patch thus makes the
existing pass optional (default on -- all other backends should remain
unaffected), adding an optional pass for lowering the opposite
direction.

v2: Defer lowering until late algebraic optimisations to allow
optimising the b2f instruction itself.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
2018-05-18 22:44:09 +02:00
..
glsl meson: remove dependency antipattern 2018-05-14 14:55:36 +01:00
nir nir: Implement optional b2f->iand lowering 2018-05-18 22:44:09 +02:00
spirv spirv: fix visiting inner loops with same break/continue block 2018-05-15 21:38:19 +02:00
.gitignore
Android.glsl.gen.mk
Android.glsl.mk
Android.mk
Android.nir.gen.mk android: Use new nir intrinsics python scripts 2018-03-28 14:48:47 +03:00
Android.nir.mk
blob.c
blob.h
builtin_type_macros.h glsl_types: vec8/vec16 support 2018-03-25 10:42:54 -04:00
glsl_types.cpp glsl: prevent spurious Valgrind errors when serializing NIR 2018-04-20 09:21:23 +02:00
glsl_types.h mesa: include mtypes.h less 2018-04-12 19:31:30 -04:00
Makefile.am autotools: Include new meson files 2018-04-20 20:26:56 -07:00
Makefile.glsl.am compiler: All leaf Makefile.am should use += 2018-03-29 14:09:41 -07:00
Makefile.nir.am nir: Fix a typo in src/compiler/Makefile.nir.am 2018-04-09 08:32:45 -06:00
Makefile.sources nir: Add the start of a format conversion helper header 2018-05-09 11:16:33 -07:00
Makefile.spirv.am spirv: autotools: add vtn_gather_types_c.py in distribution tarball 2018-04-10 10:37:46 +02:00
meson.build meson: remove dummy_cpp 2018-04-24 14:08:15 -07:00
nir_types.cpp glsl_types: vec8/vec16 support 2018-03-25 10:42:54 -04:00
nir_types.h compiler: int8/uint8 support 2018-03-14 10:08:42 -04:00
SConscript spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
SConscript.glsl
SConscript.nir nir: mako all the intrinsics 2018-03-27 08:36:37 -04:00
SConscript.spirv spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
shader_enums.c compiler: Add SYSTEM_VALUE_IS_INDEXED_DRAW and instrinsics 2018-05-02 11:20:40 +02:00
shader_enums.h compiler: Add SYSTEM_VALUE_IS_INDEXED_DRAW and instrinsics 2018-05-02 11:20:40 +02:00
shader_info.h compiler/spirv: add implementation to check for SpvCapabilityInt16 support 2018-05-03 11:40:26 +02:00