From 9a95fb16053746578be856a76f3177777ef157f1 Mon Sep 17 00:00:00 2001 From: Vincent Lejeune Date: Sat, 18 May 2013 22:22:41 +0200 Subject: [PATCH] r600g/llvm: Fix texelFetchOffset-2D --- src/gallium/drivers/r600/r600_llvm.c | 6 ++++++ 1 file changed, 6 insertions(+) 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, -- 2.7.4