From 20c0ca75f55409f279a23a415f5c7dd70a012665 Mon Sep 17 00:00:00 2001 From: Anuj Phogat Date: Thu, 4 Jun 2020 11:50:35 -0700 Subject: [PATCH] iris: 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. Signed-off-by: Anuj Phogat Reviewed-by: Sagar Ghuge Reviewed-by: Jordan Justen Reviewed-by: Kenneth Graunke Part-of: --- src/gallium/drivers/iris/iris_state.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index c2e996a61df..07261416da3 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -4435,6 +4435,16 @@ iris_store_tes_state(const struct intel_device_info *devinfo, 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 } iris_pack_command(GENX(3DSTATE_DS), ds_state, ds) {