}
-/**
- * Primitives generated by DrawArrays/DrawElements/Rectf may be
- * caught here. If there is no primitive in progress, execute them
- * normally, otherwise need to track and discard the generated
- * primitives.
- */
-static void
-loopback_weak_prim(struct gl_context *ctx,
- const struct _mesa_prim *prim)
-{
- /* Use the prim_weak flag to ensure that if this primitive
- * wraps, we don't mistake future vertex_lists for part of the
- * surrounding primitive.
- *
- * While this flag is set, we are simply disposing of data
- * generated by an operation now known to be a noop.
- */
- if (prim->begin)
- ctx->Driver.CurrentExecPrimitive |= VBO_SAVE_PRIM_WEAK;
- if (prim->end)
- ctx->Driver.CurrentExecPrimitive &= ~VBO_SAVE_PRIM_WEAK;
-}
-
-
static inline void
append_attr(GLuint *nr, struct loopback_attr la[], int i, int shift,
const struct gl_vertex_array_object *vao)
const struct _mesa_prim *prims = node->prims;
const GLuint prim_count = node->prim_count;
for (GLuint i = 0; i < prim_count; i++) {
- if ((0) && _mesa_inside_begin_end(ctx)) {
- loopback_weak_prim(ctx, &prims[i]);
- } else {
- loopback_prim(ctx, buffer, &prims[i], wrap_count, stride, la, nr);
- }
+ loopback_prim(ctx, buffer, &prims[i], wrap_count, stride, la, nr);
}
}