i965: Program 3DSTATE_AA_LINE_PARAMETERS in upload_invariant_state
authorNanley Chery <nanley.g.chery@intel.com>
Fri, 30 Sep 2016 22:26:19 +0000 (15:26 -0700)
committerNanley Chery <nanley.g.chery@intel.com>
Mon, 31 Oct 2016 20:20:00 +0000 (13:20 -0700)
This packet is non-pipelined and doesn't ever change across emissions.

Signed-off-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
src/mesa/drivers/dri/i965/brw_misc_state.c
src/mesa/drivers/dri/i965/brw_state.h
src/mesa/drivers/dri/i965/brw_state_upload.c

index 6fce0389397615d5a4e3cf2e1fef42a86696f4c7..40a8d07bfb468d03e37e60c632be7868f5d60abe 100644 (file)
@@ -792,37 +792,6 @@ const struct brw_tracked_state brw_polygon_stipple_offset = {
    .emit = upload_polygon_stipple_offset
 };
 
-/**
- * AA Line parameters
- */
-static void
-upload_aa_line_parameters(struct brw_context *brw)
-{
-   struct gl_context *ctx = &brw->ctx;
-
-   if (!ctx->Line.SmoothFlag)
-      return;
-
-   /* Original Gen4 doesn't have 3DSTATE_AA_LINE_PARAMETERS. */
-   if (brw->gen == 4 && !brw->is_g4x)
-      return;
-
-   BEGIN_BATCH(3);
-   OUT_BATCH(_3DSTATE_AA_LINE_PARAMETERS << 16 | (3 - 2));
-   /* use legacy aa line coverage computation */
-   OUT_BATCH(0);
-   OUT_BATCH(0);
-   ADVANCE_BATCH();
-}
-
-const struct brw_tracked_state brw_aa_line_parameters = {
-   .dirty = {
-      .mesa = _NEW_LINE,
-      .brw = BRW_NEW_CONTEXT,
-   },
-   .emit = upload_aa_line_parameters
-};
-
 /**
  * Line stipple packet
  */
@@ -1027,6 +996,16 @@ brw_upload_invariant_state(struct brw_context *brw)
       ADVANCE_BATCH();
    }
 
+   /* Original Gen4 doesn't have 3DSTATE_AA_LINE_PARAMETERS. */
+   if (!is_965) {
+      BEGIN_BATCH(3);
+      OUT_BATCH(_3DSTATE_AA_LINE_PARAMETERS << 16 | (3 - 2));
+      /* use legacy aa line coverage computation */
+      OUT_BATCH(0);
+      OUT_BATCH(0);
+      ADVANCE_BATCH();
+   }
+
    const uint32_t _3DSTATE_VF_STATISTICS =
       is_965 ? GEN4_3DSTATE_VF_STATISTICS : GM45_3DSTATE_VF_STATISTICS;
    BEGIN_BATCH(1);
index 1420aaba59eb00c0931ef6fe23b4a1b4f5121e25..75e497f7b2ce297f807388b264de5b0d3aff22cc 100644 (file)
@@ -57,7 +57,6 @@ extern const struct brw_tracked_state brw_invariant_state;
 extern const struct brw_tracked_state brw_fs_samplers;
 extern const struct brw_tracked_state brw_gs_unit;
 extern const struct brw_tracked_state brw_line_stipple;
-extern const struct brw_tracked_state brw_aa_line_parameters;
 extern const struct brw_tracked_state brw_binding_table_pointers;
 extern const struct brw_tracked_state brw_depthbuffer;
 extern const struct brw_tracked_state brw_polygon_stipple_offset;
index 015ea6e96101d0efe09739c40283c178fdf4160f..2461ee5800c1fda351e5cee22065d8b8d6871971 100644 (file)
@@ -90,7 +90,6 @@ static const struct brw_tracked_state *gen4_atoms[] =
    &brw_polygon_stipple_offset,
 
    &brw_line_stipple,
-   &brw_aa_line_parameters,
 
    &brw_psp_urb_cbs,
 
@@ -160,7 +159,6 @@ static const struct brw_tracked_state *gen6_atoms[] =
    &brw_polygon_stipple_offset,
 
    &brw_line_stipple,
-   &brw_aa_line_parameters,
 
    &brw_drawing_rect,
 
@@ -251,7 +249,6 @@ static const struct brw_tracked_state *gen7_render_atoms[] =
    &brw_polygon_stipple_offset,
 
    &brw_line_stipple,
-   &brw_aa_line_parameters,
 
    &brw_drawing_rect,
 
@@ -360,7 +357,6 @@ static const struct brw_tracked_state *gen8_render_atoms[] =
    &brw_polygon_stipple_offset,
 
    &brw_line_stipple,
-   &brw_aa_line_parameters,
 
    &brw_drawing_rect,