diff options
author | Lajos Molnar <lajos@google.com> | 2015-02-04 15:49:47 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-02-04 15:49:47 +0000 |
commit | 734df24b269acd2ff140f8617d61f021b3073566 (patch) | |
tree | 2aa1cd38b3d52952546f7229afc60d3d6c889572 | |
parent | 502a3872cc13daab8085c9a0cb0a0e0008a1ddeb (diff) | |
parent | 3ece9dfda9477300b641c44cff2e79115987a0b5 (diff) | |
download | exynos5-734df24b269acd2ff140f8617d61f021b3073566.tar.gz |
am 3ece9dfd: Revert "exynos: gralloc: implement gralloc_lock_ycbcr"
* commit '3ece9dfda9477300b641c44cff2e79115987a0b5':
Revert "exynos: gralloc: implement gralloc_lock_ycbcr"
-rw-r--r-- | gralloc/gralloc.cpp | 10 | ||||
-rw-r--r-- | gralloc/mapper.cpp | 102 |
2 files changed, 5 insertions, 107 deletions
diff --git a/gralloc/gralloc.cpp b/gralloc/gralloc.cpp index 8e26ced..b5f269b 100644 --- a/gralloc/gralloc.cpp +++ b/gralloc/gralloc.cpp @@ -71,11 +71,6 @@ extern int gralloc_lock(gralloc_module_t const* module, int l, int t, int w, int h, void** vaddr); -extern int gralloc_lock_ycbcr(gralloc_module_t const* module, - buffer_handle_t handle, int usage, - int l, int t, int w, int h, - struct android_ycbcr *ycbcr); - extern int gralloc_unlock(gralloc_module_t const* module, buffer_handle_t handle); @@ -85,9 +80,6 @@ extern int gralloc_register_buffer(gralloc_module_t const* module, extern int gralloc_unregister_buffer(gralloc_module_t const* module, buffer_handle_t handle); -extern int gralloc_perform(struct gralloc_module_t const* module, - int operation, ... ); - /*****************************************************************************/ static struct hw_module_methods_t gralloc_module_methods = { @@ -109,8 +101,6 @@ base: { unregisterBuffer: gralloc_unregister_buffer, lock: gralloc_lock, unlock: gralloc_unlock, - perform: gralloc_perform, - lock_ycbcr: gralloc_lock_ycbcr, }, framebuffer: 0, flags: 0, diff --git a/gralloc/mapper.cpp b/gralloc/mapper.cpp index 190a7a7..1a70973 100644 --- a/gralloc/mapper.cpp +++ b/gralloc/mapper.cpp @@ -31,7 +31,6 @@ #include <hardware/gralloc.h> #include "gralloc_priv.h" -#include "exynos_format.h" #include <ion/ion.h> #include <linux/ion.h> @@ -58,59 +57,16 @@ static int gralloc_unmap(gralloc_module_t const* module, buffer_handle_t handle) { private_handle_t* hnd = (private_handle_t*)handle; - if (hnd->base != NULL && munmap(hnd->base, hnd->size) < 0) { + if (!hnd->base) + return 0; + + if (munmap(hnd->base, hnd->size) < 0) { ALOGE("%s :could not unmap %s %p %d", __func__, strerror(errno), hnd->base, hnd->size); } - hnd->base = NULL; - if (hnd->base1 != NULL && hnd->format == HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED) { - // unmap plane-2 of mapped NV12 TILED format - size_t chroma_vstride = ALIGN(hnd->height / 2, 32); - size_t chroma_size = chroma_vstride * hnd->stride; - if (munmap(hnd->base1, chroma_size) < 0) { - ALOGE("%s :could not unmap %s %p %zd", __func__, strerror(errno), - hnd->base1, chroma_size); - } - hnd->base1 = NULL; - } ALOGV("%s: base %p %d %d %d %d\n", __func__, hnd->base, hnd->size, hnd->width, hnd->height, hnd->stride); - return 0; -} - - -static int gralloc_map_yuv(gralloc_module_t const* module, buffer_handle_t handle) -{ - private_handle_t* hnd = (private_handle_t*)handle; - - // only support NV12 TILED format - if (hnd->format != HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED) { - return -EINVAL; - } - - size_t chroma_vstride = ALIGN(hnd->height / 2, 32); - size_t chroma_size = chroma_vstride * hnd->stride; - ALOGI("map_yuv: size=%d/%zu", hnd->size, chroma_size); - - if (hnd->base == NULL) { - int err = gralloc_map(module, handle); - if (err != 0) { - return err; - } - } - - // map plane-2 for NV12 TILED format - void* mappedAddress = mmap(0, chroma_size, PROT_READ|PROT_WRITE, MAP_SHARED, - hnd->fd1, 0); - if (mappedAddress == MAP_FAILED) { - ALOGE("%s: could not mmap %s", __func__, strerror(errno)); - gralloc_unmap(module, handle); - return -errno; - } - - ALOGV("%s: chroma %p %d %d %d %d\n", __func__, mappedAddress, hnd->size, - hnd->width, hnd->height, hnd->stride); - hnd->base1 = mappedAddress; + hnd->base = 0; return 0; } @@ -201,54 +157,6 @@ int gralloc_lock(gralloc_module_t const* module, return 0; } -int gralloc_lock_ycbcr(gralloc_module_t const* module, - buffer_handle_t handle, int usage, - int l, int t, int w, int h, - struct android_ycbcr *ycbcr) -{ - // This is called when a YUV buffer is being locked for software - // access. In this implementation we have nothing to do since - // no synchronization with the HW is needed. - // Typically this is used to wait for the h/w to finish with - // this buffer if relevant. The data cache may need to be - // flushed or invalidated depending on the usage bits and the - // hardware. - - if (private_handle_t::validate(handle) < 0) - return -EINVAL; - - private_handle_t* hnd = (private_handle_t*)handle; - ALOGV("lock_ycbcr for fmt=%d %dx%d %dx%d %d", hnd->format, hnd->width, hnd->height, - hnd->stride, hnd->vstride, hnd->size); - switch (hnd->format) { - case HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED: - { - int err = 0; - if (hnd->base1 == NULL || hnd->base == NULL) { - err = gralloc_map_yuv(module, hnd); - } - if (err == 0) { - ycbcr->y = (void*)hnd->base; - ycbcr->cb = (void*)hnd->base1; - ycbcr->cr = (void*)((uint8_t *)hnd->base + 1); - ycbcr->ystride = hnd->stride; - ycbcr->cstride = hnd->stride; - ycbcr->chroma_step = 2; - memset(ycbcr->reserved, 0, sizeof(ycbcr->reserved)); - } - return err; - } - default: - return -EINVAL; - } -} - -int gralloc_perform(struct gralloc_module_t const* module, int operation, ... ) -{ - // dummy implementation required to implement lock_ycbcr - return -EINVAL; -} - int gralloc_unlock(gralloc_module_t const* module, buffer_handle_t handle) { |