History log of /frameworks/native/libs/ui/GraphicBufferMapper.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cb8405e7e74398aeafc9ef6ddb59af2d7cc6d2a6 18-Apr-2017 Chia-I Wu <olv@google.com> libui: remove gralloc0/gralloc1 support

We now talk to HIDL gralloc exclusively.

Bug: 37433368
Test: boots
Change-Id: Iecd2f9a02c7066b2f33f24c1de57e9c4af8e28f5
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
a3c428afbfd8ecfafb7712dafa2cc51aa042a9ba 11-Apr-2017 Chia-I Wu <olv@google.com> libui: support GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE

Honor GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE in
GraphicBufferMapper and advertise the cap in the adapter.

Bug: 36355756
Test: boots on gralloc0 and gralloc1 devices
Change-Id: I54a4855883904255fba9a0821ff9d866d265d25a
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
5bac7f36ee9d5ed0c2e8a0141909ca94351965a8 06-Apr-2017 Chia-I Wu <olv@google.com> libui: update for revised HIDL gralloc

The revised HIDL gralloc is implementable on top of gralloc0 and
gralloc1, which enables us to remove all legacy code.

However, it lacks the ability to query buffer properties from a
buffer handle. GetBufferFromHandle in VR always fails.

Bug: 36481301
Test: builds and boots on Pixel
Change-Id: Id7cfa2d2172dfc008803860f24fcf4f03ba05f11
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
fe2f54fc8a9810708fe05d719721af19aea10a4a 16-Feb-2017 Mathias Agopian <mathias@google.com> cleanup libui’s includes

- remove unneeded includes
- include a cpp’s header first in all cpps


Test: compiled & booted
Bug: 35164655
Change-Id: I0890913fcc6614cce156aff19fccdef183145beb
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
a9347647eca3101c014be902b713772de3977d87 14-Feb-2017 Mathias Agopian <mathias@google.com> Break a dependency of libui on libandroid

This was only a header dependency, but it still
created a circular dependency, which will cause
problems in another CL.

We fix this by creating a libarect static library
containing only that header. both libui and
libandroid now depend on it and reexport the
header.

We also make sure rect.h ends-up in the right
place.

Test: built and booted device
Bug: 35164655

Change-Id: Iba25b8b801b26b26ec1401c00caf367a06f197ca
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
7bd8adbb2dd02cf07626d27fcd32ae305a35e3ee 10-Feb-2017 Chia-I Wu <olv@google.com> libui: add notes to registerBuffer(buffer_handle_t)

The method is semi-broken on gralloc0 devices. It calls down to
Gralloc1On0Adapter::managementHook, which will return
GRALLOC1_ERROR_BAD_HANDLE when the handle is received from a remote
process.

Test: make
Change-Id: Ia0ca2b51e38e8afe66a917ca7fe2282db3968f53
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
58a1ef23ca0f82cb9b8278f74e8b337947a97b93 02-Feb-2017 Craig Donner <cdonner@google.com> Adds support for more gralloc1 functions to GrallocMapper.

Bug: 34939453
Test: added native CTS tests checked with
cts-tradefed run cts-dev -m CtsNativeHardwareTestCases
Change-Id: I2393f6ec6c7eff5d229a5aa61ff2a52a9366fd1e
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
e96a325aff9da4e02abeb7b9178592583cf3b78c 02-Feb-2017 Craig Donner <cdonner@google.com> Add methods for allocating and locking GraphicBuffers via gralloc1 flags

Bug: 34050596
Test: manual
Change-Id: I9515e60fe6b67d2c6f02b1bb78651669430f12ef
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
316694751e5f20e24ad2eb3cb36d99f5498d373d 07-Dec-2016 Chia-I Wu <olv@google.com> libui: use HIDLized gralloc-mapper

Test: builds and boots
Change-Id: If42bea782e6dda5cab31c270085d934879fcdb54
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
67e376d6564f8b9f996a347c9402bdc9da789321 19-Dec-2016 Chia-I Wu <olv@google.com> Replace non-const references by pointers

