Mesa (master): i965: Fix glCompressedTexSubImage2D offsets for ETC textures .

Paul Berry stereotype441 at kemper.freedesktop.org
Fri Jan 4 19:34:11 UTC 2013


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

Author: Paul Berry <stereotype441 at gmail.com>
Date:   Sat Dec 29 11:31:37 2012 -0800

i965: Fix glCompressedTexSubImage2D offsets for ETC textures.

This patch fixes intel_miptree_unmap_etc() (which decompresses ETC
textures to linear) to pay attention to map->x and map->y when writing
to the destination image.  Previously these values were ignored,
causing the xoffset and yoffset parameters passed to
glCompressedTexSubImage2D() to be ignored.

Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/mesa/drivers/dri/intel/intel_mipmap_tree.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
index 8d814bd..0c8e479 100644
--- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
@@ -1329,6 +1329,9 @@ intel_miptree_unmap_etc(struct intel_context *intel,
    uint32_t image_y;
    intel_miptree_get_image_offset(mt, level, slice, &image_x, &image_y);
 
+   image_x += map->x;
+   image_y += map->y;
+
    uint8_t *dst = intel_region_map(intel, mt->region, map->mode)
                 + image_y * mt->region->pitch * mt->region->cpp
                 + image_x * mt->region->cpp;




More information about the mesa-commit mailing list