vbo/dlist: reset vertex_store::used in reset_counters
This means that each list will start writing its vertices at index 0. The previous mode (append) was useful in the past when the vertices were written directly to a mapped-buffer object. Now that there's an intermediate storage in RAM, the added complexity of the append-mode has no value so drop it. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12646>
This commit is contained in:
parent
3ab1ddd5c1
commit
6a63a4a14f
|
@ -188,11 +188,11 @@ reset_counters(struct gl_context *ctx)
|
|||
{
|
||||
struct vbo_save_context *save = &vbo_context(ctx)->save;
|
||||
|
||||
save->buffer_map = save->vertex_store->buffer_in_ram + save->vertex_store->used;
|
||||
save->vertex_store->used = 0;
|
||||
save->buffer_map = save->vertex_store->buffer_in_ram;
|
||||
|
||||
if (save->vertex_size)
|
||||
save->max_vert = (save->vertex_store->buffer_in_ram_size / sizeof(float) - save->vertex_store->used) /
|
||||
save->vertex_size;
|
||||
save->max_vert = save->vertex_store->buffer_in_ram_size / (sizeof(float) * save->vertex_size);
|
||||
else
|
||||
save->max_vert = 0;
|
||||
|
||||
|
@ -985,11 +985,13 @@ wrap_filled_vertex(struct gl_context *ctx)
|
|||
|
||||
numComponents = save->copied.nr * save->vertex_size;
|
||||
|
||||
fi_type *buffer_ptr = save->vertex_store->buffer_in_ram + save->vertex_store->used;
|
||||
fi_type *buffer_ptr = save->vertex_store->buffer_in_ram;
|
||||
memcpy(buffer_ptr,
|
||||
save->copied.buffer,
|
||||
numComponents * sizeof(fi_type));
|
||||
save->vert_count += save->copied.nr;
|
||||
assert(save->vertex_store->used == 0 && save->vert_count == 0);
|
||||
save->vert_count = save->copied.nr;
|
||||
save->vertex_store->used = numComponents;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue