Browse Source

i965/fs: Use source's original type in register_coalesce().

Previously, register_coalesce() would modify

   mov   vgrf1:f  vgrf2:f
   cmp   null     vgrf3:d  vgrf1:d

to be

   cmp   null     vgrf3:d  vgrf2:f

and incorrectly use vgrf2's type in the instruction that the mov was
coalesced into.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
tags/mesa-10.1-rc1
Matt Turner 12 years ago
parent
commit
9793fc1335
1 changed files with 1 additions and 0 deletions
  1. 1
    0
      src/mesa/drivers/dri/i965/brw_fs.cpp

+ 1
- 0
src/mesa/drivers/dri/i965/brw_fs.cpp View File

@@ -2429,6 +2429,7 @@ fs_visitor::register_coalesce()
scan_inst->src[i].reg == inst->dst.reg &&
scan_inst->src[i].reg_offset == inst->dst.reg_offset) {
fs_reg new_src = inst->src[0];
new_src.type = scan_inst->src[i].type;
if (scan_inst->src[i].abs) {
new_src.negate = 0;
new_src.abs = 1;

Loading…
Cancel
Save