[Bug 37142] Too much vertex buffers uploads

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu May 12 10:55:30 PDT 2011


https://bugs.freedesktop.org/show_bug.cgi?id=37142

--- Comment #1 from Ian Romanick <idr at freedesktop.org> 2011-05-12 10:55:30 PDT ---
(In reply to comment #0)
> Created an attachment (id=46638)
 --> (https://bugs.freedesktop.org/attachment.cgi?id=46638)
> openarena + verbose vertex buffer upload logs
> 
> Test case : openarena + anholt benchmark + r600g
> 
> I added several fprintf debug trace to mesa code around Vertex buffer
> uploading.
> Basically, openarena render things using :
> glVertexPointeer()
> glLockArraysEXT()
> several glDrawElements()
> glUnlockArraysEXT()
> 
> It seems that each call to glDrawElements implies a reupload of the vertex
> buffers, even if it has not changed (as glLock/Unlock calls tell, at least for
> part of the buffer).

EXT_compiled_vertex_array is dead.  It has been dead for almost 10 years.  No
new applications should use it, and old applications that use it should be fast
enough on modern hardware.  I really don't think we should add any code to Mesa
to make this case fast.  We'd be better off submitting patches to openarena to
use VBOs instead.

> Another related bug (it seems) is in : cso_set_vertex_buffers() which does a
> test before calling : util_copy_vertex_buffers and pipe->set_vertex_buffers
> This test always return true, thus the 2 above functions are always called. The
> test is always true because it memcmp all pipe_vertex_buffer, which contains a
> 'buffer' pointer, which changes at each frame (see st_draw.c:349).
> 
> I'm trying to build a patch which fix the cso_set_vertex_buffers problem and
> then, taking advantage of glLock/Unlock calls to fix the upload issue.
> 
> What do you think ?

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the dri-devel mailing list