Add validateBufferSize and getTransportSize to gralloc.h
This reverts commit ae6d8a3e33
.
Bug: 130669566
Test: build, boot
Change-Id: Icdb3b1e0534233995d5c0594feede6261033ec45
This commit is contained in:
parent
ae6d8a3e33
commit
5543b1eb04
2 changed files with 34 additions and 2 deletions
|
@ -314,8 +314,38 @@ typedef struct gralloc_module_t {
|
||||||
int l, int t, int w, int h,
|
int l, int t, int w, int h,
|
||||||
struct android_ycbcr *ycbcr, int fenceFd);
|
struct android_ycbcr *ycbcr, int fenceFd);
|
||||||
|
|
||||||
|
/* getTransportSize(..., outNumFds, outNumInts)
|
||||||
|
* This function is mandatory on devices running IMapper2.1 or higher.
|
||||||
|
*
|
||||||
|
* Get the transport size of a buffer. An imported buffer handle is a raw
|
||||||
|
* buffer handle with the process-local runtime data appended. This
|
||||||
|
* function, for example, allows a caller to omit the process-local
|
||||||
|
* runtime data at the tail when serializing the imported buffer handle.
|
||||||
|
*
|
||||||
|
* Note that a client might or might not omit the process-local runtime
|
||||||
|
* data when sending an imported buffer handle. The mapper must support
|
||||||
|
* both cases on the receiving end.
|
||||||
|
*/
|
||||||
|
int32_t (*getTransportSize)(
|
||||||
|
struct gralloc_module_t const* module, buffer_handle_t handle, uint32_t *outNumFds,
|
||||||
|
uint32_t *outNumInts);
|
||||||
|
|
||||||
|
/* validateBufferSize(..., w, h, format, usage, stride)
|
||||||
|
* This function is mandatory on devices running IMapper2.1 or higher.
|
||||||
|
*
|
||||||
|
* Validate that the buffer can be safely accessed by a caller who assumes
|
||||||
|
* the specified width, height, format, usage, and stride. This must at least validate
|
||||||
|
* that the buffer size is large enough. Validating the buffer against
|
||||||
|
* individual buffer attributes is optional.
|
||||||
|
*/
|
||||||
|
int32_t (*validateBufferSize)(
|
||||||
|
struct gralloc_module_t const* device, buffer_handle_t handle,
|
||||||
|
uint32_t w, uint32_t h, int32_t format, int usage,
|
||||||
|
uint32_t stride);
|
||||||
|
|
||||||
/* reserved for future use */
|
/* reserved for future use */
|
||||||
void* reserved_proc[3];
|
void* reserved_proc[1];
|
||||||
|
|
||||||
} gralloc_module_t;
|
} gralloc_module_t;
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -185,7 +185,9 @@ void CheckOffsets(void) {
|
||||||
CHECK_MEMBER_AT(gralloc_module_t, lockAsync, 152, 296);
|
CHECK_MEMBER_AT(gralloc_module_t, lockAsync, 152, 296);
|
||||||
CHECK_MEMBER_AT(gralloc_module_t, unlockAsync, 156, 304);
|
CHECK_MEMBER_AT(gralloc_module_t, unlockAsync, 156, 304);
|
||||||
CHECK_MEMBER_AT(gralloc_module_t, lockAsync_ycbcr, 160, 312);
|
CHECK_MEMBER_AT(gralloc_module_t, lockAsync_ycbcr, 160, 312);
|
||||||
CHECK_MEMBER_AT(gralloc_module_t, reserved_proc, 164, 320);
|
CHECK_MEMBER_AT(gralloc_module_t, getTransportSize, 164, 320);
|
||||||
|
CHECK_MEMBER_AT(gralloc_module_t, validateBufferSize, 168, 328);
|
||||||
|
CHECK_MEMBER_AT(gralloc_module_t, reserved_proc, 172, 336);
|
||||||
|
|
||||||
CHECK_MEMBER_AT(alloc_device_t, common, 0, 0);
|
CHECK_MEMBER_AT(alloc_device_t, common, 0, 0);
|
||||||
CHECK_MEMBER_AT(alloc_device_t, alloc, 64, 120);
|
CHECK_MEMBER_AT(alloc_device_t, alloc, 64, 120);
|
||||||
|
|
Loading…
Reference in a new issue