From: Dave Airlie Date: Wed, 8 Apr 2015 00:00:27 +0000 (+1000) Subject: st/mesa: align cube map arrays layers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cc5860e40787b3afe36856674f028e830685271b;p=mesa.git st/mesa: align cube map arrays layers We create textures internally for texsubimage, and we use the values from sub image to create a new texture, however we don't align these to valid sizes, and cube map arrays must have an array size aligned to 6. This fixes texsubimage cube_map_array on CAYMAN at least, (it was causing GPU hang and bad values), it probably also fixes it on radeonsi and evergreen. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89957 Tested-by: Tom Stellard Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Marek Olšák Signed-off-by: Dave Airlie --- diff --git a/src/mesa/state_tracker/st_texture.c b/src/mesa/state_tracker/st_texture.c index ca7c83c211c..de4a6eba4f0 100644 --- a/src/mesa/state_tracker/st_texture.c +++ b/src/mesa/state_tracker/st_texture.c @@ -177,7 +177,7 @@ st_gl_texture_dims_to_pipe_dims(GLenum texture, *widthOut = widthIn; *heightOut = heightIn; *depthOut = 1; - *layersOut = depthIn; + *layersOut = util_align_npot(depthIn, 6); break; default: assert(0 && "Unexpected texture in st_gl_texture_dims_to_pipe_dims()");