Add support for single buffer layers. Graphics writes to the same
buffer being read by display. For dumb panels, there should be no
idle mode, smart panels should be put in an auto-refresh mode. Also
such layers cannot be sent to framebuffer.
Change-Id: Id4f15239d8edc258524dfddd4e9d72c67cd2406f
CRs-fixed: 1114808
Add support for P010 Venus video format in SDM. Handle Qualcomm Venus
h/w video decoder aligned P010 buffer format.
Change-Id: I3edf21a5c3d90556c69c9944558398b65e4ed1e5
CRs-Fixed: 2149780
* Do not log error on invalid metadata fds, such usages are
possible in some scenarios
* Correct usage of metadata API for some cases.
CRs-Fixed: 2122143
Change-Id: Id9cc7f4d27ef1890668f414d92b96cd419b6a066
1. Define gralloc1 function pointers needed to allocate buffer
2. Use the gralloc1 function pointers to allocate buffer instead of
perform function to avoid any synchronization issues.
3. Remove functionality to allocate buffer from perform function
Change-Id: If686181409a179d3d911dfbd0f0c0eab7a7ffa99
CRs-Fixed: 2115331
During buffer allocation, the aligned size of the buffer should
be updated in newly allocated native handle (private_handle_t)
before returning the native handle to the caller. Secure
playback has strict requirement like 1M aligned size, so
secure playback fails if the aligned size of buffer is not
updated in handle before returning to the caller.
Change-Id: I8d8da13048b8423c07ebb3a3923fb331e06e3db1
- Use right property to disable ubwc for fb target.
- Remove unused property from gralloc1.
Change-Id: I4235d8898bcae1e16d7dbcc92d8d7a021ef9a052
CRs-fixed: 2073135
Initialize stride/height with width/height of handle by default to
avoid returning invalid values to the client.
Change-Id: Iefa488fb50bbbb6aa9c6daf86af3f64092e56344
CRs-Fixed: 2073298
Client allocated handles give us a dup'd fd so we can
retain/release normally.
Change-Id: I0ec7cb6b86cbf23c160a81750144b5ca751c4104
Bug: 62470929
CRs-Fixed: 2060697
The get custom stride and height perform api is updated to
calculate aligned width and height for ubwc interlaced layout.
Change-Id: Ibb595ae6bc3bea7dd6abcc6ed6f80ba7c7577fba
CRs-Fixed: 2062852
Add new perform operation to indicate if the buffer is
interlaced. Update get yuv plane info operation to provide
info for ubwc interlaced layout.
Change-Id: I025ace1928d35e053a0cf32eafe51ee2dd4ac537
CRs-fixed: 2055788
* These buffers can have any RGB format
* Should not use UBWC
* Should be uncached
* 4k aligned
CRs-Fixed: 2037674
Change-Id: I49c88b1914f8a4247137ae5b64276f0346977a71
* Separate buffer lock and descriptor lock
* Add lock for allocation as we touch the handles_map
Change-Id: I2baf7a65f55b04f1bbbfbf78a19c0e288040fab7
CRs-Fixed: 2037173
--For gralloc1, create a libgrallocutils that provides helpers to
calculate various buffer related info
--Make hwc2/gralloc1 structures independent of libdrmutils
and fb_id / gemhandles
--Implement GetBufferLayout API from BufferAllocator that can be called
by DAL before creating fb_id
Change-Id: I0aede7d1ea87302ecda593047728d381383484b9
CRs-fixed: 1114808
Remove local function that passes the full set of arguments and
always use the BufferDescriptor function instead.
CRs-Fixed: 2025984
Change-Id: Ia27885ee57cd0a5a1643420c893042f90be588cd
- Don't mmap in the allocator process as it is unnecessary
- Fix MetaData access through getMetaData API
- Eventually we need to remove the MapBuffer in RetainBuffer to
fix 35955598.
Acked-by: Prabhanjan Kandula <pkandula@codeaurora.org>
CRs-Fixed: 2025987
Change-Id: I3d3a0edcf6ec93e827582010f6936361cb3790dd
This works around bug 36355756. Initializing the fds in the
handle to -1 before deleting is probably good practice anyway.
The handle delete needs to move to gralloc1 FreeBuffer() but
currently the client does it.
CRs-Fixed: 2022058
Change-Id: I4ae51e4cd90adb709287a01d66138df51924af8c
Importing the ion handle when retain() is called validates the
incoming ion fd and holds the client process accountable for
releasing the handle once it's done.
CRs-Fixed: 2020175
Change-Id: I3a169983b6d6b201d044e1c777a631aa16f9cb9a
The handle map is process local and the id may not be unique for
a given process
Bug: 36135145
CRs-Fixed: 2018333
Change-Id: Ic2bba13107787fd54121c978bff7e507eeb7dd64
* Use private_0 flag
* Add some legacy flags to be used during transition
* Fix gralloc module version
* Adjust makefiles for gralloc1
* Add support for dump, num flex planes and lock flex.
* Use a unique ID for buffer descriptors
* Do not delete buffer handle, fix after verifying framework fix.
* Current gralloc1 clients do not conform to the lock() requirement
in the gralloc1 header. Tracked in b/33588773
* Add perform APIs to get the buffer size and allocate a buffer
for use by SDM
* Fix reference counting
* Add a unique buffer ID
* Some cleanup in private_handle
* Create a wrapper class of private_handle to do refcounting
* Resolve implementation defined formats At allocation time, update buffer
descriptors to replace implementation defined formats with the ones we mean
to allocate
* Defer ion handle release
* Remove unused drm code.
* Add legacy constructor for private_handle_t used by some
clients
CRs-Fixed: 2007391
Change-Id: Ia9e816cec35ba45483a5b75d99f256325a010138