OSDN Git Service

mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.
authorMario Kleiner <mario.kleiner@tuebingen.mpg.de>
Mon, 8 Nov 2010 03:09:33 +0000 (04:09 +0100)
committerAlex Deucher <alexdeucher@gmail.com>
Mon, 8 Nov 2010 18:53:23 +0000 (13:53 -0500)
commitd8eef5196fcd6f51e443d4dfa0fda8aadc668f9f
tree2ee36e830c0cc04d0b742a65e063d39d6f2bdd17
parent46c19700676e17bfaa0a88346d512449fbeede79
mesa/r300classic: Fix dri2Invalidate/radeon_prepare_render for page flipping.

A call to radeon_prepare_render() at the beginning of draw
operations was placed too deep in the call chain,
inside r300RunRenderPrimitive(), instead of
r300DrawPrims() where it belongs. This leads to
emission of stale target color renderbuffer into the cs if
bufferswaps via page-flipping are used, and thereby causes
massive rendering corruption due to unsynchronized
rendering into the active frontbuffer.

This patch fixes such problems for use with the
upcoming radeon page-flipping patches.

Signed-off-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
src/mesa/drivers/dri/r300/r300_draw.c
src/mesa/drivers/dri/r300/r300_render.c