diff options
author | Dave Airlie <airlied@redhat.com> | 2015-04-08 10:59:20 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2015-04-14 08:04:21 +1000 |
commit | 5ed79312ed99f3b141c35569b9767f82f5ba0a93 (patch) | |
tree | ddfc37a3a86e2078223a9d5b66d13b46f6d23155 | |
parent | 1e1d5456ba3dff82301ad4bbdde2fb6e2f562fe3 (diff) | |
download | external_mesa3d-5ed79312ed99f3b141c35569b9767f82f5ba0a93.zip external_mesa3d-5ed79312ed99f3b141c35569b9767f82f5ba0a93.tar.gz external_mesa3d-5ed79312ed99f3b141c35569b9767f82f5ba0a93.tar.bz2 |
st/mesa: convert sub image for cube map arrays to 2d arrays for upload
Since we can subimage upload a number of cube map array layers,
that aren't a complete cube map array, we should specify things
as a 2D array and blit from that.
Suggested by Ilia Mirkin as an alternate fix for texsubimage
cube map array issues.
seems to work just as well.
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | src/mesa/state_tracker/st_cb_texture.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 5c520b4..353f80d 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -738,6 +738,11 @@ st_TexSubImage(struct gl_context *ctx, GLuint dims, if (gl_target == GL_TEXTURE_CUBE_MAP) { gl_target = GL_TEXTURE_2D; } + /* TexSubImage can specify subsets of cube map array faces + * so we need to upload via 2D array instead */ + if (gl_target == GL_TEXTURE_CUBE_MAP_ARRAY) { + gl_target = GL_TEXTURE_2D_ARRAY; + } /* Initialize the source texture description. */ memset(&src_templ, 0, sizeof(src_templ)); |