drm_hwcomposer: Add optional gem caching mechanism
On some platform[1] frequent calls of the drmPrimeFDToHandle/drmModeAddFB2 may cause tremendous performance degradation. Since in that case, each buffer registration may lead to interdomain memory mapping(which actually will be the cause of slowdown). In case, if DRM driver[2] has only a primary plane(i.e. all composition done by OpenGL) there is no practical sense to import/release the same render targets per each frame. This patch utilizes prime_fd to clearly identify buffer on which native handle points. 1. Considering hypervisor-based guest domain, using drm [2] driver. 2. https://elixir.bootlin.com/linux/v5.0/source/drivers/gpu/drm/xen Signed-off-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com>