[Mesa-stable] [7.5/22] i965/wm: Fix number of layers in 3D images
Kenneth Graunke
kenneth at whitecape.org
Wed Jul 19 21:29:42 UTC 2017
On Wednesday, July 19, 2017 12:53:45 PM PDT Topi Pohjolainen wrote:
> CC: mesa-stable at lists.freedesktop.org
> CC: Kenneth Graunke <kenneth at whitecape.org>
> Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
> ---
> src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 16 +++++++++++++---
> 1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> index ab6b9cdd29..bc06949116 100644
> --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> @@ -1632,6 +1632,17 @@ update_buffer_image_param(struct brw_context *brw,
> param->stride[0] = _mesa_get_format_bytes(u->_ActualFormat);
> }
>
> +static unsigned
> +get_image_num_layers(const struct intel_mipmap_tree *mt, GLenum target,
> + unsigned level)
> +{
> + if (target == GL_TEXTURE_CUBE_MAP)
> + return 6;
> +
> + return target == GL_TEXTURE_3D ?
> + minify(mt->logical_depth0, level) : mt->logical_depth0;
> +}
> +
> static void
> update_image_surface(struct brw_context *brw,
> struct gl_image_unit *u,
> @@ -1660,9 +1671,8 @@ update_image_surface(struct brw_context *brw,
> } else {
> struct intel_texture_object *intel_obj = intel_texture_object(obj);
> struct intel_mipmap_tree *mt = intel_obj->mt;
> - const unsigned num_layers = (!u->Layered ? 1 :
> - obj->Target == GL_TEXTURE_CUBE_MAP ? 6 :
> - mt->logical_depth0);
> + const unsigned num_layers = u->Layered ?
> + get_image_num_layers(mt, obj->Target, u->Level) : 1;
>
> struct isl_view view = {
> .format = format,
>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-stable/attachments/20170719/09d08f1c/attachment.sig>
More information about the mesa-stable
mailing list