GraphicBufferMapper::GraphicBufferMapper()
    : mAllocMod(0)
{
    hw_module_t const* module;
    int err = hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module);
    ALOGE_IF(err, "FATAL: can't find the %s module", GRALLOC_HARDWARE_MODULE_ID);
    if (err == 0) {
        mAllocMod = (gralloc_module_t const *)module;
    }

    // [MTK] {{{
    // 20120918: gralloc extra device for internal purpose
    mExtraDev = NULL;
    if (err == 0) {
        gralloc_extra_open(module, &mExtraDev);
    }

    char value[PROPERTY_VALUE_MAX];
    property_get("debug.gbuf.callstack", value, "0");
    mIsDumpCallStack = atoi(value);
    if (true == mIsDumpCallStack) {
        XLOGI("!!! dump GraphicBufferMapper callstack for pid:%d !!!", getpid());
    }
    // [MTK] }}}
}
GraphicBufferExtra::GraphicBufferExtra()
    : mExtraDev(0)
{
    hw_module_t const* module;
    int err = hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module);

    //ALOGE_IF(err, "FATAL: can't find the %s module", GRALLOC_HARDWARE_MODULE_ID);
    if (err == 0)
    {
        gralloc_extra_open(module, &mExtraDev);
    }
}
GraphicBufferMapper::GraphicBufferMapper()
    : mAllocMod(0)
{
    hw_module_t const* module;
    int err = hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module);
    ALOGE_IF(err, "FATAL: can't find the %s module", GRALLOC_HARDWARE_MODULE_ID);
    if (err == 0) {
        mAllocMod = (gralloc_module_t const *)module;
    }

    // [MTK] {{{
    // 20120918: gralloc extra device for internal purpose
    mExtraDev = NULL;
    if (err == 0) {
        gralloc_extra_open(module, &mExtraDev);
    }
    // [MTK] }}}
}