Commit Graph

15 Commits

Author SHA1 Message Date
Naseer Ahmed
4c0eec9ccb gralloc1: Refactor AllocateBuffer
Remove local function that passes the full set of arguments and
always use the BufferDescriptor function instead.

CRs-Fixed: 2025984
Change-Id: Ia27885ee57cd0a5a1643420c893042f90be588cd
2017-03-28 21:11:37 -04:00
Naseer Ahmed
49f2e9c72e gralloc1: Fix for buffer mapping and metadata access
- 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
2017-03-28 21:10:43 -04:00
Naseer Ahmed
92998628b7 gralloc1: Add RAW12 format
CRs-Fixed: 2022067
Change-Id: I628387ead990d08e4f7cf61908ee13490d9af982
2017-03-21 17:34:09 -07:00
Naseer Ahmed
29a86ddd3e gralloc1: Work around handle delete by hidl wrapper
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
2017-03-20 12:26:56 -04:00
Naseer Ahmed
3a9d53a1ac gralloc1: Import ion handle into registering process
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
2017-03-20 12:19:54 -04:00
Naseer Ahmed
699b45750b gralloc1: Add additional debug logging
CRs-Fixed: 2018334
Change-Id: I4ef2613ec69ca98818ed9c4f8d2408c4df2d039e
2017-03-13 17:50:57 -04:00
Naseer Ahmed
ef287dc13d gralloc1: Use handle as map key
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
2017-03-13 17:50:57 -04:00
Naseer Ahmed
dc918136ae gralloc1: Add Dump() in buffer manager
CRs-Fixed: 2016226
Change-Id: Ia09de175b6b0c837ae9d66deb6f08615a7cf6baa
2017-03-11 23:59:06 -05:00
Naseer Ahmed
e69031e9c7 gralloc1: Add remaining functionality
* 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
2017-02-17 09:19:23 -08:00
Saurabh Shah
7d476edfb3 sdm: drm: Add support for default non-atomic mode
Add support for booting up with default non-atomic mode
Add libdrmutils that currently has:
DRMMaster:
    Creates a master DRM session
    Converts ION handles to DRM FB_ID
DRMResMgr:
    Enables a default display path by providing APIs for
    connector id, crtc id, mode etc

Change-Id: I1dc697d2cc5e3fa744c99e2c9ddd57bf06e78c4f
CRs-fixed: 1114808
2017-02-07 14:37:24 -08:00
Saurabh Shah
c5b2b70479 gralloc/qdutils: Remove unused gralloc code, add driver type check
Remove unused code related to macro tiling from galloc and qdutils.
Add API to check for driver type and query caps based on driver.

Change-Id: I36cfa5529395c69deb886080be1c904ff5c9ad15
CRs-fixed: 1109207
2017-01-28 07:23:10 -08:00
Arun Kumar K.R
b2771bff77 display: Add color Metadata
- Add color aspects and HDR10 related static metadata
  which will be used in the existing metadata structure.
- Clients can use COLOR_METADATA to update the CSC
  information
- UPDATE_COLOR_SPACE is legacy and will be used when
  COLOR_METADATA is not set.
- Update gralloc to return color space when set from
  COLOR_METADATA
- Gaurd the usage with USE_COLOR_METADATA for cobalt.

Change-Id: I460accf6cd2bb7a305c7e93284955e566a5b7532
Crs-fixed: 1074172
2016-11-14 02:16:36 -08:00
Sushil Chauhan
dfe55a2036 sdm: gralloc: Add support for Secure Camera use-case
1. Add support for Secure Camera use-case in SDM and gralloc.
2. Set the appropriate ION Heap ID, secure camera/preview ION flags
   and the alignment requirement for Secure Camera use-case.

CRs-Fixed: 1065934
Change-Id: I9e80f3093d598eec7bf717ddd0e3adbbc3382d5e
2016-11-04 06:54:20 -07:00
Ramkumar Radhakrishnan
ba55eac6ae libgralloc: Store unaligned buffer resolution in private handle.
Add unaligned_width and unaligned_height in private_handle_t to store
the buffer resolution without alignment that client asked to allocate.

Change-Id: I28d757af4178f581e6a83dc06198106c85fc7262
CRs-Fixed: 1040942
2016-09-08 15:15:49 -07:00
Prabhanjan Kandula
96e9234520 gralloc1 : initial implementation
Initial implementation of the gralloc1 APIs

Change-Id: I3b01595b0f9b30d9a08d02101fe42281556bd6a2
2016-05-11 00:49:41 +05:30