On 27.06.2009 23:57, Maciej Cencora wrote: > Hi, > > while playing with r300 driver I've stumbled upon a problem with splitting > vertexes. > > Let's say we get rendering operation where number of indexes in index buffer > is 80000 and max_index is 20000. We are calling vbo_split_prims because > number > of indexes exceeds hw limit. > In flush_vertex (vbo_split_inplace.c) function the split->ib is not null, so > the max_index (20000) won't be changed. In the end the draw_prims functions > will be called with inappropriate max_index number. > > I'm seeing this behaviour with UT2004 demo on current r300 driver. > > I think the solution would be to always calculate min/max_index numbers just > like in the !split->ib path but I want to be sure before I commit the patch. > > Any comments?
Apart from this problem, I think the limits in the r300 driver set are maybe not really hw limits. I'm not sure why max_verts is limited at all (though maybe limited by buffer size?), and max_indices could be bumped at least for r500. (I always considered it odd that even r200 could accept 23 bits worth of indices for the INDX_BUFFER command but only 16 bit number of amount of vertices in vertex fetch control, and this finally seems fixed in r500 - 24 bits possible with VAP_ALT_NUM_VERTICES.) Roland ------------------------------------------------------------------------------ _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev