mesa/src/compiler
Alyssa Rosenzweig a257e2daad nir: Lower fquantize2f16
Passes dEQP-VK.spirv_assembly.*opquantize*.

Unlike the DXIL lowering, this should correctly handle NaNs. (I belive Dozen has
a bug here that is masked by running constant folding early and poor CTS
coverage.) It is also faster than the DXIL lowering for hardware that supports
f2f16 conversions natively. It is not as good as a backend implementation that
could flush-to-zero in hardware... but for a debug instruction it should be more
than good enough.

It might be slightly better to multiply with 0.0 to get the appropriate zero,
but NIR really likes optimizing that out ...

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24616>
2023-08-18 22:20:02 +00:00
..
clc clc: use CLANG_RESOURCE_DIR for clang's resource path 2023-08-14 10:50:25 +00:00
glsl nir: Drop most uses if nir_instr_rewrite_src() 2023-08-18 01:00:15 +00:00
isaspec isaspec: Add initial decoding support 2023-07-28 18:41:58 +00:00
nir nir: Lower fquantize2f16 2023-08-18 22:20:02 +00:00
spirv spirv: Implement SPV_AMDX_shader_enqueue 2023-08-18 16:57:22 +00:00
builtin_type_macros.h glsl: add texture subpass variants 2022-11-10 10:21:34 +00:00
glsl_types.cpp nir/gl: Move glsl_type::sampler_target() into a helper in its one caller 2023-08-08 01:50:05 +00:00
glsl_types.h nir/gl: Move glsl_type::sampler_target() into a helper in its one caller 2023-08-08 01:50:05 +00:00
meson.build compiler: Move spirv into a module of its own 2023-06-20 16:18:08 +00:00
nir_gl_types.h mesa: #include "util/glheader.h" instead GL/gl.h in shared code 2022-11-03 16:07:31 +00:00
nir_types.cpp nir/gl: Move glsl_type::sampler_target() into a helper in its one caller 2023-08-08 01:50:05 +00:00
nir_types.h compiler/types: Be consistent when naming array element/size 2023-06-15 03:43:46 +00:00
shader_enums.c nir: Add shader enqueue data structures and handling 2023-08-18 16:57:22 +00:00
shader_enums.h nir: Add shader enqueue data structures and handling 2023-08-18 16:57:22 +00:00
shader_info.h nir: Add shader enqueue data structures and handling 2023-08-18 16:57:22 +00:00