summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/sb/sb_ir.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/r600/sb/sb_ir.h')
-rw-r--r--src/gallium/drivers/r600/sb/sb_ir.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gallium/drivers/r600/sb/sb_ir.h b/src/gallium/drivers/r600/sb/sb_ir.h
index f5ecad6b3f..716af597c5 100644
--- a/src/gallium/drivers/r600/sb/sb_ir.h
+++ b/src/gallium/drivers/r600/sb/sb_ir.h
@@ -493,7 +493,7 @@ protected:
value(unsigned sh_id, value_kind k, sel_chan select, unsigned ver = 0)
: kind(k), flags(),
rel(), array(),
- version(ver), select(select), pin_gpr(select), gpr(),
+ version(ver), select(select), pin_gpr(), gpr(),
gvn_source(), ghash(),
def(), adef(), uses(), constraint(), chunk(),
literal_value(), uid(sh_id) {}
@@ -560,7 +560,8 @@ public:
}
bool is_any_gpr() {
- return (kind == VLK_REG || kind == VLK_TEMP || is_tgsi_value());
+ return (!rel &&
+ (kind == VLK_REG || kind == VLK_TEMP || is_tgsi_value()));
}
bool is_agpr() {
@@ -604,8 +605,10 @@ public:
&& literal_value != literal(0)
&& literal_value != literal(1)
&& literal_value != literal(-1)
- && literal_value != literal(0.5)
- && literal_value != literal(1.0);
+ && literal_value != literal(0.5f)
+ && literal_value != literal(-0.5f)
+ && literal_value != literal(1.0f)
+ && literal_value != literal(-1.0f);
}
void add_use(node *n, use_kind kind, int arg);