Emit a flush after the swapbuffers blit, so contents end up on the screen.
Otherwise, since the MI_FLUSH at the end of every batch had been removed, non-automatic-flushing chips (965) wouldn't get flushed and apps with static rendering would get partial screen contents until the server's blockhandler flush kicked in.
This commit is contained in:
@@ -635,8 +635,4 @@
|
||||
#define ENABLE_TEX_STREAM_MAP_IDX (1<<3)
|
||||
#define TEX_STREAM_MAP_IDX(x) (x)
|
||||
|
||||
|
||||
#define MI_FLUSH ((0<<29)|(4<<23))
|
||||
#define FLUSH_MAP_CACHE (1<<0)
|
||||
|
||||
#endif
|
||||
|
@@ -855,10 +855,4 @@
|
||||
#define _3DSTATE_DEFAULT_DIFFUSE ((0x3<<29)|(0x1d<<24)|(0x99<<16))
|
||||
#define _3DSTATE_DEFAULT_SPECULAR ((0x3<<29)|(0x1d<<24)|(0x9a<<16))
|
||||
|
||||
|
||||
#define MI_FLUSH ((0<<29)|(4<<23))
|
||||
#define FLUSH_MAP_CACHE (1<<0)
|
||||
#define INHIBIT_FLUSH_RENDER_CACHE (1<<2)
|
||||
|
||||
|
||||
#endif
|
||||
|
@@ -38,7 +38,6 @@
|
||||
#define MI_NOOP 0x00
|
||||
#define MI_USER_INTERRUPT 0x02
|
||||
#define MI_WAIT_FOR_EVENT 0x03
|
||||
#define MI_FLUSH 0x04
|
||||
#define MI_REPORT_HEAD 0x07
|
||||
#define MI_ARB_ON_OFF 0x08
|
||||
#define MI_BATCH_BUFFER_END 0x0A
|
||||
|
@@ -159,6 +159,14 @@ intelCopyBuffer(const __DRIdrawablePrivate * dPriv,
|
||||
ADVANCE_BATCH();
|
||||
}
|
||||
|
||||
/* Emit a flush so that, on systems where we don't have automatic flushing
|
||||
* set (such as 965), the results all land on the screen in a timely
|
||||
* fashion.
|
||||
*/
|
||||
BEGIN_BATCH(1, IGNORE_CLIPRECTS);
|
||||
OUT_BATCH(MI_FLUSH);
|
||||
ADVANCE_BATCH();
|
||||
|
||||
intel_batchbuffer_flush(intel->batch);
|
||||
}
|
||||
|
||||
|
@@ -31,6 +31,10 @@
|
||||
|
||||
#define MI_BATCH_BUFFER_END (CMD_MI | 0xA << 23)
|
||||
|
||||
#define MI_FLUSH (CMD_MI | (4 << 23))
|
||||
#define FLUSH_MAP_CACHE (1 << 0)
|
||||
#define INHIBIT_FLUSH_RENDER_CACHE (1 << 2)
|
||||
|
||||
/* Stalls command execution waiting for the given events to have occurred. */
|
||||
#define MI_WAIT_FOR_EVENT (CMD_MI | (0x3 << 23))
|
||||
#define MI_WAIT_FOR_PLANE_B_FLIP (1<<6)
|
||||
|
Reference in New Issue
Block a user