draw: No need to make max_vertices even.

Triangle strip alternates the front/back orientation of its triangles.
max_vertices was made even so that varray never splitted a triangle
strip at the wrong positions.

It did not work with triangle strips with adjacencies.  And it is no
longer relevant with vsplit.
This commit is contained in:
Chia-I Wu 2010-08-10 01:05:25 +08:00
parent c3fee80f2b
commit aaf51ed7c2
6 changed files with 0 additions and 30 deletions

View File

@ -353,9 +353,6 @@ vbuf_alloc_vertices( struct vbuf_stage *vbuf )
/* Allocate a new vertex buffer */
vbuf->max_vertices = vbuf->render->max_vertex_buffer_bytes / vbuf->vertex_size;
/* even number */
vbuf->max_vertices = vbuf->max_vertices & ~1;
if(vbuf->max_vertices >= UNDEFINED_VERTEX_ID)
vbuf->max_vertices = UNDEFINED_VERTEX_ID - 1;

View File

@ -120,9 +120,6 @@ void draw_pt_emit_prepare( struct pt_emit *emit,
*max_vertices = (draw->render->max_vertex_buffer_bytes /
(vinfo->size * 4));
/* even number */
*max_vertices = *max_vertices & ~1;
}

View File

@ -191,15 +191,6 @@ static void fetch_emit_prepare( struct draw_pt_middle_end *middle,
*max_vertices = (draw->render->max_vertex_buffer_bytes /
(vinfo->size * 4));
/* Return an even number of verts.
* This prevents "parity" errors when splitting long triangle strips which
* can lead to front/back culling mix-ups.
* Every other triangle in a strip has an alternate front/back orientation
* so splitting at an odd position can cause the orientation of subsequent
* triangles to get reversed.
*/
*max_vertices = *max_vertices & ~1;
}

View File

@ -175,15 +175,6 @@ static void fse_prepare( struct draw_pt_middle_end *middle,
*max_vertices = (draw->render->max_vertex_buffer_bytes /
(vinfo->size * 4));
/* Return an even number of verts.
* This prevents "parity" errors when splitting long triangle strips which
* can lead to front/back culling mix-ups.
* Every other triangle in a strip has an alternate front/back orientation
* so splitting at an odd position can cause the orientation of subsequent
* triangles to get reversed.
*/
*max_vertices = *max_vertices & ~1;
/* Probably need to do this somewhere (or fix exec shader not to
* need it):
*/

View File

@ -119,9 +119,6 @@ static void fetch_pipeline_prepare( struct draw_pt_middle_end *middle,
*max_vertices = 4096;
}
/* return even number */
*max_vertices = *max_vertices & ~1;
/* No need to prepare the shader.
*/
vs->prepare(vs, draw);

View File

@ -125,9 +125,6 @@ llvm_middle_end_prepare( struct draw_pt_middle_end *middle,
*max_vertices = 4096;
}
/* return even number */
*max_vertices = *max_vertices & ~1;
draw_llvm_make_variant_key(fpme->llvm, &key);
li = first_elem(&shader->variants);