         float scale = -dot(local_step, (normal));                             \
         if (scale >= 0.0) {                                                   \
             if (dist > opaque_start * scale) {                                \
-                start_corner = info;                                          \
+                SET_CORNER(start_corner, info);                               \
                 start_plane = vec4(offset, normal);                           \
                 float inv_scale = recip(max(scale, 1.0e-6));                  \
                 opaque_start = dist * inv_scale;                              \

        // if no corner is intersected, they will just zero the AA.
        vec4 start_corner = vec4(vec2(1.0e6), vec2(1.0));
        vec4 end_corner = vec4(vec2(1.0e6), vec2(1.0));

        // Clip against the corner half-spaces. We have already computed the
        // corner half-spaces in the vertex shader.

                aa_start = opaque_start - apex * inv_scale;                   \
            }                                                                 \
        } else if (dist > opaque_end * scale) {                               \
            SET_CORNER(end_corner, info);                                     \
            end_plane = vec4(offset, normal);                                 \
            float inv_scale = recip(min(scale, -1.0e-6));                     \
            opaque_end = dist * inv_scale;                                    \
