[EMAIL PROTECTED] wrote:
On Tue, Jun 24, 2003 at 03:31:59PM +0100, Keith Whitwell wrote:

[EMAIL PROTECTED] wrote:

On Tue, Jun 24, 2003 at 02:13:17PM +0100, Keith Whitwell wrote:


Please try this diff - it may fix the problem in a lot of cases.


I'll try it later to see if I'm missing something here, but the first thought
is that NEW_BUFFER() isn't called because GET_CURRENT_VB_MAX_ELTS() always
returns 300?

Note that there is some redundancy, as ALLOC_ELTS will eventually make a check on available space during the allocation, so should get a new buffer if there isn't enough space available. Hence the macro shouldn't need to be accurate.


Yeah, that might cause it to hang though.

As I said in the reply to Ian, if it's not accurate it'll risk passing the
test, but later flushing the first elt of the triangle fan by itself and
hanging.... but as you say, ALLOC_ELTs works, calling ALLOC_ELTS(nr) should
work, but because emit_elts does the alloc, tri_fan_elts calls it twice effectively doing
ALLOC_ELTS(1), emit one, ALLOC_ELTS(nr-1) emit the rest.

OK. I see it again now. I'll put something together - probably a cleanup of t_dd_dmatmp2.h so this splitting can't happen.


Keith



-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to