summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2013-03-08 19:08:23 +0100
committerChristoph Bumiller <[email protected]>2013-03-12 12:55:35 +0100
commitd6c95f6819547ff5aa8591471428d04a82718721 (patch)
tree769402925e84ac5a22c67565569352c4e07d0486 /src/gallium/drivers
parent1ed507ca46d721d9cab1bb036dc14b10c8a2a37b (diff)
nvc0/ir/target: some ops can't be predicated, e.g. CALL
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp b/src/gallium/drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp
index 63692065194..a37e4ef35dd 100644
--- a/src/gallium/drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp
+++ b/src/gallium/drivers/nvc0/codegen/nv50_ir_target_nvc0.cpp
@@ -286,6 +286,12 @@ void TargetNVC0::initOpInfo()
OP_SUREDB, OP_BAR
};
+ static const operation noPred[] =
+ {
+ OP_CALL, OP_PRERET, OP_QUADON, OP_QUADPOP,
+ OP_JOINAT, OP_PREBREAK, OP_PRECONT, OP_BRKPT
+ };
+
for (i = 0; i < DATA_FILE_COUNT; ++i)
nativeFileMap[i] = (DataFile)i;
nativeFileMap[FILE_ADDRESS] = FILE_GPR;
@@ -315,6 +321,8 @@ void TargetNVC0::initOpInfo()
}
for (i = 0; i < sizeof(noDest) / sizeof(noDest[0]); ++i)
opInfo[noDest[i]].hasDest = 0;
+ for (i = 0; i < sizeof(noPred) / sizeof(noPred[0]); ++i)
+ opInfo[noPred[i]].predicate = 0;
for (i = 0; i < sizeof(_initProps) / sizeof(_initProps[0]); ++i) {
const struct opProperties *prop = &_initProps[i];