Use pointers for outputs to be consistent with the rest of
libui/libsurfaceflinger.

Remove assignFromHidlVec now that hidl_vec can be casted to std::vector.

Test: builds and boots
Change-Id: I656367028302e7b877a766eaf6aa2431fe07643b
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
9ba189dc5c03040d45dad2080a81115f48f099c3 22-Sep-2016 Chia-I Wu <olv@google.com> libui: add support for android.hardware.graphics

Add Gralloc2::Allocator and Gralloc2::Mapper as wrappers to
android.hardware.graphics.allocator@2.0 and
android.hardware.graphics.mapper@2.0 respectively. Prefer
Gralloc2::{Allocator,Mapper} in
GraphicBufferAllocator/GraphicBufferMapper.

The new path has these differences

- it does not support gralloc0
- it does not dup-and-close fence fds to and from HAL
(not sure why we did that)
- release implies native_handle_close and native_handle_delete
(same as in gralloc1?)

When all interesting targets have android.hardware.graphics
implementations, the old path will be removed. That is why the new path
is added in the least intrusive way, as in:

if (new-path-valid) {
new-path;
} else {
old-path;
}

despite the ugliness.

Test: booted to launcher, tested with YouTube and some games
Change-Id: Idabb6c62e73c96a59736b497c6d6d1366095e7e3
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
8deb4da6e8fe4687991da32ae68fa0bca4cb8212 02-Jun-2016 Dan Stoza <stoza@google.com> libui: Convert Allocator and Mapper to gralloc1

Converts GraphicBufferAllocator and GraphicBufferMapper to speak
gralloc 1.0 (via the C++ shim and optionally the 1On0 adapter) instead
of gralloc 0.x.

Bug: 28401203
Change-Id: Ie1649f0ee72801579be2c2d3c47177b52962a825
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
ed6e907bc7a259d85c6a6c141a06a06e5c0b224c 30-Apr-2015 Dan Stoza <stoza@google.com> Merge "Close Fence FDs in error cases of Surface and GraphicBufferMapper"
dcfe91e1f3f15b68793a69650f9bd0ca6a58ff4c 30-Apr-2015 Taiju Tsuiki <tzik@google.com> Avoid closing invalid FD in Surface and GraphicBufferMapper

GraphicBufferMapper::lockAsync{,YCbCr} close the fence FD even when the FD
is invalid.

Change-Id: Ia2b4dae3b2c06426e34f623f19ba92435f486ab7
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
c7263fb43297744eb04b11025424c0c526d5584c 30-Apr-2015 Taiju Tsuiki <tzik@google.com> Close Fence FDs in error cases of Surface and GraphicBufferMapper

Surface::{cancel,queue}Buffer and GraphicBufferMapper::lockAsyncYCbCr take the
ownership of |fenceFd|s. Though they don't close it on error cases.

Change-Id: I49a7ce8837d5c510c4ac4ad4649f310d18610e80
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
180c2ba763c32793c6d3c5fe2683f8f2b233ca10 29-Jan-2015 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 1f9f71e1 to lmp-mr1-dev-plus-aosp

Change-Id: I627e58fe738e9a3b9831508853f26f9adc350f90
1f9f71e183946b390fff4d20900bc4a03246a882 29-Jan-2015 Lajos Molnar <lajos@google.com> GraphicBufferMapper: handle devices that do not implement lock_ycbcr

Bug: 19179927
Change-Id: I09ffca954fed3cd2d3466c8396627dc7dbc0052d
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
d31824004277f554000417cea349d69f18655e95 17-Nov-2014 Dan Stoza <stoza@google.com> libui: Enable -Weverything and -Werror

Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Change-Id: I470a267e9b1c373f2d5c960f005c3b0e02b2db63
(cherry picked from commit 303b9a51239d36d237a7d40c67b5085cdb3c1059)
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
8f3960179c56767e5077be8337792bd4e244b7d7 01-Apr-2014 Francis Hart <fhart@nvidia.com> Use asynchronous lock/unlock API

