aboutsummaryrefslogtreecommitdiff
path: root/bufferinfo/legacy/BufferInfoLibdrm.h
AgeCommit message (Collapse)Author
2022-05-17drm_hwcomposer: Set return type to std::optional for BufferInfoGettersRoman Stratiienko
This is a bit of code modernization. Further changes will require indication that buffer_info is valid, and using std::optional is the most correct approach to do that. Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
2022-05-17drm_hwcomposer: Move include/drmhwcgralloc.h to bufferinfo/BufferInfo.hRoman Stratiienko
... to emphasize its purpose. - Rename struct HwcDrmBo -> struct BufferInfo - Remove unused BufferInfo::acquire_fence, BufferInfo::hal_format and BufferInfo::usage fields Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
2021-12-06drm_hwcomposer: Validate gralloc0 name for minigbm and libdrm gettersRoman Stratiienko
Using of incorrect gralloc0 results in a runtime issues, with logs like "Cannot convert hal format to drm format <VALUE>" or other. Validate gralloc name and exit gracefully in case it doesnt't match the one we are expecting. Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
2020-10-20drm_hwcomposer: refactor platform directoryRoman Stratiienko
Motivation: Platform term meaning used in drm_hwcomposer does not correspond to the content of the platform directory. Platform directory consists of: 1. Buffer information getters for different gralloc (currently called platform). 2. Composition planner logic (which has flaws and should be reworked into layer->plane mapping during validation stage logic). 3. DrmGenericImpoter with reference counting logic. Android-11 IMapper@4 metadata API offers a generic way to access buffer information which makes other gralloc buffer information getters obsolete. Legacy getters should be maintained for some time until all known users will migrate to Mapper@4 API. Implementation: 1. Split 'PlatformImporter' logic to 'Importer' only and 'Buffer Getter' logic. a. Remove buffer_handle_t parameter from ImportBuffer(). Instead user should get BufferInfo using ConvertBoInfo to struct hwc_drm_bo_t, then use it for ImportBuffer(). b. Move DrmGenericImporter.{cpp/h} into the drm directory. 2. Isolate planner code in single file and move it to compositor directory as compositor/Planner.{cpp/h} 3. Rename platform definition a. Rename platform directory to bufferinfo. b. Rename/move bufferinfo/platorm*.{cpp,h} getters to bufferinfo/legacy/BufferInfo*.{cpp,h}. Align class names/includes. 4. Split legacy/metadata getters logic. a. Apply existing bufferinfogetter base class only for legacy getters. b. Combine legacy/generic gettera under new base class. c. Create a placeholder for generic(metadata) getter. Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>