mesa/src/compiler
Jason Ekstrand b2db84153a nir: Add b2b opcodes
These exist to convert between different types of boolean values.  In
particular, we want to use these for uniform and shared memory
operations where we need to convert to a reasonably sized boolean but we
don't care what its format is so we don't want to make the back-end
insert an actual i2b/b2i.  In the case of uniforms, Mesa can tweak the
format of the uniform boolean to whatever the driver wants.  In the case
of shared, every value in a shared variable comes from the shader so
it's already in the right boolean format.

The new boolean conversion opcodes get replaced with mov in
lower_bool_to_int/float32 so the back-end will hopefully never see them.
However, while we're in the middle of optimizing our NIR, they let us
have sensible load_uniform/ubo intrinsics and also have the bit size
conversion.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4338>
2020-03-30 15:46:19 +00:00
..
glsl meson: inline inc_common 2020-03-28 21:36:54 +01:00
nir nir: Add b2b opcodes 2020-03-30 15:46:19 +00:00
spirv vtn/opencl: add rint-support 2020-03-26 10:14:22 +00:00
Android.glsl.gen.mk mesa: android: Remove unnecessary dependency tracking rules 2019-05-06 11:29:25 +00:00
Android.glsl.mk android: glsl: build shader cache sources 2017-02-20 16:30:37 +00:00
Android.mk Android: glsl: add rules to generate ir_expression*.h header files 2016-09-06 15:58:55 +01:00
Android.nir.gen.mk nir: Add missing dependency in Android.nir.gen.mk 2019-08-19 09:53:18 +03:00
Android.nir.mk android: fix libmesa_nir build 2017-07-21 08:47:56 +03:00
builtin_type_macros.h glsl_types: vec8/vec16 support 2018-03-25 10:42:54 -04:00
glsl_types.cpp spirv_to_nir: Reuse glsl_sampler_dim_coordinate_components(). 2020-02-24 18:25:02 +00:00
glsl_types.h glsl: Add type queries for fp16+float and fp16+float+double 2020-03-09 16:31:08 +00:00
Makefile.sources glsl: Inline builtins in a separate pass 2020-03-24 23:21:21 +00:00
meson.build meson: inline inc_common 2020-03-28 21:36:54 +01:00
nir_types.cpp nir: fix compilation warning on glsl_get_internal_ifc_packing 2020-03-09 09:43:49 +00:00
nir_types.h nir: fix compilation warning on glsl_get_internal_ifc_packing 2020-03-09 09:43:49 +00:00
SConscript spirv: Fix building with SCons 2018-03-30 14:33:03 -06:00
SConscript.glsl Move compiler.h and imports.h/c from src/mesa/main into src/util 2020-03-27 21:00:09 +00:00
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 new SYSTEM_VALUE_BARYCENTRIC_* 2020-01-29 09:49:50 +00:00
shader_enums.h compiler: add new SYSTEM_VALUE_BARYCENTRIC_* 2020-01-29 09:49:50 +00:00
shader_info.h nir: Collect if shader uses cross-invocation or indirect I/O. 2020-03-30 13:09:08 +00:00