mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-26 21:40:12 +01:00
util: pattern: Fix seg fault for simple patterns for 2-plane YUV formats
2-plane YUV formats don't populate planes[2], so insert_value_yuv_planar
writing to that as v_mem caused a seg fault.
Compute the U & V pointers correctly for NV12, NV21, NV16, NV61, and
NV24.
Fixes: 40aeab6fd5 ("modetest: util: pattern: add new patterns")
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
This commit is contained in:
parent
b97eb2474a
commit
35a59fe63c
1 changed files with 5 additions and 0 deletions
|
|
@ -1957,6 +1957,11 @@ static void insert_value_yuv_planar(const struct util_format_info *info,
|
|||
unsigned char *v_mem = planes[2];
|
||||
|
||||
switch (info->format) {
|
||||
case DRM_FORMAT_NV12:
|
||||
case DRM_FORMAT_NV21:
|
||||
case DRM_FORMAT_NV16:
|
||||
case DRM_FORMAT_NV61:
|
||||
case DRM_FORMAT_NV24:
|
||||
case DRM_FORMAT_NV42:
|
||||
u_mem = info->yuv.order & YUV_YCbCr ? planes[1] : planes[1] + 1;
|
||||
v_mem = info->yuv.order & YUV_YCrCb ? planes[1] : planes[1] + 1;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue