From: Michel Dänzer Date: Tue, 27 Nov 2012 18:53:58 +0000 (+0100) Subject: radeonsi: Bitcast result of packf16 intrinsic to float for export intrinsic. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8b6aec6533cc1fc09e27757aefa8ad3dbd662684;p=mesa.git radeonsi: Bitcast result of packf16 intrinsic to float for export intrinsic. Fixes 7 piglit tests, and prevents many more from crashing. Signed-off-by: Michel Dänzer Reviewed-and-Tested-by: Christian König --- diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c index d6e37acaa96..d5d56c46a84 100644 --- a/src/gallium/drivers/radeonsi/radeonsi_shader.c +++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c @@ -496,7 +496,11 @@ static void si_llvm_init_export_args(struct lp_build_tgsi_context *bld_base, LLVMInt32TypeInContext(base->gallivm->context), args, 2, LLVMReadNoneAttribute); - args[chan + 7] = args[chan + 5]; + args[chan + 7] = args[chan + 5] = + LLVMBuildBitCast(base->gallivm->builder, + args[chan + 5], + LLVMFloatTypeInContext(base->gallivm->context), + ""); } /* Set COMPR flag */