mesa/src/amd/llvm
Samuel Pitoiset a31bcf2be6 ac/llvm: fix missing casts in ac_build_readlane()
Because ac_build_optimization_barrier() overwrites the original
src_type, we have to keep track of it before emitting that barrier.
Otherwise, wrong conversions are expected for pointers or small
bitsizes.

By doing this, we no longer need to do the cast dance in
ac_build_readlane_no_opt_barrier(), it was just necessary for
ac_build_optimization_barrier().

This fixes a bunch of crashes with subgroups related tests when
RADV_DEBUG=checkir is enabled, and it also fixes a compiler crash
with The Surge 2.

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2395
Fixes: 0f45d4dc2b ("ac: add ac_build_readlane without optimization barrier")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3535>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3535>
2020-01-24 07:40:07 +01:00
..
ac_llvm_build.c ac/llvm: fix missing casts in ac_build_readlane() 2020-01-24 07:40:07 +01:00
ac_llvm_build.h ac: add helper ac_build_triangle_strip_indices_to_triangle 2020-01-20 16:16:11 -05:00
ac_llvm_cull.c ac/cull: don't read Position.Z if it's not needed for culling 2020-01-15 15:06:20 -05:00
ac_llvm_cull.h
ac_llvm_helper.cpp radv: remove useless RADV_DEBUG=unsafemath debug option 2019-11-15 09:07:34 +01:00
ac_llvm_util.c
ac_llvm_util.h radv: remove useless RADV_DEBUG=unsafemath debug option 2019-11-15 09:07:34 +01:00
ac_nir_to_llvm.c ac/nir: add support for nir_texop_fragment_{mask}_fetch 2020-01-23 10:48:02 +00:00
ac_nir_to_llvm.h radeonsi/nir: don't run si_nir_opts again if there is no change 2019-11-25 16:48:27 -05:00
ac_shader_abi.h ac/nir, radv, radeonsi: Switch to using ac_shader_args 2019-11-25 14:17:10 +01:00
meson.build