sdm: Avoid fb_id creation and removal in each frame
- Cache the <handle_id, fb_id> map in SDM layer.
- Registry finds the handle_id in layer map. If it is found, then
mapped fb_id is programmed to DRM driver. Else fb_id is created
and it is added in map for the given handle_id key. This map is
cleared and fb_ids are removed, when the SDM layer gets deleted.
- "vendor.display.disable_fbid_cache" system prop needs to be set
to disable the fb_id caching in SDM. So, fb_id will be removed
and created for each SDM layer in every draw cycle.
CRs-Fixed: 2235202
Change-Id: I1d6c7fbc1fc5c1f9afad36cf49f17bc8c5322fe5
diff --git a/include/display_properties.h b/include/display_properties.h
index 505235f..799eade 100644
--- a/include/display_properties.h
+++ b/include/display_properties.h
@@ -94,6 +94,7 @@
#define DISABLE_EXCL_RECT_PROP DISPLAY_PROP("disable_excl_rect")
#define ENABLE_PIPE_PRIORITY_PROP DISPLAY_PROP("enable_pipe_priority")
#define DISABLE_EXCl_RECT_PARTIAL_FB DISPLAY_PROP("disable_excl_rect_partial_fb")
+#define DISABLE_FBID_CACHE DISPLAY_PROP("disable_fbid_cache")
#define DISABLE_HDR_LUT_GEN DISPLAY_PROP("disable_hdr_lut_gen")
#define ENABLE_DEFAULT_COLOR_MODE DISPLAY_PROP("enable_default_color_mode")