Commit Graph

962 Commits

Author SHA1 Message Date
Saurabh Shah
173f424d32 hwc: Move resource checks to a common function.
Move resource checks, pipes, stages of mixer, bandwidth to a common
function and use it from all strategies.

Change-Id: I161fc957e2793d543b5943fbd23ae3607a4cfc87
2013-11-20 10:11:12 -08:00
Linux Build Service Account
b00ab3a987 Merge "hwcomposer : Fix copybit render buffer fence usage." 2013-11-20 06:14:17 -08:00
Linux Build Service Account
1c8bdc9009 Merge "hwc: Optimize layer drops based on ROI" 2013-11-20 01:01:05 -08:00
Linux Build Service Account
2f1421fb07 Merge "hwc: Change error messages to informative messages in HWC" 2013-11-19 22:04:32 -08:00
Linux Build Service Account
e81d8360d7 Merge "Revert "hwc: Fix Flicker on video start on MDP3 target"" 2013-11-19 09:11:05 -08:00
Linux Build Service Account
00965aa491 Merge "display : Add wormholeRegion Calculation" 2013-11-19 09:11:04 -08:00
Linux Build Service Account
e57c043432 Merge "HWC : Add support for solid fill color" 2013-11-19 09:11:03 -08:00
Linux Build Service Account
9b54c0d180 Merge "hwc: Add error check for secure layer handling" 2013-11-19 05:31:15 -08:00
Linux Build Service Account
1260859d9d Merge "hwc: Add deduction operation to Rect utils" 2013-11-19 05:31:14 -08:00
Radhika Ranjan Soni
2dc1310d5a Revert "hwc: Fix Flicker on video start on MDP3 target"
This reverts commit 8f45bf6467.
2013-11-18 05:20:03 -08:00
radhakrishna
2f00c8f9ae display : Add wormholeRegion Calculation
For copybit cases we should clear wormhole region
rather than nonwormhole. Adding support to calculate
and clear the same.

Change-Id: Ie85d1b484174199e35f43ce95b30de1fac9c30b2
2013-11-18 05:19:53 -08:00
Ramakant Singh
613e357e6a HWC : Add support for solid fill color
We are using the solid fill feature for
clearing the wormhole region using black
color.
Using the src buffer same as dst buffer to
avoid kernel checks for this use case.

Change-Id: Ia46aded9b067ece83c9df1f2c2cdd6b017fa64ea
2013-11-18 13:35:08 +05:30
Prabhanjan Kandula
5719da4034 hwcomposer : Fix copybit render buffer fence usage.
Fixing array size to hold fence fd to count of render
buffers used in copybit and use it to store
fence of corresponding render buffer at the index.

Change-Id: Ic5e7f264c2a81ded2a0f61ef138e59a093b0023a
2013-11-17 15:16:14 +05:30
Linux Build Service Account
8bad3f9144 Merge "hwc/copybit: Add Color layer support in MDP Copybit composition." 2013-11-16 15:27:23 -08:00
Arpita Banerjee
d8965989ec hwc: Change error messages to informative messages in HWC
Few error messages in HWComposer change to as informative
messages.

Change-Id: Iecd2d6c129713363d338ca7aeefbcbc422df893d
2013-11-15 18:49:08 -08:00
Linux Build Service Account
5b3c7130ed Merge "libmemtrack: Refine the feature define" 2013-11-15 03:14:30 -08:00
Jeykumar Sankaran
862d87c4e6 hwc: Optimize layer drops based on ROI
- Iterate layer list to drop layers from composition that
are not going to be visible inside the updating ROI.
 - No ROI when skip layers are present.
 - Reset dropped layer info on full GPU fallback.

Change-Id: Ib544526a8c28ffdd16b5be12f73d57d10d207c39
2013-11-14 15:03:58 -08:00
Jeykumar Sankaran
f42f0d80a4 hwc: Add error check for secure layer handling
When we try MDP composition only for secure layers, bail out if
secure layers are not present. Otherwise partial MDP composition
succeeds with all layers marked for FRAMEBUFFER.

Change-Id: I3f968835951320bb6c5873ba77fedef8a359b7bf
2013-11-14 15:03:55 -08:00
Jeykumar Sankaran
9394353e9e hwc: Add deduction operation to Rect utils
Seperate out rectangle deduction from the layer cropping. Update
layer sourceCrop and displayFrame after deducting the rect value.
This makes the function generic enough to be used by other
modules.

