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:
parent
c3fee80f2b
commit
aaf51ed7c2
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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):
|
||||
*/
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue