diff options
author | Dave Airlie <[email protected]> | 2009-02-11 05:07:31 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2009-02-11 05:07:31 +1000 |
commit | 7394c429c065eb96801500605ab7caa0a1289193 (patch) | |
tree | 489534a3bc7824e0ca49b186129e283b7d7f60c2 /src/mesa/drivers | |
parent | 18aca218a29578b5cb14a3bc492330406d3a761d (diff) |
radeon/r200: flush vertices when data in cmdbuf.
This fixes a whole bunch of regressions in piglit
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/r200/r200_ioctl.h | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_ioctl.h | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_ioctl.h b/src/mesa/drivers/dri/r200/r200_ioctl.h index 6b9e4be30a0..316acef4593 100644 --- a/src/mesa/drivers/dri/r200/r200_ioctl.h +++ b/src/mesa/drivers/dri/r200/r200_ioctl.h @@ -39,6 +39,8 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "radeon_dri.h" #include "r200_lock.h" +#include "radeon_cs_legacy.h" + #include "xf86drm.h" #include "drm.h" #include "radeon_drm.h" @@ -129,7 +131,7 @@ static INLINE int R200_DB_STATECHANGE( */ #define R200_FIREVERTICES( rmesa ) \ do { \ - if ( rmesa->radeon.dma.flush ) { \ + if ( rmesa->radeon.cmdbuf.cs->cdw || rmesa->radeon.dma.flush ) { \ r200Flush( rmesa->radeon.glCtx ); \ } \ } while (0) diff --git a/src/mesa/drivers/dri/radeon/radeon_ioctl.h b/src/mesa/drivers/dri/radeon/radeon_ioctl.h index ac763703bcf..4e93804646a 100644 --- a/src/mesa/drivers/dri/radeon/radeon_ioctl.h +++ b/src/mesa/drivers/dri/radeon/radeon_ioctl.h @@ -38,7 +38,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "main/simple_list.h" #include "radeon_lock.h" - +#include "radeon_cs_legacy.h" extern void radeonEmitState( r100ContextPtr rmesa ); extern void radeonEmitVertexAOS( r100ContextPtr rmesa, @@ -132,9 +132,9 @@ static INLINE int RADEON_DB_STATECHANGE(r100ContextPtr rmesa, */ #define RADEON_FIREVERTICES( rmesa ) \ do { \ - if ( rmesa->radeon.dma.flush ) { \ + if (rmesa->radeon.cmdbuf.cs->cdw || rmesa->radeon.dma.flush ) { \ radeonFlush( rmesa->radeon.glCtx ); \ - } \ + } \ } while (0) /* Command lengths. Note that any time you ensure ELTS_BUFSZ or VBUF_BUFSZ |