The gralloc API now provides a way for using lock/unlock with the Android
explicit synchronisation concept. This changes updates the GraphicBuffer class
to also expose this functionality, and updates the Surface class to make use of
in line with the dequeueBuffer/queueBuffer mechanism.

This new behaviour is dependent on GRALLOC_MODULE_API_VERSION_0_3. If the local
gralloc module does not support this then the existing synchronous lock/unlock
mechanism will be used.

Change-Id: I8c3fd9592e0c5400ac9be84450f55a77cc0bbdc5
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
53ec72523a4083b88eaa13e2e720976523a7ebf8 09-May-2014 Greg Hackmann <ghackmann@google.com> Revert "Use asynchronous lock/unlock API"

This reverts commit 378ef07760eda717367d9429428c42d54d54d9a7.

Change-Id: I1de5ab973b5383633e75924fe90ac3ca8216c36a
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
378ef07760eda717367d9429428c42d54d54d9a7 01-Apr-2014 Francis Hart <fhart@nvidia.com> Use asynchronous lock/unlock API

The gralloc API now provides a way for using lock/unlock with the Android
explicit synchronisation concept. This changes updates the GraphicBuffer class
to also expose this functionality, and updates the Surface class to make use of
in line with the dequeueBuffer/queueBuffer mechanism.

This new behaviour is dependent on GRALLOC_MODULE_API_VERSION_0_3. If the local
gralloc module does not support this then the existing synchronous lock/unlock
mechanism will be used.

Change-Id: I77daa1beb197b63b1c2f281b8414ac4ae4b5b03c
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
c43946b931de5dafd28f49963f9af78e05390b26 05-May-2013 Eino-Ville Talvala <etalvala@google.com> Add support for HAL_PIXEL_FORMAT_YCbCr_420_888

- Add fields to CpuConsumer::LockedBuffer for new information
- New lock methods for GraphicBuffer and GraphicBufferMapper for
the format

Bug: 8734880
Change-Id: If31f82c62d64b6942cf4cc6e5715585c03273f12
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
cf56319d4deb2215e5274f321f7fee71caa1ada1 01-Mar-2012 Mathias Agopian <mathias@google.com> add more tracing for buffer allocation

Change-Id: I8408850d0625985992ef2e2cd0c9f300b1fca293
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
e6f43ddce78d6846af12550ff9193c5c6fe5844b 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
32397c1cd3327905173b36baa6fd1c579bc328ff 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
0a757814f3e4ca4db772144e85b687fe89a7fba5 09-Dec-2010 Mathias Agopian <mathias@google.com> fix [3259708] Graphic Buffer Mapper does not support YV12

remove a bunch of a code that was there only to support broken gralloc implementations

Change-Id: I3c1a9172224cbcc283601abfbbd695a20815451f
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
b26af23744fa73e8bc142b1eb98772fde5970c10 06-Oct-2009 Mathias Agopian <mathias@google.com> fix [2168531] have software-only gralloc buffer side-step the HAL
/frameworks/native/libs/ui/GraphicBufferMapper.cpp
3330b203039dea366d4981db1408a460134b2d2c 06-Oct-2009 Mathias Agopian <mathias@google.com> fix [2167050] glTexImage2D code path buggy in SurfaceFlinger

When EGLImage extension is not available, SurfaceFlinger will fallback to using
glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an
extra copy. However this code path has never been exercised and had some bugs
which this patch fix.

Mainly the scale factor wasn't computed right when falling back on glDrawElements.
We also fallback to this mode of operation if a buffer doesn't have the adequate
usage bits for EGLImage usage.

This changes only code that is currently not executed. Some refactoring was needed to
keep the change clean. This doesn't change anything functionaly.
/frameworks/native/libs/ui/GraphicBufferMapper.cpp