[Bug 37142] New: Too much vertex buffers uploads

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux