[Mesa-dev] [PATCH] anv: image: report correct depthPicth for 3d images
Lionel Landwerlin
llandwerlin at gmail.com
Sat Dec 3 16:27:46 UTC 2016
That's on Haswell.
I'm not sure whether a 3d image with multiple layers makes sense, but
if it does, it should probably return different depth/layer pitch
values?
On Sat, 2016-12-03 at 08:22 -0800, Jason Ekstrand wrote:
> What hardware are you running on? Prior to sky lake, depth pitch
> makes so sense for us. On sky lake and above it should be exactly
> the same as array pitch. One thing we should do is not report array
> pitch for 3D and maybe report a depth pitch of zero on broadwell and
> earlier.
>
> On Dec 3, 2016 7:51 AM, "Lionel Landwerlin" <llandwerlin at gmail.com>
> wrote:
> With a 3d image of 2x2x3, vkGetImageSubresourceLayout currently
> reports :
>
> VkSubresourceLayout = { offset = 0,
> size = 160,
> rowPitch = 16,
> arrayPitch = 96,
> depthPitch = 96 }
>
> depthPitch should be 32.
>
> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> ---
> src/intel/vulkan/anv_image.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/intel/vulkan/anv_image.c
> b/src/intel/vulkan/anv_image.c
> index e60373a..9ef0760 100644
> --- a/src/intel/vulkan/anv_image.c
> +++ b/src/intel/vulkan/anv_image.c
> @@ -376,7 +376,8 @@ anv_surface_get_subresource_layout(struct
> anv_image *image,
>
> layout->offset = surface->offset;
> layout->rowPitch = surface->isl.row_pitch;
> - layout->depthPitch = isl_surf_get_array_pitch(&surface->isl);
> + layout->depthPitch =
> + isl_surf_get_array_pitch(&surface->isl) / image->extent.depth;
> layout->arrayPitch = isl_surf_get_array_pitch(&surface->isl);
> layout->size = surface->isl.size;
> }
> --
> 2.10.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list