diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c
index 2b7ce4b..222a764 100644
--- a/src/gallium/drivers/panfrost/pan_context.c
+++ b/src/gallium/drivers/panfrost/pan_context.c
@@ -349,10 +349,12 @@
                   pan_section_ptr(job, MIDGARD_TILER_JOB, PRIMITIVE);
         pan_pack(section, PRIMITIVE, cfg) {
                 cfg.draw_mode = pan_draw_mode(info->mode);
-                cfg.point_size_array = panfrost_writes_point_size(ctx);
+                if (panfrost_writes_point_size(ctx))
+                        cfg.point_size_array_format = MALI_POINT_SIZE_ARRAY_FORMAT_FP16;
                 cfg.first_provoking_vertex = rast->flatshade_first;
-                cfg.primitive_restart = info->primitive_restart;
-                cfg.unknown_3 = 6;
+                if (info->primitive_restart)
+                        cfg.primitive_restart = MALI_PRIMITIVE_RESTART_IMPLICIT;
+                cfg.job_task_split = 6;
 
                 if (info->index_size) {
                         cfg.index_type = panfrost_translate_index_size(info->index_size);
diff --git a/src/panfrost/lib/decode.c b/src/panfrost/lib/decode.c
index a556fd7..d736511 100644
--- a/src/panfrost/lib/decode.c
+++ b/src/panfrost/lib/decode.c
@@ -1393,7 +1393,7 @@
 
         pan_section_unpack(p, MIDGARD_TILER_JOB, PRIMITIVE, primitive);
         pandecode_primitive_size(pan_section_ptr(p, MIDGARD_TILER_JOB, PRIMITIVE_SIZE),
-                                 primitive.point_size_array == 0);
+                                 primitive.point_size_array_format == MALI_POINT_SIZE_ARRAY_FORMAT_NONE);
         pandecode_indent--;
         pandecode_log("\n");
 }
diff --git a/src/panfrost/lib/midgard.xml b/src/panfrost/lib/midgard.xml
index 74dcc38..48e55e8 100644
--- a/src/panfrost/lib/midgard.xml
+++ b/src/panfrost/lib/midgard.xml
@@ -324,24 +324,37 @@
     <field name="Unknown shift" size="4" start="1:28" type="uint"/>
   </struct>
 
+  <enum name="Point Size Array Format">
+    <value name="None" value="0"/>
+    <value name="FP16" value="2"/>
+    <value name="FP32" value="3"/>
+  </enum>
+
+  <enum name="Primitive Restart">
+    <value name="None" value="0"/>
+    <value name="Implicit" value="2"/>
+    <value name="Explicit" value="3"/>
+  </enum>
+
   <struct name="Primitive">
-    <field name="Draw mode" size="4" start="0:0" type="Draw Mode" default="None"/>
-    <field name="Index type" size="2" start="0:8" type="Index Type" default="None"/>
-    <field name="Point size array" size="1" start="0:12" type="bool"/>
-    <!--- TODO -->
+    <field name="Draw mode" size="8" start="0:0" type="Draw Mode" default="None"/>
+    <field name="Index type" size="3" start="0:8" type="Index Type" default="None"/>
+    <field name="Point size array format" size="2" start="0:11" type="Point Size Array Format"/>
+    <field name="Primitive Index Enable" size="1" start="0:13" type="bool"/>
+    <field name="Primitive Index Writeback" size="1" start="0:14" type="bool"/>
     <field name="First provoking vertex" size="1" start="0:15" type="bool" default="true"/>
-    <field name="Unknown 1" size="1" start="0:16" type="bool" default="true"/>
-    <field name="Unknown 2" size="1" start="0:17" type="bool" default="true"/>
-    <!--- TODO -->
-    <field name="Primitive restart" size="1" start="0:20" type="bool"/>
-    <field name="Unknown 3" size="6" start="0:26" type="uint"/>
+    <field name="Low Depth Cull" size="1" start="0:16" type="bool" default="true"/>
+    <field name="High Depth Cull" size="1" start="0:17" type="bool" default="true"/>
+    <field name="Secondary Shader" size="1" start="0:18" type="bool"/>
+    <field name="Primitive restart" size="2" start="0:19" type="Primitive Restart"/>
+    <field name="Job Task Split" size="6" start="0:26" type="uint"/>
     <field name="Base vertex offset" size="32" start="1:0" type="uint"/>
-    <!--- TODO: word 2 -->
+    <field name="Primitive Restart Index" size="32" start="2:0" type="uint"/>
     <field name="Index count" size="32" start="3:0" type="uint" modifier="minus(1)"/>
     <field name="Indices" size="64" start="4:0" type="address"/>
   </struct>
 
-  <struct name="Draw" size="30">
+  <struct name="Draw" size="32">
     <field name="Four Components Per Vertex" size="1" start="0:0" type="bool"/>
     <field name="Draw Descriptor Is 64b" size="1" start="0:1" type="bool"/>
     <field name="Texture Descriptor Is 64b" size="1" start="0:2" type="bool"/>
diff --git a/src/panfrost/lib/pan_blit.c b/src/panfrost/lib/pan_blit.c
index eac5061..dd77698 100644
--- a/src/panfrost/lib/pan_blit.c
+++ b/src/panfrost/lib/pan_blit.c
@@ -362,7 +362,7 @@
         pan_section_pack(t.cpu, MIDGARD_TILER_JOB, PRIMITIVE, cfg) {
                 cfg.draw_mode = MALI_DRAW_MODE_TRIANGLES;
                 cfg.index_count = vertex_count;
-                cfg.unknown_3 = 6;
+                cfg.job_task_split = 6;
         }
 
         panfrost_pack_work_groups_compute(pan_section_ptr(t.cpu, MIDGARD_TILER_JOB, INVOCATION),
