meta: add offset, width, height parameters to decompress_texture_image()
authorBrian Paul <brianp@vmware.com>
Wed, 22 Jul 2015 00:35:38 +0000 (18:35 -0600)
committerBrian Paul <brianp@vmware.com>
Wed, 22 Jul 2015 00:35:38 +0000 (18:35 -0600)
In preparation for decompressing texture sub images.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/mesa/drivers/common/meta.c

index 54c3d5ac66efd886f688206ae4dbc31d78ee3165..34a8e4b9d9ac9a4dcb04ffa52885119796a27209 100644 (file)
@@ -2966,15 +2966,14 @@ static bool
 decompress_texture_image(struct gl_context *ctx,
                          struct gl_texture_image *texImage,
                          GLuint slice,
+                         GLint xoffset, GLint yoffset,
+                         GLsizei width, GLsizei height,
                          GLenum destFormat, GLenum destType,
                          GLvoid *dest)
 {
    struct decompress_state *decompress = &ctx->Meta->Decompress;
    struct decompress_fbo_state *decompress_fbo;
    struct gl_texture_object *texObj = texImage->TexObject;
-   const GLint width = texImage->Width;
-   const GLint height = texImage->Height;
-   const GLint depth = texImage->Height;
    const GLenum target = texObj->Target;
    GLenum rbFormat;
    GLenum faceTarget;
@@ -3093,7 +3092,7 @@ decompress_texture_image(struct gl_context *ctx,
    memset(verts, 0, sizeof(verts));
 
    _mesa_meta_setup_texture_coords(faceTarget, slice,
-                                   0, 0, width, height,
+                                   xoffset, yoffset, width, height,
                                    texImage->Width, texImage->Height,
                                    texImage->Depth,
                                    verts[0].tex,
@@ -3224,7 +3223,8 @@ _mesa_meta_GetTexImage(struct gl_context *ctx,
          else {
             dst = pixels;
          }
-         result = decompress_texture_image(ctx, texImage, slice,
+         result = decompress_texture_image(ctx, texImage, slice, 0, 0,
+                                           texImage->Width, texImage->Height,
                                            format, type, dst);
          if (!result)
             break;