In order to build generic system image that is agnostic to SoC or
device, such HALs should be moved from system partition to vendor
partition.
HALs moved: copybit, gralloc, hwcomposer, light, memtrack, hdmi_cec
Bug: 34826389
Bug: 35232083
Test: build & run and check whether the HAL is loaded from
/vendor/lib[64]/hw.
$ su; lsof | grep hwcomposer
Change-Id: I2bb617ac71ab040a5b1ba306c194e8672ac84561
Hwc_sync is in the hotpath of display
rendering and gets called every ~17ms
during active rerendering.
Reading the property "debug.egl.swapinterval"
on every execution of hwc_sync causes a major
regression where the execution of hwc_sync
is much slower than it can be.
Doing I/O in hotpaths is inacceptable
and can cause an unnecessary constant
I/O load, additionally to the slowdown
in display rendering which was caused
in this case.
As solution, we condition this debugging
feature with "DISPLAY_DEBUG_SWAPINTERVAL",
so it can be enabled when explicitly needed.
Gralloc is not directly affected by the regression,
it was adjusted to match the conditioning
of the swapinterval debugging feature.
The HALs of msm8084,msm8226,msm8909,msm8960 and
msm8994 are affected by the regression and
get patched by this patch. Newer HALs
are not affected.
The stats contained in this patch were
collected using a Nextbit Robin (MSM8992),
which uses the msm8994 HAL.
Test: Manual testing for proper conditioning.
Test: Running full CTS suite without DISPLAY_DEBUG_SWAPINTERVAL set.
Change-Id: If08595d37ac0c1a19edd8d296289a21c9f95512a
Signed-off-by: Alex Naidis <alex.naidis@linux.com>
There could be buffers allocated in flexible YUV format that do
not have any camera usage flags. Default such buffers to NV21.
Bug: 21880984
Change-Id: Ieb659c05d0a69db815e6a3a0b1b574a746b3dc90
Video decoder advertizes standard NV12 format
(OMX_COLOR_FormatYUV420SemiPlanar) in place of TILE,
if the app requests for a linear color-format explicitly.
Accept this format keeping the size-aligment restrictions
same as NV12-TILE
Bug: 17906609
Change-Id: I9ec241608ae01a7e38f78d4dcfd66981795c2dc6
The code currently uses GNU initializers as opposed to C99 initializers.
Clang emits a warning about this, causing the -Werror build to fail.
Either variant works fine in gcc.
BUG: 18017604
Change-Id: I196b809e085637e097706557ce62462dba8b2c3d
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Remove include <linux/android_pmem.h> since it's not used and it doesn't
exist in the uapi kernel headers.
Make the include of <linux/genlock.h> conditional on USE_GENLOCK.
Bug: 11559337
Change-Id: I0eba13b71090fe29652a9794b223d577232509ac
clang 3.4 complains about the declarations happening outside of the
namespace being a C++11 extension.
Putting them into the namespace works with all compilers.
Change-Id: I7d5d840a89b16baa8553ffc69b6c57134fc36178
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Remove include <linux/android_pmem.h> since it's not used and it doesn't
exist in the uapi kernel headers.
Make the include of <linux/genlock.h> conditional on USE_GENLOCK.
Bug: 11559337
Change-Id: Iebe05f2300509c714690613342791e9ff0d3e0a9
Rename the heap_mask field in ion_allocation_data struct to heap_id_mask and
match the new kernel header.
Change-Id: I245eb01e001eb87941dfe13336e5b72c97b0778a
The custom stride can be set by video for smooth streaming.
Return this in perform so that graphics can use it.
Bug: 10192531
Change-Id: I798fc0894b8d9662e93769a53a540cb61b527a44
Refer to graphics.h for the definition of these new formats.
The HWC doesn't yet support output to these formats.
Change-Id: Ib924e7b41ccedb808631e0a23f706f3d9a209048
Display headers used by other components should be at a common
location to avoid issues with future changes in paths.
Change-Id: I9a87a2a34ac7e88019dea2ae258d611ef34df6bc
Moved msm8960 specific code in msm8960/ directory.
Moved msm8974 specific code in msm8974/ directory.
Updated Makefiles to point to correct header files.
Change-Id: I0623022f324be0ae42571660074f16afa1f71df5