ilo: 3DSTATE_INDEX_BUFFER may be wrongly skipped
authorChia-I Wu <olvaffe@gmail.com>
Fri, 9 Aug 2013 16:48:28 +0000 (00:48 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Sat, 10 Aug 2013 05:01:41 +0000 (13:01 +0800)
commitb2f79a3823bd5fca3f3080351f87b41e2396c8f6
treefa3845635fae13491b3ee1a7647ad7ba1b96ef00
parent637e6a0aa8e5920965a0720673e11622786e86ed
ilo: 3DSTATE_INDEX_BUFFER may be wrongly skipped

In finalize_index_buffer(), when the current index buffer was destroyed due to
u_upload_data(), it may happen that the new index buffer is at the same
address as the old one.  Comparing the pointers to the two buffers could fail
to work, and 3DSTATE_INDEX_BUFFER would be incorrectly skipped.

Holding a reference to the current index buffer before calling u_upload_data()
should fix the problem.
src/gallium/drivers/ilo/ilo_state.c