radeon: Fix flushing before writing a teximage's BO when !t->bo.
[mesa.git] / src / mesa / drivers / dri / radeon / radeon_texture.c
index ce0df32bfe43b69757f01ddc877f66f3ca051d56..ad7e4c146a44fdfe3ba30cb669d4556abf92b8c8 100644 (file)
@@ -787,18 +787,6 @@ static void radeon_teximage(
        radeon_print(RADEON_TEXTURE, RADEON_NORMAL,
                        "%s %dd: texObj %p, texImage %p, face %d, level %d\n",
                        __func__, dims, texObj, texImage, face, level);
-       {
-               struct radeon_bo *bo;
-               bo = !image->mt ? image->bo : image->mt->bo;
-               if (bo && radeon_bo_is_referenced_by_cs(bo, rmesa->cmdbuf.cs)) {
-                       radeon_print(RADEON_TEXTURE, RADEON_VERBOSE,
-                               "%s Calling teximage for texture that is "
-                               "queued for GPU processing.\n",
-                               __func__);
-                       radeon_firevertices(rmesa);
-               }
-       }
-
 
        t->validated = GL_FALSE;
 
@@ -820,6 +808,18 @@ static void radeon_teximage(
                }
        }
 
+       {
+               struct radeon_bo *bo;
+               bo = !image->mt ? image->bo : image->mt->bo;
+               if (bo && radeon_bo_is_referenced_by_cs(bo, rmesa->cmdbuf.cs)) {
+                       radeon_print(RADEON_TEXTURE, RADEON_VERBOSE,
+                               "%s Calling teximage for texture that is "
+                               "queued for GPU processing.\n",
+                               __func__);
+                       radeon_firevertices(rmesa);
+               }
+       }
+
        /* Upload texture image; note that the spec allows pixels to be NULL */
        if (compressed) {
                pixels = _mesa_validate_pbo_compressed_teximage(