class DrmFbIdHandle {
public:
static auto CreateInstance(hwc_drm_bo_t *bo, GemHandle first_gem_handle,
- const std::shared_ptr<DrmDevice> &drm)
- -> std::shared_ptr<DrmFbIdHandle>;
+ DrmDevice &drm) -> std::shared_ptr<DrmFbIdHandle>;
~DrmFbIdHandle();
DrmFbIdHandle(DrmFbIdHandle &&) = delete;
}
private:
- explicit DrmFbIdHandle(std::shared_ptr<DrmDevice> drm)
- : drm_(std::move(drm)){};
+ explicit DrmFbIdHandle(DrmDevice &drm) : drm_(&drm){};
- const std::shared_ptr<DrmDevice> drm_;
+ DrmDevice *const drm_;
uint32_t fb_id_{};
std::array<GemHandle, kHwcDrmBoMaxPlanes> gem_handles_{};
class DrmFbImporter {
public:
- explicit DrmFbImporter(std::shared_ptr<DrmDevice> drm)
- : drm_(std::move(drm)){};
+ explicit DrmFbImporter(DrmDevice &drm) : drm_(&drm){};
~DrmFbImporter() = default;
DrmFbImporter(const DrmFbImporter &) = delete;
DrmFbImporter(DrmFbImporter &&) = delete;
}
}
- const std::shared_ptr<DrmDevice> drm_;
+ DrmDevice *const drm_;
std::map<GemHandle, std::weak_ptr<DrmFbIdHandle>> drm_fb_id_handle_cache_;
};