diff options
author | Michel Dänzer <[email protected]> | 2012-11-27 19:53:58 +0100 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2012-11-29 10:08:53 +0100 |
commit | 8b6aec6533cc1fc09e27757aefa8ad3dbd662684 (patch) | |
tree | e2f763f90f39433ee8effb6f09cc57d126a6b31d | |
parent | c1023608002c985b9d72edc64732cd666de2a206 (diff) |
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 <[email protected]>
Reviewed-and-Tested-by: Christian König <[email protected]>
-rw-r--r-- | src/gallium/drivers/radeonsi/radeonsi_shader.c | 6 |
1 files changed, 5 insertions, 1 deletions
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 */ |