Home | History | Annotate | Download | only in penwell
      1 /*
      2 // Copyright(c)2014 IntelCorporation
      3 //
      4 // LicensedundertheApacheLicense,Version2.0(the"License");
      5 // youmaynotusethisfileexceptincompliancewiththeLicense.
      6 // YoumayobtainacopyoftheLicenseat
      7 //
      8 // http://www.apache.org/licenses/LICENSE-2.0
      9 //
     10 // Unlessrequiredbyapplicablelaworagreedtoinwriting,software
     11 // distributedundertheLicenseisdistributedonan"ASIS"BASIS,
     12 // WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.
     13 // SeetheLicenseforthespecificlanguagegoverningpermissionsand
     14 // limitationsundertheLicense.
     15 */
     16 #include <HwcTrace.h>
     17 #include <Drm.h>
     18 #include <penwell/PnwPrimaryPlane.h>
     19 #include <penwell/PnwGrallocBuffer.h>
     20 #include <common/PixelFormat.h>
     21 
     22 namespace android {
     23 namespace intel {
     24 
     25 PnwPrimaryPlane::PnwPrimaryPlane(int index, int disp)
     26     : PnwSpritePlane(index, disp)
     27 {
     28     CTRACE();
     29     mType = PLANE_PRIMARY;
     30 }
     31 
     32 PnwPrimaryPlane::~PnwPrimaryPlane()
     33 {
     34     CTRACE();
     35 }
     36 
     37 void PnwPrimaryPlane::setFramebufferTarget(DataBuffer& buf)
     38 {
     39     CTRACE();
     40     //TODO: implement penwell frame buffer target flip
     41 }
     42 
     43 bool PnwPrimaryPlane::setDataBuffer(uint32_t handle)
     44 {
     45     PnwGrallocBuffer tmpBuf(handle);
     46     uint32_t usage;
     47 
     48     ATRACE("handle = %#x", handle);
     49 
     50     usage = tmpBuf.getUsage();
     51     if (!handle || (GRALLOC_USAGE_HW_FB & usage)) {
     52         setFramebufferTarget(tmpBuf);
     53         return true;
     54     }
     55 
     56     return DisplayPlane::setDataBuffer(handle);
     57 }
     58 
     59 bool PnwPrimaryPlane::assignToDevice(int disp)
     60 {
     61     return true;
     62 }
     63 
     64 } // namespace intel
     65 } // namespace android
     66