Revert "i965: Move brw_land_fwd_jump() to compilation unit of its use."
authorIago Toral Quiroga <itoral@igalia.com>
Thu, 5 Jun 2014 13:03:07 +0000 (15:03 +0200)
committerKenneth Graunke <kenneth@whitecape.org>
Sun, 8 Jun 2014 04:32:35 +0000 (21:32 -0700)
This reverts commit f3cb2e6ed7059b22752a6b7d7a98c07ba6b5552e.

brw_land_fwd_jump() is convenient wherever we produce JMPI instructions
and we will use JMPI to implement framebuffer writes that involve line
antialiasing in gen < 6.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_eu.h
src/mesa/drivers/dri/i965/brw_eu_emit.c
src/mesa/drivers/dri/i965/brw_sf_emit.c

index c9e5a4b7ddce14edb4bb4660a925c4f741ffdd26..5aaaad43b6e60e54fe4c8bccac42ea8337739ee3 100644 (file)
@@ -340,6 +340,10 @@ struct brw_instruction *brw_CONT(struct brw_compile *p);
 struct brw_instruction *gen6_CONT(struct brw_compile *p);
 struct brw_instruction *gen6_HALT(struct brw_compile *p);
 
+/* Forward jumps:
+ */
+void brw_land_fwd_jump(struct brw_compile *p, int jmp_insn_idx);
+
 struct brw_instruction *brw_JMPI(struct brw_compile *p, struct brw_reg index,
                                  unsigned predicate_control);
 
index 4458ac36d2cf087d8b6787b1e7cb25994473933d..06baebf606b621c252bc2611eebade33c9b3e8c6 100644 (file)
@@ -1758,6 +1758,23 @@ struct brw_instruction *brw_WHILE(struct brw_compile *p)
    return insn;
 }
 
+/* FORWARD JUMPS:
+ */
+void brw_land_fwd_jump(struct brw_compile *p, int jmp_insn_idx)
+{
+   struct brw_context *brw = p->brw;
+   struct brw_instruction *jmp_insn = &p->store[jmp_insn_idx];
+   unsigned jmpi = 1;
+
+   if (brw->gen >= 5)
+      jmpi = 2;
+
+   assert(jmp_insn->header.opcode == BRW_OPCODE_JMPI);
+   assert(jmp_insn->bits1.da1.src1_reg_file == BRW_IMMEDIATE_VALUE);
+
+   jmp_insn->bits3.ud = jmpi * (p->nr_insn - jmp_insn_idx - 1);
+}
+
 /* To integrate with the above, it makes sense that the comparison
  * instruction should populate the flag register.  It might be simpler
  * just to use the flag reg for most WM tasks?
index 8e5d33bff993336fe09b145cee221e02c095e15f..b0593f334a1bb3d199e11a67ece25d3302834426 100644 (file)
@@ -729,22 +729,6 @@ void brw_emit_point_setup(struct brw_sf_compile *c, bool allocate)
    brw_set_default_predicate_control(p, BRW_PREDICATE_NONE);
 }
 
-static void
-brw_land_fwd_jump(struct brw_compile *p, int jmp_insn_idx)
-{
-   struct brw_context *brw = p->brw;
-   struct brw_instruction *jmp_insn = &p->store[jmp_insn_idx];
-   unsigned jmpi = 1;
-
-   if (brw->gen >= 5)
-      jmpi = 2;
-
-   assert(jmp_insn->header.opcode == BRW_OPCODE_JMPI);
-   assert(jmp_insn->bits1.da1.src1_reg_file == BRW_IMMEDIATE_VALUE);
-
-   jmp_insn->bits3.ud = jmpi * (p->nr_insn - jmp_insn_idx - 1);
-}
-
 void brw_emit_anyprim_setup( struct brw_sf_compile *c )
 {
    struct brw_compile *p = &c->func;