summaryrefslogtreecommitdiff
path: root/merrifield/common/buffers/BufferManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'merrifield/common/buffers/BufferManager.cpp')
-rw-r--r--merrifield/common/buffers/BufferManager.cpp41
1 files changed, 17 insertions, 24 deletions
diff --git a/merrifield/common/buffers/BufferManager.cpp b/merrifield/common/buffers/BufferManager.cpp
index 6a939ae..ca6f0ad 100644
--- a/merrifield/common/buffers/BufferManager.cpp
+++ b/merrifield/common/buffers/BufferManager.cpp
@@ -17,14 +17,14 @@
#include <HwcTrace.h>
#include <hardware/hwcomposer.h>
#include <BufferManager.h>
+#include <hal_public.h>
#include <DrmConfig.h>
namespace android {
namespace intel {
BufferManager::BufferManager()
- : mGrallocModule(NULL),
- mAllocDev(NULL),
+ : mGralloc(NULL),
mFrameBuffers(),
mBufferPool(NULL),
mDataBuffer(NULL),
@@ -56,16 +56,9 @@ bool BufferManager::initialize()
}
// init gralloc module
- hw_module_t const* module;
- if (hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module)) {
+ if (gralloc_open_img(&mGralloc)) {
DEINIT_AND_RETURN_FALSE("failed to get gralloc module");
}
- mGrallocModule = (gralloc_module_t const*)module;
-
- gralloc_open(module, &mAllocDev);
- if (!mAllocDev) {
- WTRACE("failed to open alloc device");
- }
// create a dummy data buffer
mDataBuffer = createDataBuffer(0);
@@ -100,9 +93,9 @@ void BufferManager::deinitialize()
}
mFrameBuffers.clear();
- if (mAllocDev) {
- gralloc_close(mAllocDev);
- mAllocDev = NULL;
+ if (mGralloc) {
+ gralloc_close_img(mGralloc);
+ mGralloc = NULL;
}
if (mDataBuffer) {
@@ -222,7 +215,7 @@ buffer_handle_t BufferManager::allocFrameBuffer(int width, int height, int *stri
{
RETURN_NULL_IF_NOT_INIT();
- if (!mAllocDev) {
+ if (!mGralloc) {
WTRACE("Alloc device is not available");
return 0;
}
@@ -234,8 +227,8 @@ buffer_handle_t BufferManager::allocFrameBuffer(int width, int height, int *stri
ITRACE("size of frame buffer to create: %dx%d", width, height);
buffer_handle_t handle = 0;
- status_t err = mAllocDev->alloc(
- mAllocDev,
+ status_t err = gralloc_device_alloc_img(
+ mGralloc,
width,
height,
DrmConfig::getFrameBufferFormat(),
@@ -282,7 +275,7 @@ buffer_handle_t BufferManager::allocFrameBuffer(int width, int height, int *stri
if (mapper) {
delete mapper;
}
- mAllocDev->free(mAllocDev, handle);
+ gralloc_device_free_img(mGralloc, handle);
return 0;
}
@@ -290,7 +283,7 @@ void BufferManager::freeFrameBuffer(buffer_handle_t fbHandle)
{
RETURN_VOID_IF_NOT_INIT();
- if (!mAllocDev) {
+ if (!mGralloc) {
WTRACE("Alloc device is not available");
return;
}
@@ -306,14 +299,14 @@ void BufferManager::freeFrameBuffer(buffer_handle_t fbHandle)
mapper->putFbHandle();
delete mapper;
mFrameBuffers.removeItem(fbHandle);
- mAllocDev->free(mAllocDev, handle);
+ gralloc_device_free_img(mGralloc, handle);
}
buffer_handle_t BufferManager::allocGrallocBuffer(uint32_t width, uint32_t height, uint32_t format, uint32_t usage)
{
RETURN_NULL_IF_NOT_INIT();
- if (!mAllocDev) {
+ if (!mGralloc) {
WTRACE("Alloc device is not available");
return 0;
}
@@ -326,8 +319,8 @@ buffer_handle_t BufferManager::allocGrallocBuffer(uint32_t width, uint32_t heigh
ITRACE("size of graphic buffer to create: %dx%d", width, height);
buffer_handle_t handle = 0;
int stride;
- status_t err = mAllocDev->alloc(
- mAllocDev,
+ status_t err = gralloc_device_alloc_img(
+ mGralloc,
width,
height,
format,
@@ -345,13 +338,13 @@ buffer_handle_t BufferManager::allocGrallocBuffer(uint32_t width, uint32_t heigh
void BufferManager::freeGrallocBuffer(buffer_handle_t handle)
{
RETURN_VOID_IF_NOT_INIT();
- if (!mAllocDev) {
+ if (!mGralloc) {
WTRACE("Alloc device is not available");
return;
}
if (handle)
- mAllocDev->free(mAllocDev, handle);
+ gralloc_device_free_img(mGralloc, handle);
}
} // namespace intel