Package: android.hardware.graphics.mapper@2.1

IMapper

interface IMapper extends @2.0::IMapper

Properties

BufferDescriptorInfo

struct BufferDescriptorInfo {uint32_t width; uint32_t height; uint32_t layerCount; PixelFormat format; bitfield usage}

This is the same as@2.0::IMapper::BufferDescriptorInfo except that it accepts@1.1::PixelFormat and@1.1::BufferUsage.

Details
Members
width
The width specifies how many columns of pixels must be in the allocated buffer, but does not necessarily represent the offset in columns between the same column in adjacent rows.The rows may be padded.
height
The height specifies how many rows of pixels must be in the allocated buffer.
layerCount
The number of image layers that must be in the allocated buffer.
format
Buffer pixel format.
usage
Buffer usage mask;valid flags can be found in the definition of BufferUsage.

Methods

validateBufferSize

validateBufferSize (pointer buffer, BufferDescriptorInfo descriptorInfo, uint32_t stride)
generates (Error error)

Validate that the buffer can be safely accessed by a caller who assumes the specified descriptorInfo and stride.This must at least validate that the buffer size is large enough.Validating the buffer against individual buffer attributes is optional.

Details
Parameters
buffer
is the buffer to validate against.
descriptorInfo
specifies the attributes of the buffer.
stride
is the buffer stride returned by IAllocator::allocate.
Generates
error
is NONE upon success.Otherwise, BAD_BUFFER when the buffer is invalid.BAD_VALUE when buffer cannot be safely accessed

getTransportSize

getTransportSize (pointer buffer)
generates (Error error, uint32_t numFds, uint32_t numInts)

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.

Details
Parameters
buffer
is the buffer to get the transport size from.
Generates
error
is NONE upon success.Otherwise, BAD_BUFFER when the buffer is invalid.
numFds
is the number of file descriptors needed for transport.
numInts
is the number of integers needed for transport.

createDescriptor_2_1

createDescriptor_2_1 (BufferDescriptorInfo descriptorInfo)
generates (Error error, BufferDescriptor descriptor)

This is the same as@2.0::IMapper::createDescriptor except that it accepts@2.1::IMapper::BufferDescriptorInfo.

Creates a buffer descriptor.The descriptor can be used with IAllocator to allocate buffers.

Since the buffer descriptor fully describes a buffer, any device dependent or device independent checks must be performed here whenever possible.Specifically, when layered buffers are not supported, this function must return UNSUPPORTED if layerCount is great than 1.

Details
Parameters
descriptorInfo
specifies the attributes of the descriptor.
Generates
error
is NONE upon success.Otherwise, BAD_VALUE when any of the specified attributes is invalid or conflicting.NO_RESOURCES when the creation cannot be fullfilled at this time.UNSUPPORTED when any of the specified attributes is not supported.
descriptor
is the newly created buffer descriptor.