Mesa (mesa_7_7_branch): radeon: need to flush cs when moving images between mipmap trees

Maciej Cencora osiris at kemper.freedesktop.org
Sat Nov 28 20:39:31 UTC 2009


Module: Mesa
Branch: mesa_7_7_branch
Commit: e5159996a43d64f71d44dd2bd477d10e37ec9a27
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5159996a43d64f71d44dd2bd477d10e37ec9a27

Author: Maciej Cencora <m.cencora at gmail.com>
Date:   Sat Nov 28 21:31:24 2009 +0100

radeon: need to flush cs when moving images between mipmap trees

---

 src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
index 46603de..9421104 100644
--- a/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
+++ b/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
@@ -594,6 +594,10 @@ int radeon_validate_texture_miptree(GLcontext * ctx, struct gl_texture_object *t
 				if (RADEON_DEBUG & RADEON_TEXTURE) {
 					fprintf(stderr, "MIGRATING\n");
 				}
+				struct radeon_bo *src_bo = (img->mt) ? img->mt->bo : img->bo;
+				if (src_bo && radeon_bo_is_referenced_by_cs(src_bo, rmesa->cmdbuf.cs)) {
+					radeon_firevertices(rmesa);
+				}
 				migrate_image_to_miptree(dst_miptree, img, face, radeon_gl_level_to_miptree_level(texObj, level));
 			} else if (RADEON_DEBUG & RADEON_TEXTURE) {
 				fprintf(stderr, "OK\n");




More information about the mesa-commit mailing list