gralloc: Fix UBWC related issues
1. Fix the missed ALIGN in getUBwcMetaBufferSize api.
2. Fix de-reference of data address pointer in getRgbDataAddress api.
Change-Id: I5dae2b6f449bb9a5b0dcc23110a2efce36060a42
diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp
index e37cddd..8dcc219 100644
--- a/libgralloc/alloc_controller.cpp
+++ b/libgralloc/alloc_controller.cpp
@@ -898,7 +898,7 @@
meta_width = ALIGN(((width + block_width - 1) / block_width), 64);
// Align meta buffer size to 4K
- size = ((meta_width * meta_height), 4096);
+ size = ALIGN((meta_width * meta_height), 4096);
return size;
}
@@ -929,7 +929,7 @@
return size;
}
-int getRgbDataAddress(private_handle_t* hnd, void* rgb_data)
+int getRgbDataAddress(private_handle_t* hnd, void** rgb_data)
{
int err = 0;
@@ -940,7 +940,7 @@
// linear buffer
if (!(hnd->flags & private_handle_t::PRIV_FLAGS_UBWC_ALIGNED)) {
- rgb_data = (void*)hnd->base;
+ *rgb_data = (void*)hnd->base;
return err;
}
@@ -960,6 +960,6 @@
break;
}
- rgb_data = (void*)(hnd->base + meta_size);
+ *rgb_data = (void*)(hnd->base + meta_size);
return err;
}