Mesa (master): r600g/llvm: Fix texelFetchOffset-2D

Vincent Lejeune vlj at kemper.freedesktop.org
Mon May 20 18:23:26 UTC 2013


Module: Mesa
Branch: master
Commit: 9a95fb16053746578be856a76f3177777ef157f1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a95fb16053746578be856a76f3177777ef157f1

Author: Vincent Lejeune <vljn at ovi.com>
Date:   Sat May 18 22:22:41 2013 +0200

r600g/llvm: Fix texelFetchOffset-2D

---

 src/gallium/drivers/r600/r600_llvm.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_llvm.c b/src/gallium/drivers/r600/r600_llvm.c
index 3d2c492..c1809b3 100644
--- a/src/gallium/drivers/r600/r600_llvm.c
+++ b/src/gallium/drivers/r600/r600_llvm.c
@@ -460,6 +460,12 @@ static void llvm_emit_tex(
 	for (c = 1; c < emit_data->arg_count; ++c)
 		args[c] = emit_data->args[c];
 
+	if (emit_data->inst->Instruction.Opcode == TGSI_OPCODE_TXF) {
+		args[1] = LLVMBuildShl(gallivm->builder, args[1], lp_build_const_int32(gallivm, 1), "");
+		args[2] = LLVMBuildShl(gallivm->builder, args[2], lp_build_const_int32(gallivm, 1), "");
+		args[3] = LLVMBuildShl(gallivm->builder, args[3], lp_build_const_int32(gallivm, 1), "");
+	}
+
 	sampler_src = emit_data->inst->Instruction.NumSrcRegs-1;
 
 	args[c++] = lp_build_const_int32(gallivm,




More information about the mesa-commit mailing list