iris,anv/xe2+: Set tessellation redistribution regions per patch to recommended values.

See also HSDES#14015504893 regarding the region-based tessellation
redistribution feature which allows fine-tuning the number of regions
per patch.  This sets it to the recommended value, since region-based
redistribution is enabled by default.

Reviewed-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29562>
This commit is contained in:
Francisco Jerez 2023-01-04 12:57:00 -08:00
parent 2aa4652a68
commit 576c9e3af2
3 changed files with 8 additions and 0 deletions

View file

@ -5087,6 +5087,9 @@ iris_store_tes_state(const struct intel_device_info *devinfo,
iris_pack_command(GENX(3DSTATE_TE), te_state, te) {
te.Partitioning = tes_data->partitioning;
#if GFX_VER >= 20
te.NumberOfRegionsPerPatch = 2;
#endif
te.OutputTopology = tes_data->output_topology;
te.TEDomain = tes_data->domain;
te.TEEnable = true;

View file

@ -746,6 +746,7 @@
<value name="TRI_CW" value="2" />
<value name="TRI_CCW" value="3" />
</field>
<field name="Number Of Regions Per Patch" start="42" end="43" type="uint" />
<field name="Partitioning" start="44" end="45" type="uint">
<value name="INTEGER" value="0" />
<value name="ODD_FRACTIONAL" value="1" />

View file

@ -1451,6 +1451,10 @@ emit_3dstate_te(struct anv_graphics_pipeline *pipeline)
/* 1K_TRIANGLES */
te.LocalBOPAccumulatorThreshold = 1;
#endif
#if GFX_VER >= 20
te.NumberOfRegionsPerPatch = 2;
#endif
}
}
}