mesa/st: fix incorrect face, level in compress_with_blit
authorKeith Whitwell <keithw@vmware.com>
Mon, 27 Apr 2009 13:42:23 +0000 (14:42 +0100)
committerKeith Whitwell <keithw@vmware.com>
Mon, 27 Apr 2009 13:43:57 +0000 (14:43 +0100)
We were incorrectly applying the destination texture face and level
when requesting a transfer to the temporary texture, which has only
one face and level.  This would obviously cause problems uploading to
compressed cube and mipmap textures.

src/mesa/state_tracker/st_cb_texture.c

index c3e990e0775de05b1c27ae9bad4b72ebd1768a5a..aeb75117ec306c008d8cdc61f565eb7ce2280df9 100644 (file)
@@ -418,7 +418,6 @@ compress_with_blit(GLcontext * ctx,
    const GLuint dstImageOffsets[1] = {0};
    struct st_texture_image *stImage = st_texture_image(texImage);
    struct pipe_screen *screen = ctx->st->pipe->screen;
-   const GLuint face = _mesa_tex_target_to_face(target);
    const struct gl_texture_format *mesa_format;
    struct pipe_texture templ;
    struct pipe_texture *src_tex;
@@ -467,7 +466,7 @@ compress_with_blit(GLcontext * ctx,
    /* Put user's tex data into the temporary texture
     */
    tex_xfer = st_cond_flush_get_tex_transfer(st_context(ctx), src_tex,
-                                            face, level, 0,
+                                            0, 0, 0, /* face, level are zero */
                                             PIPE_TRANSFER_WRITE,
                                             0, 0, width, height); /* x, y, w, h */
    map = screen->transfer_map(screen, tex_xfer);