History log of /external/drm_hwcomposer/platformnv.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d6ad94289ec909359d51eb1b605680cb5f223111 29-Aug-2017 Adrian Salido <salidoa@google.com> drm_hwcomposer: enumerate additional formats for tegra downscale limits

There are additional formats that can be provided and are not handled.

Bug: 36731060
Change-Id: I9f1356762df71e38402ad01f96a650adf2a3cbdc
Signed-off-by: Adrian Salido <salidoa@google.com>
/external/drm_hwcomposer/platformnv.cpp
a79125844f52e3d9c01f896b3eacc229b9978bb8 22-Aug-2017 Adrian Salido <salidoa@google.com> drm_hwcomposer: skip layers with non-premult blending

Tegra driver assumes that all layers with alpha component have premult
alpha. This can cause issues if blending is different since the alpha
component is supposed to be ignored in that case.

Fixes: 62401826
Test: share location in hangouts and drag around map

Change-Id: Iff870697f7efbf5d075a5925d63a8f0f672ee725
Signed-off-by: Adrian Salido <salidoa@google.com>
/external/drm_hwcomposer/platformnv.cpp
9cc83934f92aab292f16213c1b716e8ecfcb5875 22-Aug-2017 Adrian Salido <salidoa@google.com> DO NOT MERGE: revert HWC2 changes

The changes are causing some issues with multi-window use cases.

Fixes: 64491794
Test: test gmail compose in multi-window + show taps enabled

Change-Id: I0b0a3f351ed48f81db89a71c78bf17bab8cb2acf
Signed-off-by: Adrian Salido <salidoa@google.com>
/external/drm_hwcomposer/platformnv.cpp
ee24aca7b8fbceab1011a4bb36b0baff08d9cdbc 18-Jul-2017 Adrian Salido <salidoa@google.com> drm_hwcomposer: add checks for tegra hardware limitation

Current approach is to allow atomic_check figure out any issues with
composition strategy and fallback to squash if there the atomic_check
fails. This leads to issues when there's a protected content as it
cannot be handled in squash.

Adding a new provisioning stage to check for hardware limitations and
address them early so a proper fall back can be in place.

Bug: 36731060
Change-Id: I6482953044bcea9c9a655f28672927b32ac57097
/external/drm_hwcomposer/platformnv.cpp
90f92d863c6ec50b1124a540f46cd74b1dedcfba 19-Oct-2016 Rob Clark <robdclark@gmail.com> drm_hwcomposer: Move eglCreateImageKHR into Importer

Since NV has a "special" nonstandard way to get an EGLImage from a
handle, move this into Importer where the other NV specialness is
abstracted. For the platformdrmgeneric case, use the dmabuf EGL
Extension.

Change-Id: I5353f4c95f55174df55ba92931cdc9a9eab80dca
Signed-off-by: Robert Foss <robert.foss@collabora.com>
/external/drm_hwcomposer/platformnv.cpp
45002321ef3a9023642cfb9854eb4171fa5653cb 11-Apr-2017 Adrian Salido <salidoa@google.com> drm_hwcomposer: fix pre comp regions during protected playback

During protected video playback an issue could happen when there are layers
below the protected video surface. The current logic in protected plane
provisioning logic includes all layers below the protected layer in precomp
plane in order to draw holes in these. However, when there are other layers in
place, in particular one that has blending (ex. PREMULT). For example:

Layers: count=3
[0] blending[a=255]=NONE display_frame[x/y/w/h]=0/125/2560/1438
[1] protected blending[a=255]=NONE display_frame[x/y/w/h]=0/181/2560/1438
[2] blending[a=255]=PREMULT display_frame[x/y/w/h]=0/0/2560/1800
Planes: count=3
[0] plane=17 type=LAYER source_layer=1
[1] plane=22 type=LAYER source_layer=2
[2] plane=23 type=PRECOMP source_layer=0
Squash Regions: count=0
Pre-Comp Regions: count=0

In this case, layer[0] is below protected surface (layer[1]). This causes
issues because precomp plane is setup to be on the highest z-order all the
time, and any time it isn't it expects any layers with higher z-order will
obscure some contents of the precomp layer. But in this case the layer on top
(layer[2]) has blending enabled (PREMULT) and is transparent so expectation is
that layer[0] is also rendered and blended with layer[2].

By merging any layer that is of higher z-order (layer[2] in example) to precomp
plane, all these layers can be handled during pre composition.

Bug: 36879178
Change-Id: I9b63b37fef0ae828c4a781e0d1da264d8a3d7a76
/external/drm_hwcomposer/platformnv.cpp
4c4646e7b8a5cffdc8a2d53374b5340c07d14012 10-May-2016 Sean Paul <seanpaul@chromium.org> drm_hwcomposer: Introduce Planner interface

This patch introduces a new Planner interface to the platform specific
code. This new interface will allow for platform-specific plane provisioning
decisions to cover various hardware quirks.

Each platform must provide a Planner with one or more PlanStage steps. These
stages are run in order and are used to move the given layers onto composition
planes.

There are two generic stages provided by the platform:
- Protected: Places layers on dedicated planes
- Greedy: Provisions as many layers to planes and sticks the rest in precomp

There is also one platform-specific stage included:
- ProtectedRotated: Places any protected & rotated layer on the primary plane

BUG=b/28117135
TEST=Tested on ryu with a variety of window layouts

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: Ib6062ab4779166753afaf122450bb63126bf9161
/external/drm_hwcomposer/platformnv.cpp
0aee6b2afa33652722641cbf3d4cc1689e1baa1b 10-May-2016 Sean Paul <seanpaul@chromium.org> drm_hwcomposer: Update platform log tags

So they now say "platform" instead of "importer"

BUG=b/28117135
TEST=None

Change-Id: I7fe6bc7d31ca448ef561d78f7806fa487eb612f6
Signed-off-by: Sean Paul <seanpaul@chromium.org>
/external/drm_hwcomposer/platformnv.cpp
b0acc54a88ae3a970da48fba9ba0e1dfc5116132 22-Apr-2016 Sean Paul <seanpaul@chromium.org> drm_hwcomposer: Move drmgeneric and nv importer cpp files

Final step in the platform renaming, move the drmgeneric and
nvimporter files to their new place.

BUG=b/28117135
TEST=compiles

Change-Id: Ied60a82526f42f13a64192373cb49f3dfffef74f
Signed-off-by: Sean Paul <seanpaul@chromium.org>
/external/drm_hwcomposer/platformnv.cpp