Loading include/gui/GraphicBufferAlloc.h +3 −2 Original line number Original line Diff line number Diff line Loading @@ -34,8 +34,9 @@ public: GraphicBufferAlloc(); GraphicBufferAlloc(); virtual ~GraphicBufferAlloc(); virtual ~GraphicBufferAlloc(); virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t width, virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t width, uint32_t height, PixelFormat format, uint32_t usage, uint32_t height, PixelFormat format, uint32_t layerCount, std::string requestorName, status_t* error) override; uint32_t usage, std::string requestorName, status_t* error) override; }; }; Loading include/gui/IGraphicBufferAlloc.h +6 −4 Original line number Original line Diff line number Diff line Loading @@ -38,12 +38,14 @@ public: /* Create a new GraphicBuffer for the client to use. /* Create a new GraphicBuffer for the client to use. */ */ virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h, virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h, PixelFormat format, uint32_t usage, std::string requestorName, PixelFormat format, uint32_t layerCount, uint32_t usage, status_t* error) = 0; std::string requestorName, status_t* error) = 0; sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h, sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h, PixelFormat format, uint32_t usage, status_t* error) { PixelFormat format, uint32_t layerCount, uint32_t usage, return createGraphicBuffer(w, h, format, usage, "<Unknown>", error); status_t* error) { return createGraphicBuffer(w, h, format, layerCount, usage, "<Unknown>", error); } } }; }; Loading include/ui/Gralloc1.h +7 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,7 @@ public: mWidth(0), mWidth(0), mHeight(0), mHeight(0), mFormat(static_cast<android_pixel_format_t>(0)), mFormat(static_cast<android_pixel_format_t>(0)), mLayerCount(0), mProducerUsage(GRALLOC1_PRODUCER_USAGE_NONE), mProducerUsage(GRALLOC1_PRODUCER_USAGE_NONE), mConsumerUsage(GRALLOC1_CONSUMER_USAGE_NONE) {} mConsumerUsage(GRALLOC1_CONSUMER_USAGE_NONE) {} Loading @@ -58,6 +59,7 @@ public: gralloc1_error_t setDimensions(uint32_t width, uint32_t height); gralloc1_error_t setDimensions(uint32_t width, uint32_t height); gralloc1_error_t setFormat(android_pixel_format_t format); gralloc1_error_t setFormat(android_pixel_format_t format); gralloc1_error_t setLayerCount(uint32_t layerCount); gralloc1_error_t setProducerUsage(gralloc1_producer_usage_t usage); gralloc1_error_t setProducerUsage(gralloc1_producer_usage_t usage); gralloc1_error_t setConsumerUsage(gralloc1_consumer_usage_t usage); gralloc1_error_t setConsumerUsage(gralloc1_consumer_usage_t usage); Loading @@ -68,6 +70,7 @@ private: uint32_t mWidth; uint32_t mWidth; uint32_t mHeight; uint32_t mHeight; android_pixel_format_t mFormat; android_pixel_format_t mFormat; uint32_t mLayerCount; gralloc1_producer_usage_t mProducerUsage; gralloc1_producer_usage_t mProducerUsage; gralloc1_consumer_usage_t mConsumerUsage; gralloc1_consumer_usage_t mConsumerUsage; Loading Loading @@ -178,6 +181,8 @@ private: GRALLOC1_FUNCTION_SET_DIMENSIONS> setDimensions; GRALLOC1_FUNCTION_SET_DIMENSIONS> setDimensions; FunctionLoader<GRALLOC1_PFN_SET_FORMAT, FunctionLoader<GRALLOC1_PFN_SET_FORMAT, GRALLOC1_FUNCTION_SET_FORMAT> setFormat; GRALLOC1_FUNCTION_SET_FORMAT> setFormat; FunctionLoader<GRALLOC1_PFN_SET_LAYER_COUNT, GRALLOC1_FUNCTION_SET_LAYER_COUNT> setLayerCount; FunctionLoader<GRALLOC1_PFN_SET_PRODUCER_USAGE, FunctionLoader<GRALLOC1_PFN_SET_PRODUCER_USAGE, GRALLOC1_FUNCTION_SET_PRODUCER_USAGE> setProducerUsage; GRALLOC1_FUNCTION_SET_PRODUCER_USAGE> setProducerUsage; FunctionLoader<GRALLOC1_PFN_GET_BACKING_STORE, FunctionLoader<GRALLOC1_PFN_GET_BACKING_STORE, Loading @@ -188,6 +193,8 @@ private: GRALLOC1_FUNCTION_GET_DIMENSIONS> getDimensions; GRALLOC1_FUNCTION_GET_DIMENSIONS> getDimensions; FunctionLoader<GRALLOC1_PFN_GET_FORMAT, FunctionLoader<GRALLOC1_PFN_GET_FORMAT, GRALLOC1_FUNCTION_GET_FORMAT> getFormat; GRALLOC1_FUNCTION_GET_FORMAT> getFormat; FunctionLoader<GRALLOC1_PFN_GET_LAYER_COUNT, GRALLOC1_FUNCTION_GET_LAYER_COUNT> getLayerCount; FunctionLoader<GRALLOC1_PFN_GET_PRODUCER_USAGE, FunctionLoader<GRALLOC1_PFN_GET_PRODUCER_USAGE, GRALLOC1_FUNCTION_GET_PRODUCER_USAGE> getProducerUsage; GRALLOC1_FUNCTION_GET_PRODUCER_USAGE> getProducerUsage; FunctionLoader<GRALLOC1_PFN_GET_STRIDE, FunctionLoader<GRALLOC1_PFN_GET_STRIDE, Loading include/ui/Gralloc1On0Adapter.h +18 −0 Original line number Original line Diff line number Diff line Loading @@ -131,6 +131,7 @@ private: width(0), width(0), height(0), height(0), format(HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED), format(HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED), layerCount(1), producerUsage(GRALLOC1_PRODUCER_USAGE_NONE), producerUsage(GRALLOC1_PRODUCER_USAGE_NONE), consumerUsage(GRALLOC1_CONSUMER_USAGE_NONE) {} consumerUsage(GRALLOC1_CONSUMER_USAGE_NONE) {} Loading @@ -145,6 +146,11 @@ private: return GRALLOC1_ERROR_NONE; return GRALLOC1_ERROR_NONE; } } gralloc1_error_t setLayerCount(uint32_t lc) { layerCount = lc; return GRALLOC1_ERROR_NONE; } gralloc1_error_t setProducerUsage(gralloc1_producer_usage_t usage) { gralloc1_error_t setProducerUsage(gralloc1_producer_usage_t usage) { producerUsage = usage; producerUsage = usage; return GRALLOC1_ERROR_NONE; return GRALLOC1_ERROR_NONE; Loading @@ -161,6 +167,7 @@ private: uint32_t width; uint32_t width; uint32_t height; uint32_t height; int32_t format; int32_t format; uint32_t layerCount; gralloc1_producer_usage_t producerUsage; gralloc1_producer_usage_t producerUsage; gralloc1_consumer_usage_t consumerUsage; gralloc1_consumer_usage_t consumerUsage; }; }; Loading Loading @@ -197,6 +204,12 @@ private: &Descriptor::setFormat, format); &Descriptor::setFormat, format); } } static int32_t setLayerCountHook(gralloc1_device_t* device, gralloc1_buffer_descriptor_t descriptorId, uint32_t layerCount) { return callDescriptorFunction(device, descriptorId, &Descriptor::setLayerCount, layerCount); } static int32_t setProducerUsageHook(gralloc1_device_t* device, static int32_t setProducerUsageHook(gralloc1_device_t* device, gralloc1_buffer_descriptor_t descriptorId, uint64_t intUsage) { gralloc1_buffer_descriptor_t descriptorId, uint64_t intUsage) { auto usage = static_cast<gralloc1_producer_usage_t>(intUsage); auto usage = static_cast<gralloc1_producer_usage_t>(intUsage); Loading Loading @@ -246,6 +259,11 @@ private: return GRALLOC1_ERROR_NONE; return GRALLOC1_ERROR_NONE; } } gralloc1_error_t getLayerCount(uint32_t* outLayerCount) const { *outLayerCount = mDescriptor.layerCount; return GRALLOC1_ERROR_NONE; } gralloc1_error_t getNumFlexPlanes(uint32_t* outNumPlanes) const { gralloc1_error_t getNumFlexPlanes(uint32_t* outNumPlanes) const { // TODO: This is conservative, and we could do better by examining // TODO: This is conservative, and we could do better by examining // the format, but it won't hurt anything for now // the format, but it won't hurt anything for now Loading include/ui/GrallocMapper.h +5 −0 Original line number Original line Diff line number Diff line Loading @@ -63,6 +63,11 @@ public: return mMapper->getFormat(mDevice, handle, &format); return mMapper->getFormat(mDevice, handle, &format); } } Error getLayerCount(buffer_handle_t handle, uint32_t& layerCount) const { return mMapper->getLayerCount(mDevice, handle, &layerCount); } Error getProducerUsageMask(buffer_handle_t handle, Error getProducerUsageMask(buffer_handle_t handle, uint64_t& usageMask) const uint64_t& usageMask) const { { Loading Loading
include/gui/GraphicBufferAlloc.h +3 −2 Original line number Original line Diff line number Diff line Loading @@ -34,8 +34,9 @@ public: GraphicBufferAlloc(); GraphicBufferAlloc(); virtual ~GraphicBufferAlloc(); virtual ~GraphicBufferAlloc(); virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t width, virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t width, uint32_t height, PixelFormat format, uint32_t usage, uint32_t height, PixelFormat format, uint32_t layerCount, std::string requestorName, status_t* error) override; uint32_t usage, std::string requestorName, status_t* error) override; }; }; Loading
include/gui/IGraphicBufferAlloc.h +6 −4 Original line number Original line Diff line number Diff line Loading @@ -38,12 +38,14 @@ public: /* Create a new GraphicBuffer for the client to use. /* Create a new GraphicBuffer for the client to use. */ */ virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h, virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h, PixelFormat format, uint32_t usage, std::string requestorName, PixelFormat format, uint32_t layerCount, uint32_t usage, status_t* error) = 0; std::string requestorName, status_t* error) = 0; sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h, sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h, PixelFormat format, uint32_t usage, status_t* error) { PixelFormat format, uint32_t layerCount, uint32_t usage, return createGraphicBuffer(w, h, format, usage, "<Unknown>", error); status_t* error) { return createGraphicBuffer(w, h, format, layerCount, usage, "<Unknown>", error); } } }; }; Loading
include/ui/Gralloc1.h +7 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,7 @@ public: mWidth(0), mWidth(0), mHeight(0), mHeight(0), mFormat(static_cast<android_pixel_format_t>(0)), mFormat(static_cast<android_pixel_format_t>(0)), mLayerCount(0), mProducerUsage(GRALLOC1_PRODUCER_USAGE_NONE), mProducerUsage(GRALLOC1_PRODUCER_USAGE_NONE), mConsumerUsage(GRALLOC1_CONSUMER_USAGE_NONE) {} mConsumerUsage(GRALLOC1_CONSUMER_USAGE_NONE) {} Loading @@ -58,6 +59,7 @@ public: gralloc1_error_t setDimensions(uint32_t width, uint32_t height); gralloc1_error_t setDimensions(uint32_t width, uint32_t height); gralloc1_error_t setFormat(android_pixel_format_t format); gralloc1_error_t setFormat(android_pixel_format_t format); gralloc1_error_t setLayerCount(uint32_t layerCount); gralloc1_error_t setProducerUsage(gralloc1_producer_usage_t usage); gralloc1_error_t setProducerUsage(gralloc1_producer_usage_t usage); gralloc1_error_t setConsumerUsage(gralloc1_consumer_usage_t usage); gralloc1_error_t setConsumerUsage(gralloc1_consumer_usage_t usage); Loading @@ -68,6 +70,7 @@ private: uint32_t mWidth; uint32_t mWidth; uint32_t mHeight; uint32_t mHeight; android_pixel_format_t mFormat; android_pixel_format_t mFormat; uint32_t mLayerCount; gralloc1_producer_usage_t mProducerUsage; gralloc1_producer_usage_t mProducerUsage; gralloc1_consumer_usage_t mConsumerUsage; gralloc1_consumer_usage_t mConsumerUsage; Loading Loading @@ -178,6 +181,8 @@ private: GRALLOC1_FUNCTION_SET_DIMENSIONS> setDimensions; GRALLOC1_FUNCTION_SET_DIMENSIONS> setDimensions; FunctionLoader<GRALLOC1_PFN_SET_FORMAT, FunctionLoader<GRALLOC1_PFN_SET_FORMAT, GRALLOC1_FUNCTION_SET_FORMAT> setFormat; GRALLOC1_FUNCTION_SET_FORMAT> setFormat; FunctionLoader<GRALLOC1_PFN_SET_LAYER_COUNT, GRALLOC1_FUNCTION_SET_LAYER_COUNT> setLayerCount; FunctionLoader<GRALLOC1_PFN_SET_PRODUCER_USAGE, FunctionLoader<GRALLOC1_PFN_SET_PRODUCER_USAGE, GRALLOC1_FUNCTION_SET_PRODUCER_USAGE> setProducerUsage; GRALLOC1_FUNCTION_SET_PRODUCER_USAGE> setProducerUsage; FunctionLoader<GRALLOC1_PFN_GET_BACKING_STORE, FunctionLoader<GRALLOC1_PFN_GET_BACKING_STORE, Loading @@ -188,6 +193,8 @@ private: GRALLOC1_FUNCTION_GET_DIMENSIONS> getDimensions; GRALLOC1_FUNCTION_GET_DIMENSIONS> getDimensions; FunctionLoader<GRALLOC1_PFN_GET_FORMAT, FunctionLoader<GRALLOC1_PFN_GET_FORMAT, GRALLOC1_FUNCTION_GET_FORMAT> getFormat; GRALLOC1_FUNCTION_GET_FORMAT> getFormat; FunctionLoader<GRALLOC1_PFN_GET_LAYER_COUNT, GRALLOC1_FUNCTION_GET_LAYER_COUNT> getLayerCount; FunctionLoader<GRALLOC1_PFN_GET_PRODUCER_USAGE, FunctionLoader<GRALLOC1_PFN_GET_PRODUCER_USAGE, GRALLOC1_FUNCTION_GET_PRODUCER_USAGE> getProducerUsage; GRALLOC1_FUNCTION_GET_PRODUCER_USAGE> getProducerUsage; FunctionLoader<GRALLOC1_PFN_GET_STRIDE, FunctionLoader<GRALLOC1_PFN_GET_STRIDE, Loading
include/ui/Gralloc1On0Adapter.h +18 −0 Original line number Original line Diff line number Diff line Loading @@ -131,6 +131,7 @@ private: width(0), width(0), height(0), height(0), format(HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED), format(HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED), layerCount(1), producerUsage(GRALLOC1_PRODUCER_USAGE_NONE), producerUsage(GRALLOC1_PRODUCER_USAGE_NONE), consumerUsage(GRALLOC1_CONSUMER_USAGE_NONE) {} consumerUsage(GRALLOC1_CONSUMER_USAGE_NONE) {} Loading @@ -145,6 +146,11 @@ private: return GRALLOC1_ERROR_NONE; return GRALLOC1_ERROR_NONE; } } gralloc1_error_t setLayerCount(uint32_t lc) { layerCount = lc; return GRALLOC1_ERROR_NONE; } gralloc1_error_t setProducerUsage(gralloc1_producer_usage_t usage) { gralloc1_error_t setProducerUsage(gralloc1_producer_usage_t usage) { producerUsage = usage; producerUsage = usage; return GRALLOC1_ERROR_NONE; return GRALLOC1_ERROR_NONE; Loading @@ -161,6 +167,7 @@ private: uint32_t width; uint32_t width; uint32_t height; uint32_t height; int32_t format; int32_t format; uint32_t layerCount; gralloc1_producer_usage_t producerUsage; gralloc1_producer_usage_t producerUsage; gralloc1_consumer_usage_t consumerUsage; gralloc1_consumer_usage_t consumerUsage; }; }; Loading Loading @@ -197,6 +204,12 @@ private: &Descriptor::setFormat, format); &Descriptor::setFormat, format); } } static int32_t setLayerCountHook(gralloc1_device_t* device, gralloc1_buffer_descriptor_t descriptorId, uint32_t layerCount) { return callDescriptorFunction(device, descriptorId, &Descriptor::setLayerCount, layerCount); } static int32_t setProducerUsageHook(gralloc1_device_t* device, static int32_t setProducerUsageHook(gralloc1_device_t* device, gralloc1_buffer_descriptor_t descriptorId, uint64_t intUsage) { gralloc1_buffer_descriptor_t descriptorId, uint64_t intUsage) { auto usage = static_cast<gralloc1_producer_usage_t>(intUsage); auto usage = static_cast<gralloc1_producer_usage_t>(intUsage); Loading Loading @@ -246,6 +259,11 @@ private: return GRALLOC1_ERROR_NONE; return GRALLOC1_ERROR_NONE; } } gralloc1_error_t getLayerCount(uint32_t* outLayerCount) const { *outLayerCount = mDescriptor.layerCount; return GRALLOC1_ERROR_NONE; } gralloc1_error_t getNumFlexPlanes(uint32_t* outNumPlanes) const { gralloc1_error_t getNumFlexPlanes(uint32_t* outNumPlanes) const { // TODO: This is conservative, and we could do better by examining // TODO: This is conservative, and we could do better by examining // the format, but it won't hurt anything for now // the format, but it won't hurt anything for now Loading
include/ui/GrallocMapper.h +5 −0 Original line number Original line Diff line number Diff line Loading @@ -63,6 +63,11 @@ public: return mMapper->getFormat(mDevice, handle, &format); return mMapper->getFormat(mDevice, handle, &format); } } Error getLayerCount(buffer_handle_t handle, uint32_t& layerCount) const { return mMapper->getLayerCount(mDevice, handle, &layerCount); } Error getProducerUsageMask(buffer_handle_t handle, Error getProducerUsageMask(buffer_handle_t handle, uint64_t& usageMask) const uint64_t& usageMask) const { { Loading