EXA: Wait for sync before we set up new state in our static state buffers.
This commit is contained in:
parent
5857b4a169
commit
fa383289ac
|
|
@ -404,6 +404,9 @@ I965EXAPrepareComposite(int op, PicturePtr pSrcPicture,
|
|||
|
||||
binding_table_entries = 2; /* default no mask */
|
||||
|
||||
/* Wait for sync before we start setting up our new state */
|
||||
i830WaitSync(pScrn);
|
||||
|
||||
/* Set up our layout of state in framebuffer. First the general state: */
|
||||
next_offset = 0;
|
||||
vs_offset = ALIGN(next_offset, 64);
|
||||
|
|
@ -1024,6 +1027,11 @@ I965EXAComposite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
|
|||
"dstX %d, dstY %d\n", srcX, srcY, srcXend, srcYend,
|
||||
maskX, maskY, maskXend, maskYend, dstX, dstY);
|
||||
|
||||
/* Wait for any existing composite rectangles to land before we overwrite
|
||||
* the VB with the next one.
|
||||
*/
|
||||
i830WaitSync(pScrn);
|
||||
|
||||
i = 0;
|
||||
/* rect (x2,y2) */
|
||||
vb[i++] = (float)(srcXend) / pI830->scale_units[0][0];
|
||||
|
|
@ -1088,4 +1096,9 @@ I965EXAComposite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY,
|
|||
OUT_RING(0); /* Immediate data high DW */
|
||||
ADVANCE_LP_RING();
|
||||
}
|
||||
|
||||
/* Mark sync so we can wait for it before setting up the VB on the next
|
||||
* rectangle.
|
||||
*/
|
||||
i830MarkSync(pScrn);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue