diff --git a/src/mesa/drivers/dri/r300/r300_ioctl.c b/src/mesa/drivers/dri/r300/r300_ioctl.c index 02c67e8..a894294 100644 --- a/src/mesa/drivers/dri/r300/r300_ioctl.c +++ b/src/mesa/drivers/dri/r300/r300_ioctl.c @@ -422,6 +422,13 @@ void r300Flush(GLcontext * ctx) r300FlushCmdBuf(rmesa, __FUNCTION__); } +void r300FlushIdle(GLcontext * ctx) +{ + r300ContextPtr rmesa = R300_CONTEXT(ctx); + r300Flush(ctx); + radeonWaitForIdle(rmesa); +} + #ifdef USER_BUFFERS #include "r300_mem.h" @@ -717,5 +724,5 @@ void r300InitIoctlFuncs(struct dd_function_table *functions) { functions->Clear = r300Clear; functions->Finish = radeonFinish; - functions->Flush = r300Flush; + functions->Flush = r300FlushIdle; } diff --git a/src/mesa/drivers/dri/r300/r300_ioctl.h b/src/mesa/drivers/dri/r300/r300_ioctl.h index e1143fb..e6b0367 100644 --- a/src/mesa/drivers/dri/r300/r300_ioctl.h +++ b/src/mesa/drivers/dri/r300/r300_ioctl.h @@ -46,6 +46,7 @@ extern GLuint r300GartOffsetFromVirtual(r300ContextPtr rmesa, const GLvoid * pointer); extern void r300Flush(GLcontext * ctx); +extern void r300FlushIdle(GLcontext * ctx); extern void r300ReleaseDmaRegion(r300ContextPtr rmesa, struct r300_dma_region *region, diff --git a/src/mesa/drivers/dri/r300/radeon_ioctl.c b/src/mesa/drivers/dri/r300/radeon_ioctl.c index 31a000d..c3f86a7 100644 --- a/src/mesa/drivers/dri/r300/radeon_ioctl.c +++ b/src/mesa/drivers/dri/r300/radeon_ioctl.c @@ -49,7 +49,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "drirenderbuffer.h" #include "vblank.h" -static void radeonWaitForIdle(radeonContextPtr radeon); +//static void radeonWaitForIdle(radeonContextPtr radeon); /* ================================================================ * SwapBuffers with client-side throttling @@ -359,7 +359,7 @@ void radeonWaitForIdleLocked(radeonContextPtr radeon) } } -static void radeonWaitForIdle(radeonContextPtr radeon) +void radeonWaitForIdle(radeonContextPtr radeon) { LOCK_HARDWARE(radeon); radeonWaitForIdleLocked(radeon); diff --git a/src/mesa/drivers/dri/r300/radeon_ioctl.h b/src/mesa/drivers/dri/r300/radeon_ioctl.h index 210001e..7120b54 100644 --- a/src/mesa/drivers/dri/r300/radeon_ioctl.h +++ b/src/mesa/drivers/dri/r300/radeon_ioctl.h @@ -52,6 +52,7 @@ extern void radeonPageFlip(__DRIdrawablePrivate * drawable); extern void radeonFlush(GLcontext * ctx); extern void radeonFinish(GLcontext * ctx); extern void radeonWaitForIdleLocked(radeonContextPtr radeon); +extern void radeonWaitForIdle(radeonContextPtr radeon); extern uint32_t radeonGetAge(radeonContextPtr radeon); #endif /* __RADEON_IOCTL_H__ */