OSDN Git Service

r300_cmdbuf: Always emit INDX_BUFFER immediately after DRAW_INDEX
authorNicolai Haehnle <nhaehnle@gmail.com>
Sat, 26 Jul 2008 09:39:10 +0000 (11:39 +0200)
committerNicolai Haehnle <nhaehnle@gmail.com>
Sat, 26 Jul 2008 14:40:51 +0000 (16:40 +0200)
commitc3d463840c902a28221f1514bfb69fb7905a05c2
treef12b5106d1db8fa33dedcc7ec191ec468bac9d77
parent7a3d6624c47d87bdd46f5394b8cc5130c7a4ed0d
r300_cmdbuf: Always emit INDX_BUFFER immediately after DRAW_INDEX

DRAW_INDEX writes a vertex count to VAP_VF_CNTL. Docs say that behaviour
is undefined (i.e. lockups happen) when this write is not followed by the
right number of vertex indices.

Thus we used to do the wrong thing when drawing across many cliprects was
necessary, because we emitted a sequence
 DRAW_INDEX, DRAW_INDEX, INDX_BUFFER, INDX_BUFFER
instead of
 DRAW_INDEX, INDX_BUFFER, DRAW_INDEX, INDX_BUFFER
The latter is what we're doing now and which ought to be correct.
shared-core/r300_cmdbuf.c