Revert "i965: Only emit 3DSTATE_DRAWING_RECTANGLE once on gen8+"
authorMark Janes <mark.a.janes@intel.com>
Thu, 1 Mar 2018 01:26:08 +0000 (17:26 -0800)
committerMark Janes <mark.a.janes@intel.com>
Thu, 1 Mar 2018 01:26:08 +0000 (17:26 -0800)
This reverts commit a2c1e48f15995a826dc759e064c2603882a37e0c.

On BDWGT3e and KBLGT3e systems, this commit regressed the following
tests:

  piglit.spec.ext_framebuffer_multisample.accuracy 2 stencil_resolve small depthstencil
  piglit.spec.ext_framebuffer_multisample.accuracy 4 stencil_resolve small depthstencil
  piglit.spec.ext_framebuffer_multisample.accuracy 6 stencil_resolve small depthstencil
  piglit.spec.ext_framebuffer_multisample.accuracy 8 stencil_resolve small depthstencil
  piglit.spec.ext_framebuffer_multisample.accuracy all_samples stencil_resolve small depthstencil

src/mesa/drivers/dri/i965/brw_misc_state.c
src/mesa/drivers/dri/i965/genX_blorp_exec.c
src/mesa/drivers/dri/i965/genX_state_upload.c

index 2d2517d2bdfe62168c93fbfd63707ee52f012772..c4ef6812bff9b7b7fded0414863b747340f53916 100644 (file)
@@ -573,15 +573,6 @@ brw_upload_invariant_state(struct brw_context *brw)
    BEGIN_BATCH(1);
    OUT_BATCH(_3DSTATE_VF_STATISTICS << 16 | 1);
    ADVANCE_BATCH();
-
-   if (devinfo->gen >= 8) {
-      BEGIN_BATCH(4);
-      OUT_BATCH(_3DSTATE_DRAWING_RECTANGLE << 16 | 1);
-      OUT_BATCH(0);
-      OUT_BATCH(~0);
-      OUT_BATCH(0);
-      ADVANCE_BATCH();
-   }
 }
 
 /**
index aa97981dd1ff960735c7605f31d5901c9ce4b7d3..062171af600312ea83bc49dea1f24b330b98ab74 100644 (file)
@@ -276,12 +276,10 @@ retry:
    gen8_write_pma_stall_bits(brw, 0);
 #endif
 
-#if GEN_GEN < 8
    blorp_emit(batch, GENX(3DSTATE_DRAWING_RECTANGLE), rect) {
       rect.ClippedDrawingRectangleXMax = MAX2(params->x1, params->x0) - 1;
       rect.ClippedDrawingRectangleYMax = MAX2(params->y1, params->y0) - 1;
    }
-#endif
 
    blorp_exec(batch, params);
 
index eda812868bdb4a97f30a403db807a8042c13ddf5..b38b61a874cb2d7c63154d4a114fac484bd8e16e 100644 (file)
@@ -280,7 +280,6 @@ static const struct brw_tracked_state genX(line_stipple) = {
    .emit = genX(upload_line_stipple),
 };
 
-#if GEN_GEN < 8
 /* Constant single cliprect for framebuffer object or DRI2 drawing */
 static void
 genX(upload_drawing_rect)(struct brw_context *brw)
@@ -304,7 +303,6 @@ static const struct brw_tracked_state genX(drawing_rect) = {
    },
    .emit = genX(upload_drawing_rect),
 };
-#endif
 
 static uint32_t *
 genX(emit_vertex_buffer_state)(struct brw_context *brw,
@@ -5658,6 +5656,8 @@ genX(init_atoms)(struct brw_context *brw)
 
       &genX(line_stipple),
 
+      &genX(drawing_rect),
+
       &genX(vf_topology),
 
       &brw_indices,