}
}
+bool DrmHwcTwo::HwcDisplay::HardwareSupportsLayerType(
+ HWC2::Composition comp_type) {
+ return comp_type == HWC2::Composition::Device ||
+ comp_type == HWC2::Composition::Cursor;
+}
+
HWC2::Error DrmHwcTwo::HwcDisplay::CreateComposition(bool test) {
std::vector<DrmCompositionDisplayLayersMap> layers_map;
layers_map.emplace_back();
bool gpu_block = false;
for (std::pair<const uint32_t, DrmHwcTwo::HwcLayer *> &l : z_map) {
if (gpu_block || avail_planes == 0 ||
- l.second->sf_type() != HWC2::Composition::Device ||
+ !HardwareSupportsLayerType(l.second->sf_type()) ||
!importer_->CanImportBuffer(l.second->buffer())) {
gpu_block = true;
++*num_types;
private:
HWC2::Error CreateComposition(bool test);
void AddFenceToRetireFence(int fd);
+ bool HardwareSupportsLayerType(HWC2::Composition comp_type);
ResourceManager *resource_manager_;
DrmDevice *drm_;