| /* |
| // Copyright (c) 2014 Intel Corporation |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| */ |
| #include <common/utils/HwcTrace.h> |
| #include <ips/tangier/TngDisplayContext.h> |
| #include <ips/anniedale/AnnPlaneManager.h> |
| #include <platforms/merrifield_plus/PlatfBufferManager.h> |
| #include <DummyDevice.h> |
| #include <IDisplayDevice.h> |
| #include <platforms/merrifield_plus/PlatfPrimaryDevice.h> |
| #include <platforms/merrifield_plus/PlatfExternalDevice.h> |
| #include <platforms/merrifield_plus/PlatfHwcomposer.h> |
| |
| |
| |
| namespace android { |
| namespace intel { |
| |
| PlatfHwcomposer::PlatfHwcomposer() |
| : Hwcomposer() |
| { |
| CTRACE(); |
| } |
| |
| PlatfHwcomposer::~PlatfHwcomposer() |
| { |
| CTRACE(); |
| } |
| |
| DisplayPlaneManager* PlatfHwcomposer::createDisplayPlaneManager() |
| { |
| CTRACE(); |
| return (new AnnPlaneManager()); |
| } |
| |
| BufferManager* PlatfHwcomposer::createBufferManager() |
| { |
| CTRACE(); |
| return (new PlatfBufferManager()); |
| } |
| |
| IDisplayDevice* PlatfHwcomposer::createDisplayDevice(int disp, |
| DisplayPlaneManager& dpm) |
| { |
| CTRACE(); |
| |
| switch (disp) { |
| case IDisplayDevice::DEVICE_PRIMARY: |
| #ifdef INTEL_SUPPORT_HDMI_PRIMARY |
| return new PlatfExternalDevice(*this, dpm); |
| #else |
| return new PlatfPrimaryDevice(*this, dpm); |
| #endif |
| |
| case IDisplayDevice::DEVICE_EXTERNAL: |
| #ifdef INTEL_SUPPORT_HDMI_PRIMARY |
| return new DummyDevice((uint32_t)disp, *this); |
| #else |
| return new PlatfExternalDevice(*this, dpm); |
| #endif |
| |
| case IDisplayDevice::DEVICE_VIRTUAL: |
| return new DummyDevice((uint32_t)disp, *this); |
| |
| default: |
| ELOGTRACE("invalid display device %d", disp); |
| return NULL; |
| } |
| } |
| |
| IDisplayContext* PlatfHwcomposer::createDisplayContext() |
| { |
| CTRACE(); |
| return new TngDisplayContext(); |
| } |
| |
| Hwcomposer* Hwcomposer::createHwcomposer() |
| { |
| CTRACE(); |
| return new PlatfHwcomposer(); |
| } |
| |
| } //namespace intel |
| } //namespace android |