         vi,
         ph.specific_prim_address,
         ph.local_rect,
-        local_segment_rect,
+        segment_rect,
         ivec4(ph.user_data, segment_user_data),
         transform.m,
         pic_task,
         brush_flags,
-        segment_data[1]
+        segment_data
     );
 }
 #endif

    PrimitiveHeader ph = fetch_prim_header(prim_header_address);

    // Fetch the segment of this brush primitive we are drawing.
    int segment_address = ph.specific_prim_address +
                          VECS_PER_SPECIFIC_BRUSH +
                          segment_index * VECS_PER_SEGMENT;

    vec4[2] segment_data = fetch_from_gpu_cache_2(segment_address);
    RectWithSize local_segment_rect = RectWithSize(segment_data[0].xy, segment_data[0].zw);

    VertexInfo vi;


        bvec4 edge_mask = notEqual(edge_flags & ivec4(1, 2, 4, 8), ivec4(0));

        vi = write_transform_vertex(
            segment_rect,
            ph.local_rect,
            ph.local_clip_rect,
            mix(vec4(0.0), vec4(1.0), edge_mask),
