blob: 77eaadbe3c9b8dbc9397ccb51ead9eb71aa17097 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#define LOG_TAG "GraphicBufferExtra"
#define ATRACE_TAG ATRACE_TAG_GRAPHICS
#include <cutils/log.h>
#include <ui/GraphicBufferExtra.h>
#include <hardware/graphics_mtk_defs.h>
namespace android {
// ---------------------------------------------------------------------------
ANDROID_SINGLETON_STATIC_INSTANCE( GraphicBufferExtra )
static GraphicBufferExtra * s_singleton_obj = NULL;
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);
}
s_singleton_obj = this;
}
// dlclose
static void __attribute__((destructor)) gralloc_extra_dlclose(void)
{
if (s_singleton_obj)
{
delete s_singleton_obj;
s_singleton_obj = NULL;
}
}
GraphicBufferExtra::~GraphicBufferExtra()
{
if (mExtraDev)
{
gralloc_extra_close(mExtraDev);
}
s_singleton_obj = NULL;
}
// ---------------------------------------------------------------------------
}; // namespace android
|