diff options
author | Maciej Cencora <[email protected]> | 2009-11-28 21:31:24 +0100 |
---|---|---|
committer | Maciej Cencora <[email protected]> | 2009-11-28 21:36:59 +0100 |
commit | e5159996a43d64f71d44dd2bd477d10e37ec9a27 (patch) | |
tree | 3744451ac33b6c4e9988c2370e0700c5ea18dcfb /src/mesa/drivers/dri | |
parent | 2348f6d490a200b464013dfe68c61525aee86feb (diff) |
radeon: need to flush cs when moving images between mipmap trees
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r-- | 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 46603de2e76..94211048aec 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"); |