Mesa (master): radeonsi: Bitcast result of packf16 intrinsic to float for export intrinsic.
Michel Dänzer
daenzer at kemper.freedesktop.org
Thu Nov 29 09:33:01 UTC 2012
Module: Mesa
Branch: master
Commit: 8b6aec6533cc1fc09e27757aefa8ad3dbd662684
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b6aec6533cc1fc09e27757aefa8ad3dbd662684
Author: Michel Dänzer <michel.daenzer at amd.com>
Date: Tue Nov 27 19:53:58 2012 +0100
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 <michel.daenzer at amd.com>
Reviewed-and-Tested-by: Christian König <christian.koenig at amd.com>
---
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 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),
+ "");
}
/* Set COMPR flag */
More information about the mesa-commit
mailing list