From: Jason Ekstrand Date: Wed, 16 Aug 2017 19:01:15 +0000 (-0700) Subject: i965/screen: Report the correct number of image planes X-Git-Tag: upstream/18.1.0~6021 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9c52aef7d7858058712c0f5926e324af052690df;p=platform%2Fupstream%2Fmesa.git i965/screen: Report the correct number of image planes For non-CCS images, we were reporting just one plane even though they may have multiple in the case of YUV. Reviewed-by: Ben Widawsky Reviewed-by: Emil Velikov Reviewed-by: Daniel Stone --- diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index b11c22d..1ec7908 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -799,7 +799,14 @@ intel_query_image(__DRIimage *image, int attrib, int *value) case __DRI_IMAGE_ATTRIB_FOURCC: return intel_lookup_fourcc(image->dri_format, value); case __DRI_IMAGE_ATTRIB_NUM_PLANES: - *value = isl_drm_modifier_has_aux(image->modifier) ? 2 : 1; + if (isl_drm_modifier_has_aux(image->modifier)) { + assert(!image->planar_format || image->planar_format->nplanes == 1); + *value = 2; + } else if (image->planar_format) { + *value = image->planar_format->nplanes; + } else { + *value = 1; + } return true; case __DRI_IMAGE_ATTRIB_OFFSET: *value = image->offset;