this is not only more correct according to vk spec, it avoids having a 0-sized
layer_stride, which totally breaks the transfer map
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9969>
VkSubresourceLayout srl;
vkGetImageSubresourceLayout(screen->dev, res->obj->image, &isr, &srl);
trans->base.b.stride = srl.rowPitch;
- trans->base.b.layer_stride = srl.arrayPitch;
+ if (res->base.b.target == PIPE_TEXTURE_3D)
+ trans->base.b.layer_stride = srl.depthPitch;
+ else
+ trans->base.b.layer_stride = srl.arrayPitch;
trans->offset = srl.offset;
trans->depthPitch = srl.depthPitch;
const struct util_format_description *desc = util_format_description(res->base.b.format);