msm_media_info.h is conditionally included, but symbols within it
aren't. Since msm_media_info.h will always be available, remove
conditional inclusion.
Change-Id: I8e6cc8cb12899318e81a622b42f14e14fd0f9acb
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
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
- For TP10 Venus UBWC format, the Venus macro returns the
stride, which is 4/3 times the width.
- Need to store the pixel width instead of stride
in the private handle hence * 3/4
Change-Id: I2c1348c6b90f141ecef6cabf493780325f17db77
Crs-fixed: 1059165
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
While allocating output buffers for writeback display, check MDP
support for writeback UBWC format before assigning the format.
Change-Id: I97bb320ec89d60453c4c7e3dc5a2b5c2a18394dd
- querySDEInfo queries MDP caps to check if UBWC is supported on H/W.
- Gralloc calls querySDEInfo api to check if UBWC feature is enabled
by MDP driver.
CRs-Fixed: 1013911
Change-Id: I9114c4d8286842f19619302484ee4690c59fcb29
Many case reading the same mdp capability multiple times from
sys file causing delay in operation. Hence reading only once.
Change-Id: I1b94ca63074aba2f078fe6add5a8de628ca87740
Compute YUV plane info using buffer width and height from metadata for
UPDATE_BUFFER_GEOMETRY use case.
CRs-Fixed: 994771
Change-Id: Idb42b56be970942a79c07ceb337afa2f966e4fbc
check for target specific system property "video.disable.ubwc"
to disable UBWC for the targets where encoder doesn't
support UBWC color-format.
Change-Id: Ifd050c3b44768870fc74a16e941e8286e3ea0c13
- Define new format in gralloc_priv.h header
- Add support for HAL_PIXEL_FORMAT_BGR_565 while allocating buffers
CRs-fixed: 904907
Change-Id: I2cf3cdcfc5c89b11abc4ceb4daba77a5123ecf67
The previous check for RGB formats skipped certain formats and hence
the alignment was incorrect.
Add a check for all non-compressed RGB formats before calling
getGpuAlignedWidthHeight
CRs-fixed: 888733
Change-Id: Icae4cfb92ceae5e593fd6c5658999fc90ef97ea1
Use adreno_utils api to get stride alignment requirement by GPU for
NV21 & NV12 formats. It is required to keep Camera & Gralloc in sync.
CRs-Fixed: 880927
Change-Id: Ie71f864c975e38fe4aa58735cc8ffe9dd0734f4f
Allow UBWC, if an OpenGL client sets UBWC usage flag and GPU plus MDP
support the format. OR if a non-OpenGL client like Rotator, sets UBWC
usage flag and MDP supports the format. It de-couples the UBWC decision
for Rotator output buffer format from GPU.
Change-Id: I5e78b615f71c1781a40b8c137a37b111eb786323
Return aligned width and height in case meta operation is
UPDATE_BUFFER_GEOMETRY.
CRs-Fixed: 880373
Change-Id: I3b263518d509f4de68c93692eace3cb0b2c69808
1. Define LINEAR_FORMAT operation in MetaData.
2. VENUS ouput buffer is linear for NV12_UBWC Interlaced video playback.
So Video module performs LINEAR_FORMAT operation to set "linearFormat"
metadata member to NV12 linear format in case of Interlaced video.
3. Handle LINEAR_FORMAT metadata operation in HWC wrapper and gralloc.
CRs-Fixed: 855474
Change-Id: I77dd72bec26f225de75adb6c214ccd90db239e3e
1. Remove unused libraries libhdmi, liboverlay and libhwcomposer.
2. Remove unused functions and files from libqdutils.
2. Add querySDEInfo() function in qdutisl to query SDE capability.
Change-Id: Ibea2dd2d22fecb420079e3b7cbbcc57d10f75d49
1. Fix the missed ALIGN in getUBwcMetaBufferSize api.
2. Fix de-reference of data address pointer in getRgbDataAddress api.
Change-Id: I5dae2b6f449bb9a5b0dcc23110a2efce36060a42
Make all content protection and secure display heaps and flags
backward compatible. Honor the different requirements for master
side and slave side content protection and secure display.
Change-Id: I21a5170f2ae7ffd9c447e8af795e3665e673248f
This patch adds a new debug property
that can be used to disable UBWC compilant
allocations for graphics stack by gralloc.
Change-Id: I59e5994700730c73d62eec9f74ab6ded60c2d256
A client can call GRALLOC_MODULE_PERFORM_GET_RGB_DATA_ADDRESS api
to get RGB data address for any linear or UBWC aligned RGB buffer.
Change-Id: I3a7d25f504b7ba1dec79cc872cafbb38ddbb6bd2
* Earlier, camera preview buffers were of NV21(YCrCb_420_SP)
and the video buffers were of NV12_VENUS(YCbCr_420_SP_VENUS)
format. Now that the video encoder has support for NV21,
both the camera and video buffers can be of
NV21_VENUS(YCrCb_420_SP_VENUS) format.
* If the preview and video buffer sizes are the same,
CPP double pass to generate video and preview buffers can be
avoided and the buffers can now be generated within a single pass
with CPP duplication thereby saving power.
* Add support in gralloc for NV12_VENUS format to achieve
the same.
Change-Id: I7001f975f2cafa21c893e7384ddbddd5f2788b1d
1. Add support for RGBX_8888 UBWC in display engine and gralloc APIs.
2. Set the appropriate rotator output format for RGB* UBWC formats.
3. Move the UBWC aligned format enums in their appropriate range.
Change-Id: I0107f10894f9edbe657fce29b99f6e909c675150