Lines Matching defs:node
105 const struct vbo_save_vertex_list *node,
109 const struct _mesa_prim *prim = &node->prim[node->prim_count - 1];
316 struct vbo_save_vertex_list *node;
321 node = (struct vbo_save_vertex_list *)
322 _mesa_dlist_alloc(ctx, save->opcode_vertex_list, sizeof(*node));
324 if (!node)
329 memcpy(node->attrsz, save->attrsz, sizeof(node->attrsz));
330 memcpy(node->attrtype, save->attrtype, sizeof(node->attrtype));
331 node->vertex_size = save->vertex_size;
332 node->buffer_offset =
334 node->count = save->vert_count;
335 node->wrap_count = save->copied.nr;
336 node->dangling_attr_ref = save->dangling_attr_ref;
337 node->prim = save->prim;
338 node->prim_count = save->prim_count;
339 node->vertex_store = save->vertex_store;
340 node->prim_store = save->prim_store;
342 node->vertex_store->refcount++;
343 node->prim_store->refcount++;
345 if (node->prim[0].no_current_update) {
346 node->current_size = 0;
347 node->current_data = NULL;
350 node->current_size = node->vertex_size - node->attrsz[0];
351 node->current_data = NULL;
353 if (node->current_size) {
357 node->current_data = MALLOC(node->current_size * sizeof(GLfloat));
358 if (node->current_data) {
360 unsigned attr_offset = node->attrsz[0] * sizeof(GLfloat);
363 if (node->count)
365 (node->count - 1) * node->vertex_size * sizeof(GLfloat);
367 memcpy(node->current_data,
368 buffer + node->buffer_offset + vertex_offset + attr_offset,
369 node->current_size * sizeof(GLfloat));
374 assert(node->attrsz[VBO_ATTRIB_POS] != 0 || node->count == 0);
379 save->vertex_store->used += save->vertex_size * node->count;
380 save->prim_store->used += node->prim_count;
384 save->copied.nr = _save_copy_vertices(ctx, node, save->buffer);
396 node->buffer_offset),
397 node->attrsz, node->prim, node->prim_count,
398 node->wrap_count, node->vertex_size);
1575 struct vbo_save_vertex_list *node = (struct vbo_save_vertex_list *) data;
1578 if (--node->vertex_store->refcount == 0)
1579 free_vertex_store(ctx, node->vertex_store);
1581 if (--node->prim_store->refcount == 0)
1582 FREE(node->prim_store);
1584 if (node->current_data) {
1585 FREE(node->current_data);
1586 node->current_data = NULL;
1594 struct vbo_save_vertex_list *node = (struct vbo_save_vertex_list *) data;
1599 node->count, node->prim_count, node->vertex_size);
1601 for (i = 0; i < node->prim_count; i++) {
1602 struct _mesa_prim *prim = &node->prim[i];