From 89ee0d527c689b70a08c1eb396486d47da7f120d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 14 Feb 2011 23:15:55 +0100 Subject: [PATCH] r300g: flush CS in bo_map even if we get USAGE_DONTBLOCK Because an app may do something like this: while (!(ptr = bo_map(..., DONT_BLOCK))) { /* Do some other work. */ } And it would be looping endlessly if we didn't flush. --- src/gallium/winsys/radeon/drm/radeon_drm_bo.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c index 550886d..027e9d3 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c @@ -162,6 +162,7 @@ static void *radeon_bo_map_internal(struct pb_buffer *_buf, if (flags & PB_USAGE_DONTBLOCK) { if (radeon_bo_is_referenced_by_cs(cs, bo)) { + cs->flush_cs(cs->flush_data); return NULL; } -- 2.7.4