anv: implement TES distribution mode WA 22012785325
authorAnuj Phogat <anuj.phogat@gmail.com>
Mon, 24 May 2021 18:27:35 +0000 (11:27 -0700)
committerMarge Bot <emma+marge@anholt.net>
Thu, 16 Mar 2023 14:42:53 +0000 (14:42 +0000)
Set TEDMODE_RR_STRICT when TEEnable is set.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21899>

src/intel/vulkan/gfx8_cmd_buffer.c

index baebfe8..7121d8c 100644 (file)
@@ -232,7 +232,10 @@ genX(cmd_emit_te)(struct anv_cmd_buffer *cmd_buffer)
       te.MaximumTessellationFactorOdd = 63.0;
       te.MaximumTessellationFactorNotOdd = 64.0;
 #if GFX_VERx10 >= 125
-      te.TessellationDistributionMode = TEDMODE_RR_FREE;
+      if (intel_needs_workaround(cmd_buffer->device->info, 22012785325))
+         te.TessellationDistributionMode = TEDMODE_RR_STRICT;
+      else
+         te.TessellationDistributionMode = TEDMODE_RR_FREE;
       te.TessellationDistributionLevel = TEDLEVEL_PATCH;
       /* 64_TRIANGLES */
       te.SmallPatchThreshold = 3;