| NV12 | NV12 | external only | | | NV12:0x0600000000000001 | external only | | | NV12:0x0600000000000002 | external only | Having a GL path is very efficient, but also gives compositors a composition fallback which is needed to enable a format and guarantee it can be rendered at all time. > > + > > +/* > > + * Verisilicon 4x4 tiling with compression layout > > + * > > + * This is G2 VPU tiled layout using tiles of 4x4 pixels in a row-major > > + * layout with compression. > > + */ > > +#define DRM_FORMAT_MOD_VSI_G2_TILED_COMPRESSED fourcc_mod_code(VSI, 3) This one needs definition, but the doc provided does not seem to match what I can see in IMX8M TRM (see 14.2.2.3 Compressed format), here's a snippet, I don't yet fully understand it. They only explain the storage, not the compression technique, but this should be enough to understand its not a simple row-major 4x4 tiling. When compression is enabled, the picture is divided into CBS rows, which is further divided into continuous CBS groups. Each CBS group is composed of 16 CBS. The luminance CBS is composed of 1 8x8 coded block (CB), which one chrominance CBS is composed of two 8x4 coded blocks, with cb CB first then cr CB following. The compression is performed to each CB in the CBS. The first CB's compressed data saved from the same offset of that CBS in raster scan buffer. And the compressed output of following CBs in the CBS row is saved continuously. That means there may be gaps between the compressed data of each CBS row. Nicolas > > + > > #if defined(__cplusplus) > > } > > #endif