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.