gallium/indices: implement prim-restart for triangle fans

Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5976>
diff --git a/src/gallium/auxiliary/indices/u_indices_gen.py b/src/gallium/auxiliary/indices/u_indices_gen.py
index d392f5c..2d08072 100644
--- a/src/gallium/auxiliary/indices/u_indices_gen.py
+++ b/src/gallium/auxiliary/indices/u_indices_gen.py
@@ -288,6 +288,12 @@
 def trifan(intype, outtype, inpv, outpv, pr):
     preamble(intype, outtype, inpv, outpv, pr, prim='trifan')
     print('  for (i = start, j = 0; j < out_nr; j+=3, i++) { ')
+
+    if pr == PRENABLE:
+        def close_func(index):
+            print('         start = i;')
+        prim_restart(3, 3, 1, close_func)
+
     do_tri( intype, outtype, 'out+j',  'start', 'i+1', 'i+2', inpv, outpv );
     print('   }')
     postamble()