Mesa (master): llvmpipe: Call llvmpipe_set_texture_tile_layout only when necessary.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Sun May 30 15:40:16 UTC 2010


Module: Mesa
Branch: master
Commit: 82715bb2279b0ddd063d41dd7d52e8fd76c921f4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=82715bb2279b0ddd063d41dd7d52e8fd76c921f4

Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu May 27 16:17:06 2010 +0100

llvmpipe: Call llvmpipe_set_texture_tile_layout only when necessary.

Like the other places.

---

 src/gallium/drivers/llvmpipe/lp_texture.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c
index 5696683..d86056c 100644
--- a/src/gallium/drivers/llvmpipe/lp_texture.c
+++ b/src/gallium/drivers/llvmpipe/lp_texture.c
@@ -1045,6 +1045,7 @@ llvmpipe_get_texture_image(struct llvmpipe_resource *lpr,
                                      lpr->tiles_per_row[level]);
                }
                else {
+                  assert(layout == LP_TEX_LAYOUT_LINEAR);
                   lp_tiled_to_linear(other_data, target_data,
                                      x * TILE_SIZE, y * TILE_SIZE,
                                      TILE_SIZE, TILE_SIZE,
@@ -1054,8 +1055,9 @@ llvmpipe_get_texture_image(struct llvmpipe_resource *lpr,
                }
             }
 
-            llvmpipe_set_texture_tile_layout(lpr, face_slice, level, x, y,
-                                             new_layout);
+            if (new_layout != cur_layout)
+               llvmpipe_set_texture_tile_layout(lpr, face_slice, level, x, y,
+                                                new_layout);
          }
       }
    }




More information about the mesa-commit mailing list