On Thu, Nov 05, 2026 at 03:34:55PM -0500, Nicolas Dufresne wrote: > Le jeudi 05 novembre 2026 à 13:35 +0100, Robert Mader a écrit : > > On 04.11.26 23:11, Rob Clark wrote: > > > On Wed, Nov 4, 2026 at 11:00 AM Robert Mader <[email protected]> > > > wrote: > > > > Nice, very happy to see the series! > > > > > > > > On 04.11.26 17:36, Dmitry Baryshkov wrote: > > > > > The comment describing the QC10C buffer layout calls it a compressed > > > > > P010. It is not: > > > > If I'm not mistaken the display engine / the DRM side (including Mesa) > > > > describes it as P010+QCOM_COMPRESSED as well, and so does my pending > > > > Gstreamer MR [1] . So if we can't pretend that QC10C == > > > > P010+QCOM_COMPRESSED, then we probably need a DRM_FORMAT_TP10, wire that > > > > up everywhere etc. OTOH if we want to keep the DRM side as is, then the > > > > comment should reflect that, IMO. > > > IMHO we need DRM_FORMAT_TP10.. on the GPU side, we have TP10 and P010 > > > as distinct formats, both with and without UBWC. I'm not sure if the > > > same is true on video side but P010+UBWC was never exposed, or if it > > > truely only supports linear P010 and UBWC TP10. > > > > Oh, do I understand you correctly that the P010+UBWC implementation is > > not compatible with QC10C, meaning on the GPU side (Mesa and display) we > > don't yet have any support for QC10C exposed to userspace? If that's so > > then we don't have a choice but to introduce DRM_FORMAT_TP10 I guess?
Yes. > > > > On the plus side - this would allow us to make the format single plane, > > matching what we get on the V4L2 side. > > Since its single plane, we should aim for a variation of > DRM_FORMAT_YUV420_10BIT. Similar to YUV420_10BIT, there is no obvious linear > single plane packing for that, it would only be there to support the > compression. Or maybe this one is abstract enough to be used anyway? We have DRM_FORMAT_P030, describing this semi-planar packing. I will describe P030 + QCOM_COMPRESSED for v2. P010 + QCOM_COMPRESSED will be repurposed for the actual P010 compressed by the GPU. > > Nicolas > > > > > > > > > BR, > > > -R > > > > > > > Best regards, > > > > > > > > Robert > > > > > > > > 1: > > > > https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8195 > > > > > > > > > P010 stores each sample in 16 bits, QC10C packs three > > > > > 10-bit samples in each 32-bit word, which is what the stride computed > > > > > below (width * 4 / 3) assumes. Name the format correctly. > > > > > > > > > > Signed-off-by: Dmitry Baryshkov <[email protected]> > > > > > --- > > > > > drivers/media/platform/qcom/iris/iris_buffer.c | 2 +- > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > diff --git a/drivers/media/platform/qcom/iris/iris_buffer.c > > > > > b/drivers/media/platform/qcom/iris/iris_buffer.c > > > > > index eb8de60c1177..ec2bf2a2d953 100644 > > > > > --- a/drivers/media/platform/qcom/iris/iris_buffer.c > > > > > +++ b/drivers/media/platform/qcom/iris/iris_buffer.c > > > > > @@ -266,7 +266,7 @@ static u32 iris_yuv_buffer_size_qc08c(struct > > > > > iris_inst *inst) > > > > > > > > > > /* > > > > > * QC10C: > > > > > - * UBWC-compressed format for P010. > > > > > + * UBWC-compressed TP10, YUV 4:2:0 with three 10 bit samples packed > > > > > in 32 bits. > > > > > * Contains 4 planes in the following order - > > > > > * (A) Y_Meta_Plane > > > > > * (B) Y_UBWC_Plane > > > > > -- With best wishes Dmitry
