Commit Graph

504 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
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
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
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
6bc1e0f693 Merge "hwc: use sourceCropF instead of sourceCrop from hwc_layer_t" 2013-11-12 15:04:56 -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
d20b2eecc3 Merge "hwc: Punt layers with non integral source crop" 2013-11-12 15:04:50 -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
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
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
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
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
Mathias Agopian
e4001e736d get rid of HAL pixelformats 5551 and 4444
This changes removes the use of 5551 and 4444 pixel formats
as its not supported anymore

Change-Id: I817510c3c7c0c3d95924c2ffc79e5727a6d6c48f
(cherry picked from commit 1fbd4a9662b07d53a3f220c91b3e85ca571a4938)
2013-11-08 15:17:17 -08:00
Tatenda Chipeperekwa
0eca40edd2 hwc: set the secure flag for AD when secure content is present
When AD is enabled and we have secure content then the secure
flag must be set appropriately. This configures the WB session
as secure; enabling secure playback on AD.

Change-Id: I32373b4b716d5add14994f88e626ff26d2823b8b
2013-11-08 12:43:18 -08:00
Linux Build Service Account
b05ea6feb5 Merge "hwc: always enable BWC for primary" 2013-11-06 10:41:31 -08:00
Linux Build Service Account
4b437f699f Merge "hwc: Listen fb0 event for panel status" 2013-11-05 10:29:33 -08:00
Linux Build Service Account
6706b36560 Merge "overlay: writeback: Do not create writeback instance on dumpsys" 2013-11-05 10:29:03 -08:00
Linux Build Service Account
f43428a466 Merge "hwcomposer : Fix rotator fence for FB pre rotation." 2013-11-04 18:19:45 -08:00
Saurabh Shah
2b6e51951f hwc: Set DMA mode to LINE after UNSET, commit of BLOCK session
Set DMA mode to LINE only after we UNSET and commit the sessions
in BLOCK mode from previous rounds.
Currently, it is incorrectly set to LINE always at the beginning
of a draw cycle.
Now we set it to LINE only at the end of a draw cycle if no rotator
sessions are active.

Change-Id: I6e2351d214d01764eced0673b639f709fbd193c3
2013-11-04 10:10:06 -08:00
Linux Build Service Account
901cb1ac82 Merge "hwc: remove gpu fallback when there is rotation" 2013-11-04 08:45:52 -08:00
Linux Build Service Account
62abe02f12 Merge "hwc: Ignore force overlay_set on mdp3 targets" 2013-11-01 18:12:19 -07:00
Veera Sankaran
0dadfb3798 hwc: Listen fb0 event for panel status
Listen fb0 status change event for panel status. fb0 will receive
"PANEL_ALIVE=0" when panel is not responding to status call.
Call blank and unblank to reset the panel in next hwc_prepare
call.

Change-Id: I941a501a82d9f3b725660ad09631c1d8602b7325
2013-10-31 13:30:57 -07:00
Prabhanjan Kandula
db202b7016 hwcomposer : Fix rotator fence for FB pre rotation.
Add framebuffer to rotator map data structure if
rotator is used for pre rotating framebuffer.

Change-Id: I496656c22b289b0bb0bf8c49056384a7fad3ac7d
CRs-fixed: 569696
2013-11-01 00:29:10 +05:30
Arun Kumar KR
7b7f401049 hwc: handle actionsafe with downscale on ext enabled
during actionsafe calculations, if downscale on ext is enabled, we need
to consider the physical display attributes.

Change-Id: Ia07218b0b8e47b91b0bf575c66478ebaeab2e2a4
CRs-fixed: 569152
2013-10-31 11:26:48 -07:00
Saurabh Shah
7c8d34fbcc overlay: writeback: Do not create writeback instance on dumpsys
Do not create a writeback instance during dumpsys.
Instead use the dumpsys to return empty if no instance exists.
This fixes the issue where
a) Unnecessary instance is created.
b) Dumpsys has garbage, if a valid instance didn't exist

Change-Id: Ic8ea5ddd8d05203234da7c7dfccd2c2b497e62f7
2013-10-31 10:17:36 -07:00
Linux Build Service Account
d199586a7b Merge "hwcomposer : Fix cache redraw logic of MDP composition." 2013-10-30 20:57:47 -07:00
Linux Build Service Account
a2f6fffcab Merge "overlay: writeback: Add dumpsys info" 2013-10-30 20:57:35 -07:00
Linux Build Service Account
cd0ef2a41a Merge "display: Add display HAL support for msm_bronze" 2013-10-30 05:25:10 -07:00
Linux Build Service Account
a0eab66c6a Merge "hwc: Add support to smooth streaming feature." 2013-10-29 15:25:39 -07:00
Saurabh Shah
7ef9ec9011 overlay: writeback: Add dumpsys info
Add dumpsys information from writeback data structure.
Remove some unused fields, formatting to save space.

Change-Id: I808ce67aae16e27c3aa6d6db45983929b1386b69
2013-10-29 10:59:32 -07:00
Prabhanjan Kandula
2243aa6dd9 hwcomposer : Fix cache redraw logic of MDP composition.
Redraw the cache if current frame cache/drop  data doesn't
match with cached frame data. Frame buffer z-order, fbcount
and mdp count are not reliable. With same fbz, fbcount and
mdpcount it is possible that layers in previous cached
frame are not part of current frame fb cache.

Change-Id: I858228dc1a3a8ab8673ab8d294e54fdbf43cc1ad
2013-10-29 01:00:20 +05:30
Linux Build Service Account
0550811566 Merge "hwcomposer: Clear mVirtualonExtActive on EXTERNAL_OFFLINE" 2013-10-28 11:35:34 -07:00
Linux Build Service Account
5727e4b5ce Merge "hwc: Add load based partial mdp comp" 2013-10-28 11:35:32 -07:00
Tatenda Chipeperekwa
8856270bd7 hwc: always enable BWC for primary
BWC is always enabled on primary for yuv use cases. This is a
workaround for issues surrounding transitioning from non-BWC
to BWC when HDMI/WFD is disconnected.

Change-Id: I6952ef5572f925ce59cbb91c85609c1ad3172703
2013-10-25 13:51:01 -07:00
Saurabh Shah
8028e3b853 hwc: Add load based partial mdp comp
Add support for load based partial mdp comp.
This is used on geometry changes where a redraw is unavoidable.
We select a batch of layers, that has minimum pixels for FB comp,
the rest go to MDP.

Conflicts:
	libhwcomposer/hwc_utils.cpp
	libhwcomposer/hwc_utils.h

Change-Id: Ifc5eeb4785c75c37de97a2bb89ca81409d324691
2013-10-24 14:34:56 -07:00