From 90f45357abd4f0007aa3f047464b43188fed4ef1 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 21 Apr 2016 13:51:14 +0200 Subject: nouveau: codegen: LOAD: Do not call fetchSrc(1) if the address is immediate "off" later gets set to NULL when the address is immediate, so move the fetchSrc(1) call to the non-immediate branch of the if-else. This brings handleLOAD's offset handling inline with how it is done in handleSTORE. Signed-off-by: Hans de Goede Reviewed-by: Samuel Pitoiset Reviewed-by: Ilia Mirkin --- src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/gallium/drivers/nouveau/codegen') diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp index cdf9d9413e6..9b9f257b280 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp @@ -2383,14 +2383,15 @@ Converter::handleLOAD(Value *dst0[4]) if (!dst0[c]) continue; - // yzw are ignored for buffers - Value *off = fetchSrc(1, 0); + Value *off; Symbol *sym; if (tgsi.getSrc(1).getFile() == TGSI_FILE_IMMEDIATE) { off = NULL; sym = makeSym(tgsi.getSrc(0).getFile(), r, -1, c, tgsi.getSrc(1).getValueU32(0, info) + 4 * c); } else { + // yzw are ignored for buffers + off = fetchSrc(1, 0); sym = makeSym(tgsi.getSrc(0).getFile(), r, -1, c, 4 * c); } -- cgit v1.2.3