[COMMON] g2d: support constraints of MFC
authorCho KyongHo <pullip.cho@samsung.com>
Wed, 31 May 2017 13:52:38 +0000 (22:52 +0900)
committerSeungchul Kim <sc377.kim@samsung.com>
Mon, 28 May 2018 05:27:20 +0000 (14:27 +0900)
commit7957db80ce381b3cb7fcfb16f53743674f457405
tree861259e39e6416d397be31cabb2d720f5444b4d3
parentb6b89a7199eb141e34a5a04fdda8d7b74524b794
[COMMON] g2d: support constraints of MFC

MFC has the following constraints for buffer access:
- Stride (for both of Luman and Chroma including 2-bit planes)
  - width stride: 16 bytes
  - height alignment: 16 pixels
- Padding:
  - Dummy 256 bytes should be padded between the end of luma and the
    beginning of chroma
  - Dummy 64 bytes(256/4) should be padded between the end of the
    8-bit data and the beginning of the 2-bit data for both of luma
    and chroma.

G2D driver checks and applies the above constraints if
G2D_LAYERFLAG_MFC_STRIDE is set to layer->flags and the format is
YCbCr420 semi-planar. If the format is 8+2 YCbCr420 semi-planar and
the number of buffers is two, the above constraints are applied even
though G2D_LAYERFLAG_MFC_STRIDE is not set.

Change-Id: I3071a7949cf96ac2e80f4845cc1bd189eec51ba6
Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
drivers/gpu/exynos/g2d/g2d_command.c
drivers/gpu/exynos/g2d/g2d_command.h
drivers/gpu/exynos/g2d/g2d_uapi_process.c