Move resource checks, pipes, stages of mixer, bandwidth to a common
function and use it from all strategies.
Change-Id: I161fc957e2793d543b5943fbd23ae3607a4cfc87
For copybit cases we should clear wormhole region
rather than nonwormhole. Adding support to calculate
and clear the same.
Change-Id: Ie85d1b484174199e35f43ce95b30de1fac9c30b2
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
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
- 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
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
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
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
- Always use sourceCropF instead of sourceCrop.
- Change it to sourceCropF at places where sourceCrop
used
Change-Id: Ia64050a41a174f3f038c9b88d527d70c2240f2d9
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
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)
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)
This changes removes the use of 5551 and 4444 pixel formats
as its not supported anymore
Change-Id: I817510c3c7c0c3d95924c2ffc79e5727a6d6c48f
(cherry picked from commit 1fbd4a9662b07d53a3f220c91b3e85ca571a4938)
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
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
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
Add framebuffer to rotator map data structure if
rotator is used for pre rotating framebuffer.
Change-Id: I496656c22b289b0bb0bf8c49056384a7fad3ac7d
CRs-fixed: 569696
during actionsafe calculations, if downscale on ext is enabled, we need
to consider the physical display attributes.
Change-Id: Ia07218b0b8e47b91b0bf575c66478ebaeab2e2a4
CRs-fixed: 569152
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
Add dumpsys information from writeback data structure.
Remove some unused fields, formatting to save space.
Change-Id: I808ce67aae16e27c3aa6d6db45983929b1386b69
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
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
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