From ef073b7a756e37be59308a2e598cfa9e0ba3a700 Mon Sep 17 00:00:00 2001 From: Aapo Tahkola Date: Fri, 20 Jan 2006 21:56:52 +0000 Subject: Try to tackle bug #5148 --- src/mesa/drivers/dri/r300/r300_cmdbuf.c | 12 ++++++++++-- src/mesa/drivers/dri/radeon/radeon_screen.c | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'src/mesa/drivers/dri') diff --git a/src/mesa/drivers/dri/r300/r300_cmdbuf.c b/src/mesa/drivers/dri/r300/r300_cmdbuf.c index 8d2165106a..32bd82ed10 100644 --- a/src/mesa/drivers/dri/r300/r300_cmdbuf.c +++ b/src/mesa/drivers/dri/r300/r300_cmdbuf.c @@ -169,16 +169,24 @@ static __inline__ void r300DoEmitState(r300ContextPtr r300, GLboolean dirty) } } - /* Emit WAIT */ *dest = cmdwait(R300_WAIT_3D | R300_WAIT_3D_CLEAN); dest ++; r300->cmdbuf.count_used ++; + *dest = cmdpacket0(R300_TX_CNTL, 1); + dest ++; + r300->cmdbuf.count_used ++; + + *dest = 0x0; + dest ++; + r300->cmdbuf.count_used ++; + /* Emit END3D */ *dest = cmdpacify(); dest ++; r300->cmdbuf.count_used ++; + /* Emit actual atoms */ @@ -273,7 +281,7 @@ void r300InitCmdBuf(r300ContextPtr r300) { int size, mtu; - r300->hw.max_state_size = 2; /* reserve extra space for WAIT_IDLE */ + r300->hw.max_state_size = 2+2; /* reserve extra space for WAIT_IDLE and tex cache flush */ mtu = r300->radeon.glCtx->Const.MaxTextureUnits; if (RADEON_DEBUG & DEBUG_TEXTURE) { diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c index 0dcefe8d54..2c8c667892 100644 --- a/src/mesa/drivers/dri/radeon/radeon_screen.c +++ b/src/mesa/drivers/dri/radeon/radeon_screen.c @@ -922,7 +922,7 @@ __driCreateNewScreen_20050727( __DRInativeDisplay *dpy, static const char *driver_name = "R300"; static const __DRIutilversion2 ddx_expected = { 4, 5, 0, 0 }; static const __DRIversion dri_expected = { 4, 0, 0 }; - static const __DRIversion drm_expected = { 1, 20, 0 }; + static const __DRIversion drm_expected = { 1, 22, 0 }; #endif dri_interface = interface; -- cgit v1.2.3