diff options
author | Dave Airlie <[email protected]> | 2012-11-03 20:49:35 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2012-11-09 10:29:13 +1000 |
commit | 8c0ccce30038f5d28e74f7f4b5b5c0bbd8ac6dbe (patch) | |
tree | 111dda12c466f28c6d840402f3fcdbf0e61c73fa /src/mesa/state_tracker/st_texture.c | |
parent | c4427ceff7915d348a5df68ed3a81eca7c7320ad (diff) |
st/mesa: add support for ARB_texture_cube_map_array (v2)
This adds mesa state tracker support for the new extension,
along with glsl->tgsi conversion to use the new opcodes
where appropriate.
v2: fix assert found running textureSize tests.
Reviewed-by: Brian Paul <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_texture.c')
-rw-r--r-- | src/mesa/state_tracker/st_texture.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_texture.c b/src/mesa/state_tracker/st_texture.c index d6dbf8d6cf6..5a4dcaab229 100644 --- a/src/mesa/state_tracker/st_texture.c +++ b/src/mesa/state_tracker/st_texture.c @@ -165,6 +165,13 @@ st_gl_texture_dims_to_pipe_dims(GLenum texture, *depthOut = 1; *layersOut = depthIn; break; + case GL_TEXTURE_CUBE_MAP_ARRAY: + case GL_PROXY_TEXTURE_CUBE_MAP_ARRAY: + *widthOut = widthIn; + *heightOut = heightIn; + *depthOut = 1; + *layersOut = depthIn; + break; default: assert(0 && "Unexpected texture in st_gl_texture_dims_to_pipe_dims()"); /* fall-through */ @@ -277,7 +284,8 @@ st_texture_image_data(struct st_context *st, GLuint layers; if (dst->target == PIPE_TEXTURE_1D_ARRAY || - dst->target == PIPE_TEXTURE_2D_ARRAY) + dst->target == PIPE_TEXTURE_2D_ARRAY || + dst->target == PIPE_TEXTURE_CUBE_ARRAY) layers = dst->array_size; else layers = u_minify(dst->depth0, level); |