i965: Reemit vertex state between indirect multi draws
authorKristian Høgsberg Kristensen <krh@bitplanet.net>
Tue, 15 Dec 2015 07:36:06 +0000 (23:36 -0800)
committerKristian Høgsberg Kristensen <krh@bitplanet.net>
Tue, 29 Dec 2015 18:39:25 +0000 (10:39 -0800)
commit581f81860e7409a60c869f76e503cbb865dd68b9
tree5c45725bce436b21e67a23244f61cc0f8754d726
parentf9283f2668bb1a64303d73b663464a8556fe3f8f
i965: Reemit vertex state between indirect multi draws

If we're doing an indirect draw, prims[i].basevertex is always 0 and the
real base vertex value is in the indirect parameter buffer. We try to
avoid flagging BRW_NEW_VERTICES if prims[i].basevertex doesn't change,
which then breaks down for indirect draws. Thus, if a program uses base
vertex or base instance, and the draw call is indirect, always flag
BRW_NEW_VERTICES.  A new piglit test,
spec/ARB_shader_draw_parameters/drawid-indirect-vertexid tests this.

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
src/mesa/drivers/dri/i965/brw_draw.c