Change-Id: I587ac951357af823a1bf5e06c15ff47ac6a9c2a0
2013-11-14 15:03:17 -08:00
Arun Kumar K.R
23e4e2253a libmemtrack: Refine the feature define
Use appropriate name for the feature define.

Change-Id: If6b6f63a24c84f916f26043ad776084f3723137d
2013-11-13 19:04:31 -08:00
Sushil Chauhan
943797c361 hwc/copybit: Add Color layer support in MDP Copybit composition.
1. Color layer has a destination rectangle, RGBA color and plane
   alpha. There is no gralloc buffer. Layer flag HWC_COLOR_FILL
   denotes color layer. MDP BLIT happens via MDP_SOLID_FILL mode.
2. There is no color member in HWC layer, so RGBA color value is
   passed via "tranform" member from framework to HAL.
3. Update HWC query to enable framework to query for Color layer
   support in HAL, at run-time.

Change-Id: I2c698007c1689779fe86d549093bb5285432dc5f
2013-11-13 10:13:19 -08:00
Linux Build Service Account
a61b88699c Merge "libqdutils: add edid raw data reading support" 2013-11-13 04:58:00 -08:00
Linux Build Service Account
49e87b5fee Merge "libmemtrack: Add correct target information" 2013-11-13 02:44:52 -08:00
Linux Build Service Account
9df66a5e6c Merge "Initial msm8x64 memory tracker HAL" 2013-11-13 02:44:51 -08:00
Ken Zhang
61cc603656 libqdutils: add edid raw data reading support
Add API getEdidRawData to fill the input buffer with
edid raw data(640 bytes)

Change-Id: I993c3fdc01b469f65d78d8f5d05c46c54d4e580d
2013-11-12 22:20:20 -08:00
Linux Build Service Account
6bc1e0f693 Merge "hwc: use sourceCropF instead of sourceCrop from hwc_layer_t" 2013-11-12 15:04:56 -08:00
Linux Build Service Account
3d63ef1fe1 Merge "Revert "display: Video Encoding not working"" 2013-11-12 15:04:55 -08:00
Linux Build Service Account
fc69b820de Merge "hwc: Do not punt secure layers for non integral crops" 2013-11-12 15:04:53 -08:00
Linux Build Service Account
83e40d86de Merge "gralloc: Perform function to return custom stride" 2013-11-12 15:04:52 -08:00
Linux Build Service Account
d20b2eecc3 Merge "hwc: Punt layers with non integral source crop" 2013-11-12 15:04:50 -08:00
Linux Build Service Account
80db3ea80d Merge "Replace sRGB_888 with sRGB_X_8888" 2013-11-12 15:04:49 -08:00
Linux Build Service Account
3d81b1e5e1 Merge "gralloc: Add allocation support for sRGB formats" 2013-11-12 15:04:48 -08:00
Linux Build Service Account
69db2f437c Merge "gralloc: Add padding byte for YUV 420" 2013-11-12 15:04:47 -08:00
Linux Build Service Account
51c99ee35b Merge "display: Add support to HAL_PIXEL_FORMAT_NV21_ZSL format" 2013-11-12 15:04:45 -08:00
Linux Build Service Account
39003db787 Merge "hwc: Bump up version to 1.3" 2013-11-12 15:04:44 -08:00
Linux Build Service Account
6f9dd7c641 Merge "get rid of HAL pixelformats 5551 and 4444" 2013-11-12 15:04:43 -08:00
Arun Kumar K.R
4bc21ceb1c libmemtrack: Add correct target information
- Add correct target information to make file
- Remove incorrect target names in the src files
- replace sprintf(banned api) with snprintf

Change-Id: I846ff3d5dcc5acc843c2c83506deafadd30b4942
2013-11-12 10:26:24 -08:00
Colin Cross
6a530a386f Initial msm8x64 memory tracker HAL
Reads memory info from kgsl to track unaccounted for GL and ION
memory.  Right now it has to parse every allocation and then
cross-reference it against /proc/pid/smaps.  It would be faster
to modify the kgsl driver to keep counters that could just be
read directly.

Bug: 10294768
Change-Id: Icb17558f03ce53bc594fbee097e51fe82e15dc31
2013-11-12 10:25:41 -08:00
Linux Build Service Account
7f468139f7 Merge "hwc: set the secure flag for AD when secure content is present" 2013-11-11 19:40:27 -08:00
Linux Build Service Account
613d4ef24c Merge "overlay: Add API for WB clients to set secure flag for a session" 2013-11-11 19:40:26 -08:00
Arun Kumar K.R
91090c7487 hwc: use sourceCropF instead of sourceCrop from hwc_layer_t
- Always use sourceCropF instead of sourceCrop.
- Change it to sourceCropF at places where sourceCrop
  used
