https://bugs.freedesktop.org/show_bug.cgi?id=37142 Summary: Too much vertex buffers uploads Product: DRI Version: DRI CVS Platform: Other OS/Version: All Status: NEW Severity: normal Priority: medium Component: DRM/Radeon AssignedTo: dri-devel@xxxxxxxxxxxxxxxxxxxxx ReportedBy: pelloux@xxxxxxxxx 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). 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. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel