From a98ece61e9109963da525592a6890ad1166a0993 Mon Sep 17 00:00:00 2001 From: Anuj Phogat Date: Fri, 5 Jun 2020 14:40:25 -0700 Subject: [PATCH] anv: Enable tessellation redistribution This patch adds Tessellation Distribution on top of Geometry Distribution. Using recommended values based on performance studies across a range of workloads. Rework: - Add comment for new packet bits (Sagar) Signed-off-by: Anuj Phogat Reviewed-by: Sagar Ghuge Reviewed-by: Jordan Justen Reviewed-by: Kenneth Graunke Part-of: --- src/intel/vulkan/genX_pipeline.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 7675475e17f..bc34a7e38e3 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -1929,6 +1929,16 @@ emit_3dstate_hs_te_ds(struct anv_graphics_pipeline *pipeline, te.TEEnable = true; te.MaximumTessellationFactorOdd = 63.0; te.MaximumTessellationFactorNotOdd = 64.0; +#if GFX_VERx10 >= 125 + te.TessellationDistributionMode = TEDMODE_RR_FREE; + te.TessellationDistributionLevel = TEDLEVEL_PATCH; + /* 64_TRIANGLES */ + te.SmallPatchThreshold = 3; + /* 1K_TRIANGLES */ + te.TargetBlockSize = 8; + /* 1K_TRIANGLES */ + te.LocalBOPAccumulatorThreshold = 1; +#endif } anv_batch_emit(&pipeline->base.batch, GENX(3DSTATE_DS), ds) {