i965: Add support for ir_binop_mod using do_mod_to_fract.
authorEric Anholt <eric@anholt.net>
Fri, 27 Aug 2010 20:24:41 +0000 (13:24 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 27 Aug 2010 20:59:36 +0000 (13:59 -0700)
Fixes glsl-fs-mod.

src/mesa/drivers/dri/i965/brw_fs.cpp

index d836986..bb6c456 100644 (file)
@@ -131,6 +131,7 @@ brw_link_shader(GLcontext *ctx, struct gl_shader_program *prog)
         clone_ir_list(mem_ctx, shader->ir, shader->base.ir);
 
         do_mat_op_to_vec(shader->ir);
+        do_mod_to_fract(shader->ir);
         do_div_to_mul_rcp(shader->ir);
         do_sub_to_add_neg(shader->ir);
         do_explog_to_explog2(shader->ir);
@@ -1482,6 +1483,9 @@ fs_visitor::generate_code()
       case BRW_OPCODE_MUL:
         brw_MUL(p, dst, src[0], src[1]);
         break;
+      case BRW_OPCODE_FRC:
+        brw_FRC(p, dst, src[0]);
+        break;
 
       case BRW_OPCODE_AND:
         brw_AND(p, dst, src[0], src[1]);