[Mesa-dev] [PATCH 1/2] i965: Program 3DSTATE_AA_LINE_PARAMETERS in upload_invariant_state

Nanley Chery nanleychery at gmail.com
Wed Oct 26 18:23:39 UTC 2016


This packet is non-pipelined and doesn't ever change across emissions.

Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
---
 src/mesa/drivers/dri/i965/brw_misc_state.c   | 41 +++++++---------------------
 src/mesa/drivers/dri/i965/brw_state.h        |  1 -
 src/mesa/drivers/dri/i965/brw_state_upload.c |  4 ---
 3 files changed, 10 insertions(+), 36 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_misc_state.c b/src/mesa/drivers/dri/i965/brw_misc_state.c
index cc62dab..9997db6 100644
--- a/src/mesa/drivers/dri/i965/brw_misc_state.c
+++ b/src/mesa/drivers/dri/i965/brw_misc_state.c
@@ -795,37 +795,6 @@ const struct brw_tracked_state brw_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
  */
 static void
@@ -1029,6 +998,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);
diff --git a/src/mesa/drivers/dri/i965/brw_state.h b/src/mesa/drivers/dri/i965/brw_state.h
index 1420aab..75e497f 100644
--- a/src/mesa/drivers/dri/i965/brw_state.h
+++ b/src/mesa/drivers/dri/i965/brw_state.h
@@ -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;
diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c
index 015ea6e..2461ee5 100644
--- a/src/mesa/drivers/dri/i965/brw_state_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_state_upload.c
@@ -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,
 
-- 
2.10.1



More information about the mesa-dev mailing list