i965: Program 3DSTATE_AA_LINE_PARAMETERS in upload_invariant_state

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>
This commit is contained in:
Nanley Chery 2016-09-30 15:26:19 -07:00
parent 06e3cd6a45
commit 477ea60b68
3 changed files with 10 additions and 36 deletions

View 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);

View 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;

View 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,