summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/r300/r300_cmdbuf.c12
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_screen.c2
2 files changed, 11 insertions, 3 deletions
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;