Change-Id: Ia64050a41a174f3f038c9b88d527d70c2240f2d9
2013-11-11 16:31:12 -08:00
Naseer Ahmed
f2feca9bcf Revert "display: Video Encoding not working"
This reverts commit 0a1db6aef28c3b90d1f992f56abc562dbae10b55.
Video encoder uses the NV12 encodeable format again.

Change-Id: I1b5170a5c2b5c7de0791cc5bc44457257519f749
2013-11-08 15:32:52 -08:00
Naseer Ahmed
e77f80877e hwc: Do not punt secure layers for non integral crops
GPU cannot handle secure layers so a black screen is seen when we
punt secure layers with non integral source crops.

Bug:11156948
Change-Id: Ie19c631aab55dc8e7c1ad5e1f42162e833f49222
2013-11-08 15:23:44 -08:00
Naseer Ahmed
a978f955cc gralloc: Perform function to return custom stride
The custom stride can be set by video for smooth streaming.
Return this in perform so that graphics can use it.

Change-Id: I798fc0894b8d9662e93769a53a540cb61b527a44
2013-11-08 15:23:34 -08:00
Naseer Ahmed
e850a8008c hwc: Punt layers with non integral source crop
The MDP driver cannot handle such layers right now. Investigate
doing this with pixel phase in the future.

Change-Id: Iabbdd0285234160770ae5a799b07a5b912e5fde3
(cherry picked from commit e6aff6414ba478312d9d4af21ab63d586594009f)
2013-11-08 15:23:22 -08:00
Jesse Hall
fbe96d2b78 Replace sRGB_888 with sRGB_X_8888
As sRGB_888 is not defined, replace it with sRGB_X_8888

Change-Id: Ie7e27ffea1ca6ec99de8e746c0f784e5fc9a4e53
(cherry picked from commit b81796dc9a0c4178004ae947e9d756c5cae6967a)
2013-11-08 15:23:10 -08:00
Naseer Ahmed
82fc4b733f gralloc: Add allocation support for sRGB formats
Refer to graphics.h for the definition of these new formats.
The HWC doesn't yet support output to these formats.

Change-Id: I14dade3412d262d853d3783ba77d559c76d331bf
(cherry picked from commit 3a63837a3d006aee3d176d379409bf3134f6189b)
2013-11-08 15:22:57 -08:00
Naseer Ahmed
2c215298e1 gralloc: Add padding byte for YUV 420
YUV 420 buffers have the chroma starting at consecutive bytes
but end at the same byte. This results in the second chroma size
being one byte shorter in size. This isn't a problem for
hardware, however, the gralloc lock_ycbcr API expects to read the
same number of bytes based on the cstride for both chroma
components. This could lead to it accessing memory beyond what is
allocated leading to a crash in the calling process especially
when the size aligns exactly to the page size. Add one byte
padding when allocating YUV buffers to make sure the users of
this gralloc API get enough bytes to read.

Bug: 10787131
Change-Id: Id18e0739f9fdc2c7a4fbe7724be668a989f1a4a1
(cherry picked from commit ca07ffae967e7137fb0d97fb9999a11c09b4a7b5)
2013-11-08 15:22:38 -08:00
Ramkumar Radhakrishnan
ff511027c4 display: Add support to HAL_PIXEL_FORMAT_NV21_ZSL format
Add Support to HAL_PIXEL_FORMAT_NV21_ZSL format in gralloc for
camera capture usecase.
This support is required because, CPP module requires 64 byte
aligned width and height to resolve corruption in bottom/left edge
of the landscape/portrait buffer.

Change-Id: Id3e0e5f3d695d5111f3469f78a1d52aad9bea4f4
(cherry picked from commit 512ee1dcef6fa47dfdcf3990fea29bd85f967f02)
2013-11-08 15:22:07 -08:00
Saurabh Shah
62e1d731cd hwc: Bump up version to 1.3
Increment hwc version to 1.3.
Create and use a converter from float source crop to integers.

Change-Id: I5e185195c975b3a9434c5d9dce9ae4757ff98739
(cherry picked from commit 7e5637c850bcdbe21784ca3bfa9668870306adff)
2013-11-08 15:17:33 -08:00