mp_image: force stride to be multiple of bpp
Vulkan require all sizes in texels, so we have to make our image multiple of them. Fixes: #17743
This commit is contained in:
1 parent
8aef2c9162
commit
8d04be2b85
1 file changed
+2
-1
+2
-1
@@ -68,7 +68,8 @@ static int mp_image_layout(int imgfmt, int w, int h, int stride_align,
|
||||
int alloc_w = mp_chroma_div_up(w, desc.xs[n]);
|
||||
int alloc_h = MP_ALIGN_UP(h, 32) >> desc.ys[n];
|
||||
int line_bytes = (alloc_w * desc.bpp[n] + 7) / 8;
|
||||
out_stride[n] = MP_ALIGN_NPOT(line_bytes, stride_align);
|
||||
int align = mp_lcm(stride_align, (desc.bpp[n] && desc.bpp[n] % 8 == 0) ? desc.bpp[n] / 8 : 1);
|
||||
out_stride[n] = MP_ALIGN_NPOT(line_bytes, align);
|
||||
out_plane_size[n] = out_stride[n] * alloc_h;
|
||||
}
|
||||
if (desc.flags & MP_IMGFLAG_PAL)
|
||||
|
||||
Reference in new issue
Block a user