i965: Replace intel_context:needs_ff_sync with intel->gen == 5.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 4 Jul 2013 18:26:54 +0000 (11:26 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 9 Jul 2013 21:07:13 +0000 (14:07 -0700)
Technically, needs_ff_sync was set on Gen5+, but it was only consulted
in the clipper threads and quad/lineloop decomposition code, which are
both Gen4-5 only.  So in reality it only identified Ironlake.

The named flag doesn't really clarify things, and seems like overkill.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Chris Forbes <chrisf@ijw.co.nz>
Acked-by: Paul Berry <stereotype441@gmail.com>
Acked-by: Anuj Phogat <anuj.phogat@gmail.com>
src/mesa/drivers/dri/i965/brw_clip_line.c
src/mesa/drivers/dri/i965/brw_clip_tri.c
src/mesa/drivers/dri/i965/brw_clip_util.c
src/mesa/drivers/dri/i965/brw_gs_emit.c
src/mesa/drivers/dri/i965/intel_context.c
src/mesa/drivers/dri/i965/intel_context.h

index 508fa29091ff67501bf69c13a64f38a8abe1e8c1..f7c8d099a54ad2a8dee53cbbf9aa68c5b77828a6 100644 (file)
@@ -85,7 +85,7 @@ static void brw_clip_line_alloc_regs( struct brw_clip_compile *c )
       i++;
    }
 
-   if (intel->needs_ff_sync) {
+   if (intel->gen == 5) {
       c->reg.ff_sync = retype(brw_vec1_grf(i, 0), BRW_REGISTER_TYPE_UD);
       i++;
    }
index b2062d46c0b619a3e6e242d2df4788e9ed055b1d..72de3043476b80943ad3d17e746a083ade6eb1eb 100644 (file)
@@ -122,7 +122,7 @@ void brw_clip_tri_alloc_regs( struct brw_clip_compile *c,
    c->reg.vertex_src_mask = retype(brw_vec1_grf(i, 0), BRW_REGISTER_TYPE_UD);
    i++;
 
-   if (intel->needs_ff_sync) {
+   if (intel->gen == 5) {
       c->reg.ff_sync = retype(brw_vec1_grf(i, 0), BRW_REGISTER_TYPE_UD);
       i++;
    }
index cefffe69120ab2e4e180c4bc367f9078060652a3..8d90017b0469f0d8ad31be821e6088505c644bc5 100644 (file)
@@ -364,7 +364,7 @@ void brw_clip_ff_sync(struct brw_clip_compile *c)
 {
     struct intel_context *intel = &c->func.brw->intel;
 
-    if (intel->needs_ff_sync) {
+    if (intel->gen == 5) {
         struct brw_compile *p = &c->func;
 
         brw_set_conditionalmod(p, BRW_CONDITIONAL_Z);
@@ -389,7 +389,7 @@ void brw_clip_init_ff_sync(struct brw_clip_compile *c)
 {
     struct intel_context *intel = &c->func.brw->intel;
 
-    if (intel->needs_ff_sync) {
+    if (intel->gen == 5) {
        struct brw_compile *p = &c->func;
         
         brw_MOV(p, c->reg.ff_sync, brw_imm_ud(0));
index cbfc6aab2e4afa76e256db05f957522b7698cef9..e85dcc190c96197f0047631ff8934400b7755dd6 100644 (file)
@@ -203,8 +203,7 @@ static void brw_gs_emit_vue(struct brw_gs_compile *c,
 /**
  * Send an FF_SYNC message to ensure that all previously spawned GS threads
  * have finished sending primitives down the pipeline, and to allocate a URB
- * entry for the first output vertex.  Only needed when intel->needs_ff_sync
- * is true.
+ * entry for the first output vertex.  Only needed on Ironlake+.
  *
  * This function modifies c->reg.header: in DWORD 1, it stores num_prim (which
  * is needed by the FF_SYNC message), and in DWORD 0, it stores the handle to
@@ -237,7 +236,7 @@ void brw_gs_quads( struct brw_gs_compile *c, struct brw_gs_prog_key *key )
    /* Use polygons for correct edgeflag behaviour. Note that vertex 3
     * is the PV for quads, but vertex 0 for polygons:
     */
-   if (intel->needs_ff_sync)
+   if (intel->gen == 5)
       brw_gs_ff_sync(c, 1);
    brw_gs_overwrite_header_dw2(
       c, ((_3DPRIM_POLYGON << URB_WRITE_PRIM_TYPE_SHIFT)
@@ -273,7 +272,7 @@ void brw_gs_quad_strip( struct brw_gs_compile *c, struct brw_gs_prog_key *key )
    brw_gs_alloc_regs(c, 4, false);
    brw_gs_initialize_header(c);
    
-   if (intel->needs_ff_sync)
+   if (intel->gen == 5)
       brw_gs_ff_sync(c, 1);
    brw_gs_overwrite_header_dw2(
       c, ((_3DPRIM_POLYGON << URB_WRITE_PRIM_TYPE_SHIFT)
@@ -309,7 +308,7 @@ void brw_gs_lines( struct brw_gs_compile *c )
    brw_gs_alloc_regs(c, 2, false);
    brw_gs_initialize_header(c);
 
-   if (intel->needs_ff_sync)
+   if (intel->gen == 5)
       brw_gs_ff_sync(c, 1);
    brw_gs_overwrite_header_dw2(
       c, ((_3DPRIM_LINESTRIP << URB_WRITE_PRIM_TYPE_SHIFT)
index e4d7bd50bc8b56851fb3f78e18169395b42be280..53aa19c5cf336bdc53296954bbed901a3c820d7a 100644 (file)
@@ -495,10 +495,6 @@ intelInitContext(struct intel_context *intel,
       intel->is_g4x = true;
    }
 
-   if (intel->gen >= 5) {
-      intel->needs_ff_sync = true;
-   }
-
    intel->has_separate_stencil = intel->intelScreen->hw_has_separate_stencil;
    intel->must_use_separate_stencil = intel->intelScreen->hw_must_use_separate_stencil;
    intel->has_hiz = intel->gen >= 6;
index a55572307ec329d01d3db0c69c175f727f4879e5..9be7fc8a38c9c24f833d5865b509ec19f2c70443 100644 (file)
@@ -161,7 +161,6 @@ struct intel_context
     */
    int gen;
    int gt;
-   bool needs_ff_sync;
    bool is_haswell;
    bool is_baytrail;
    bool is_g4x;