diff options
Diffstat (limited to 'src/gallium/drivers/r600/sb/sb_ir.h')
-rw-r--r-- | src/gallium/drivers/r600/sb/sb_ir.h | 11 |
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); |