save->buffer_map = save->vertex_store->buffer_in_ram + save->vertex_store->used;
- assert(save->buffer_map == save->buffer_ptr);
-
if (save->vertex_size)
save->max_vert = (save->vertex_store->buffer_in_ram_size / sizeof(float) - save->vertex_store->used) /
save->vertex_size;
prim->count++;
node->cold->vertex_count++;
save->vert_count++;
- save->buffer_ptr += sz;
save->vertex_store->used += sz;
}
/* Allocate and map new store:
*/
save->vertex_store = alloc_vertex_store(ctx, vertex_count);
- save->buffer_ptr = save->vertex_store->buffer_in_ram + save->vertex_store->used;
- save->out_of_memory = save->buffer_ptr == NULL;
}
if (prim_count >= 0)
if (save->dangling_attr_ref)
ctx->ListState.Current.UseLoopback = true;
- save->vertex_store->used += save->vertex_size * node->cold->vertex_count;
-
/* Copy duplicated vertices
*/
save->copied.nr = copy_vertices(ctx, node, save->buffer_map);
save->vertex_store->buffer_in_ram_size / sizeof(float) - 16 * (save->vertex_size + 4)) {
realloc_storage(ctx, -1, 0);
}
- else {
- /* update buffer_ptr for next vertex */
- save->buffer_ptr = save->vertex_store->buffer_in_ram
- + save->vertex_store->used;
- }
/* Reset our structures for the next run of vertices:
*/
assert(save->max_vert - save->vert_count > save->copied.nr);
numComponents = save->copied.nr * save->vertex_size;
- memcpy(save->buffer_ptr,
+
+ fi_type *buffer_ptr = save->vertex_store->buffer_in_ram + save->vertex_store->used;
+ memcpy(buffer_ptr,
save->copied.buffer,
numComponents * sizeof(fi_type));
- save->buffer_ptr += numComponents;
save->vert_count += save->copied.nr;
}
}
}
- save->buffer_ptr = dest;
save->vert_count += save->copied.nr;
+ save->vertex_store->used += save->vertex_size * save->copied.nr;
}
}
\
if ((A) == 0) { \
GLuint i; \
+ fi_type *buffer_ptr = save->vertex_store->buffer_in_ram + save->vertex_store->used; \
\
for (i = 0; i < save->vertex_size; i++) \
- save->buffer_ptr[i] = save->vertex[i]; \
- \
- save->buffer_ptr += save->vertex_size; \
+ buffer_ptr[i] = save->vertex[i]; \
\
+ save->vertex_store->used += save->vertex_size; \
if (++save->vert_count >= save->max_vert) \
wrap_filled_vertex(ctx); \
} \
if (!save->vertex_store)
save->vertex_store = alloc_vertex_store(ctx, 0);
- save->buffer_ptr = save->vertex_store->buffer_in_ram + save->vertex_store->used;
-
reset_vertex(ctx);
reset_counters(ctx);
ctx->Driver.SaveNeedFlush = GL_FALSE;