summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/codegen
diff options
context:
space:
mode:
authorKarol Herbst <[email protected]>2017-06-23 20:30:27 +0200
committerIlia Mirkin <[email protected]>2017-07-21 23:45:18 -0400
commit1d7c232fbdab3bda71f93669be2e11449aa63f8f (patch)
tree087bc8e4ffee4248c01ab3f53d91d159e3721318 /src/gallium/drivers/nouveau/codegen
parent4ad9e2e17a8019b383d3664ca39ae3227aa3776d (diff)
nv50/ir: add precise field to Instruction
v4: initialize field with NULL Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Pierre Moreau <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/codegen')
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir.cpp1
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir.h2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
index 21641a4746c..08181b790f4 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
@@ -575,6 +575,7 @@ void Instruction::init()
encSize = 0;
ipa = 0;
mask = 0;
+ precise = 0;
lanes = 0xf;
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir.h b/src/gallium/drivers/nouveau/codegen/nv50_ir.h
index 5c09fed05c1..bc15992df0e 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir.h
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.h
@@ -884,6 +884,8 @@ public:
unsigned perPatch : 1;
unsigned exit : 1; // terminate program after insn
unsigned mask : 4; // for vector ops
+ // prevent algebraic optimisations that aren't bit-for-bit identical
+ unsigned precise : 1;
int8_t postFactor; // MUL/DIV(if < 0) by 1 << postFactor