From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 37142] New: Too much vertex buffers uploads Date: Thu, 12 May 2011 08:11:11 -0700 (PDT) Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from annarchy.freedesktop.org (annarchy.freedesktop.org [131.252.210.176]) by gabe.freedesktop.org (Postfix) with ESMTP id 6BBD79E7E4 for ; Thu, 12 May 2011 08:11:12 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org 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@lists.freedesktop.org ReportedBy: pelloux@gmail.com 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.