diff options
author | Neil Roberts <[email protected]> | 2015-02-25 15:33:08 +0000 |
---|---|---|
committer | Neil Roberts <[email protected]> | 2015-03-05 13:24:53 +0000 |
commit | 7286a6899176a8b26aa794097288eff941f5178c (patch) | |
tree | 78a4899170410ed90fb021c18a37a7f6726a9d91 /src/mesa/drivers/common/meta_tex_subimage.c | |
parent | a08bff1e98b8e630f8bdf341af1491cd99e7d104 (diff) |
meta: Fix the y offset for 1D_ARRAY in _mesa_meta_pbo_TexSubImage
The yoffset needs to be interpreted as a slice offset for 1D array
textures. This patch implements that by moving the yoffset into
zoffset similar to how it moves the height into depth.
Reviewed-by: Jason Ekstrand <[email protected]>
Cc: "10.5" <[email protected]>
Diffstat (limited to 'src/mesa/drivers/common/meta_tex_subimage.c')
-rw-r--r-- | src/mesa/drivers/common/meta_tex_subimage.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/drivers/common/meta_tex_subimage.c b/src/mesa/drivers/common/meta_tex_subimage.c index f360d649d16..e29addb734a 100644 --- a/src/mesa/drivers/common/meta_tex_subimage.c +++ b/src/mesa/drivers/common/meta_tex_subimage.c @@ -205,8 +205,12 @@ _mesa_meta_pbo_TexSubImage(struct gl_context *ctx, GLuint dims, if (tex_image->TexObject->Target == GL_TEXTURE_1D_ARRAY) { assert(depth == 1); + assert(zoffset == 0); depth = height; height = 1; + image_height = 1; + zoffset = yoffset; + yoffset = 0; } _mesa_meta_bind_fbo_image(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, @@ -322,8 +326,12 @@ _mesa_meta_pbo_GetTexSubImage(struct gl_context *ctx, GLuint dims, if (tex_image && tex_image->TexObject->Target == GL_TEXTURE_1D_ARRAY) { assert(depth == 1); + assert(zoffset == 0); depth = height; height = 1; + image_height = 1; + zoffset = yoffset; + yoffset = 0; } /* If we were given a texture, bind it to the read framebuffer. If not, |