Try to tackle bug #5148
authorAapo Tahkola <aet@rasterburn.org>
Fri, 20 Jan 2006 21:56:52 +0000 (21:56 +0000)
committerAapo Tahkola <aet@rasterburn.org>
Fri, 20 Jan 2006 21:56:52 +0000 (21:56 +0000)
src/mesa/drivers/dri/r300/r300_cmdbuf.c
src/mesa/drivers/dri/radeon/radeon_screen.c

index 8d21651..32bd82e 100644 (file)
@@ -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) {
index 0dcefe8..2c8c667 100644 (file)
@@ -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;