On Tue, Nov 27, 2012 at 07:55:05PM +0100, Michel Dänzer wrote: > From: Michel Dänzer <michel.daen...@amd.com> > > Fixes 4 piglit tests and prevents many more from crashing. > > Signed-off-by: Michel Dänzer <michel.daen...@amd.com> > --- > src/gallium/drivers/radeonsi/radeonsi_shader.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c > b/src/gallium/drivers/radeonsi/radeonsi_shader.c > index d6e37ac..d5d56c4 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), > + "");
After reading the "Fix lp_build_float_to_half" thread and reviewing the LLVM IR docs, I realized that we can't use fptrunc instead of SI_packf16, becuase it produces undefined results when the value won't fit into the smaller type. -Tom > } > > /* Set COMPR flag */ > -- > 1.7.10.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev