Since we always call brw_batch_emit anyways, we can hopefully make things simpler by calling it only once, and then branching inside its body. This can be helpful when bringing the gen4-5 code into this function.
Additionally, check for GEN_GEN == 6 instead of < 7 in cases that won't apply to lower gens. Signed-off-by: Rafael Antognolli <rafael.antogno...@intel.com> --- src/mesa/drivers/dri/i965/genX_state_upload.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c index 1eeb24b..3666f68 100644 --- a/src/mesa/drivers/dri/i965/genX_state_upload.c +++ b/src/mesa/drivers/dri/i965/genX_state_upload.c @@ -2356,7 +2356,7 @@ genX(upload_gs_state)(struct brw_context *brw) brw_gs_prog_data(stage_prog_data); #endif -#if GEN_GEN < 7 +#if GEN_GEN == 6 brw_batch_emit(brw, GENX(3DSTATE_CONSTANT_GS), cgs) { if (active && stage_state->push_const_size != 0) { cgs.Buffer0Valid = true; @@ -2383,8 +2383,8 @@ genX(upload_gs_state)(struct brw_context *brw) gen7_emit_cs_stall_flush(brw); #endif - if (active) { - brw_batch_emit(brw, GENX(3DSTATE_GS), gs) { + brw_batch_emit(brw, GENX(3DSTATE_GS), gs) { + if (active) { INIT_THREAD_DISPATCH_FIELDS(gs, Vertex); #if GEN_GEN >= 7 @@ -2468,13 +2468,12 @@ genX(upload_gs_state)(struct brw_context *brw) gs.VertexURBEntryOutputReadOffset = urb_entry_write_offset; gs.VertexURBEntryOutputLength = MAX2(urb_entry_output_length, 1); #endif - } #if GEN_GEN < 7 - } else if (brw->ff_gs.prog_active) { - /* In gen6, transform feedback for the VS stage is done with an ad-hoc GS - * program. This function provides the needed 3DSTATE_GS for this. - */ - brw_batch_emit(brw, GENX(3DSTATE_GS), gs) { + } else if (brw->ff_gs.prog_active) { + /* In gen6, transform feedback for the VS stage is done with an + * ad-hoc GS program. This function provides the needed 3DSTATE_GS + * for this. + */ gs.KernelStartPointer = KSP(brw, brw->ff_gs.prog_offset); gs.SingleProgramFlow = true; gs.VectorMaskEnable = true; @@ -2489,10 +2488,8 @@ genX(upload_gs_state)(struct brw_context *brw) gs.SVBIPostIncrementValue = brw->ff_gs.prog_data->svbi_postincrement_value; gs.Enable = true; - } #endif - } else { - brw_batch_emit(brw, GENX(3DSTATE_GS), gs) { + } else { gs.StatisticsEnable = true; #if GEN_GEN < 7 gs.RenderingEnabled = true; @@ -2506,7 +2503,8 @@ genX(upload_gs_state)(struct brw_context *brw) #endif } } -#if GEN_GEN < 7 + +#if GEN_GEN == 6 brw->gs.enabled = active; #endif } -- 2.9.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev