http://bugs.freedesktop.org/show_bug.cgi?id=7205





------- Comment #45 from [EMAIL PROTECTED]  2007-03-27 07:26 PST -------
I just did this with breakpoints in the debugger:

unref() is called one time more often than ref(), and ref() starts with a
structure with count already set to 1. After the last unref count is 0, which
looks good. Also, the ref'ed/unref'ed framebuffers stay the same, except for
the first one.

_ref   000000000111ec50 count= 2
_ref   000000000111ec50 count= 3
_ref   000000000111ec50 count= 4
_ref   000000000111ec50 count= 5
_unref 000000000111ec50 count= 4
_unref 000000000111ec50 count= 3
_unref 000000000111ec50 count= 2
_unref 000000000111ec50 count= 1
_unref 000000000111ec50 count= 0
_ref   00000000013ced10 count= 2
_ref   00000000013ced10 count= 3
_ref   00000000013ced10 count= 4
_ref   00000000013ced10 count= 5
_unref 00000000013ced10 count= 4
_unref 00000000013ced10 count= 3
_unref 00000000013ced10 count= 2
_unref 00000000013ced10 count= 1
_unref 00000000013ced10 count= 0
_ref   00000000013ced10 count= 2
_ref   00000000013ced10 count= 3
_ref   00000000013ced10 count= 4
_ref   00000000013ced10 count= 5
_unref 00000000013ced10 count= 4
_unref 00000000013ced10 count= 3
_unref 00000000013ced10 count= 2
_unref 00000000013ced10 count= 1
_unref 00000000013ced10 count= 0
_ref   00000000013ced10 count= 2
_ref   00000000013ced10 count= 3
_ref   00000000013ced10 count= 4
_ref   00000000013ced10 count= 5
_unref 00000000013ced10 count= 4
_unref 00000000013ced10 count= 3
_unref 00000000013ced10 count= 2
_unref 00000000013ced10 count= 1
_unref 00000000013ced10 count= 0
[...]

This repeats. After loop #6 (of the test case) the test gets GL_OUT_OF_MEMORY
and drawing routines return fast. After approx. loop #40 the fb changes to
00000000013cf920, which holds for 6 runs and changes one last time at #46. When
these changes occur seems to depend on other circumstances and is probably
irrelevant.


I traced the fb deletion code a bit (xmesa_delete_framebuffer):
b->frontxrb (0x1150750)->RefCount is 2 - so it isn't deleted. This is the same
on concluding xmesa_delete_framebuffer() calls, with different frontxrb each
time.


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

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to