sf: Invalidate and Delay eDisplayProjectionChanged binder transaction.

Invalidate and Delay the binder thread by 50 ms on
eDisplayProjectionChanged to trigger a draw cycle, so that it can fix
one incorrect frame on External, when we disable external animation.

Change-Id: I8d10aa8d943e9016f6ab81a5351d8286cdc4d2c6
Ensure non-WFD virtual displays are composed using GLES

* For non-WFD Virtual Displays like
"Simulated Secondary Displays" and "screenrecoder",
ensure that VirtualDisplaySurface is created irrespective
of whether WFD is active or not.

* Since WFD can be connected at any point of time and
because only one virtual display can be supported by HWC
fallback to GLES for non-WFD virtual displays.

* This is a temporary workaround until we move to
support WFD using OMX encoder

Change-Id: Iaf48d3928daa303c4bf95d57539ad3b001a213f3
Merge "Ensure non-WFD virtual displays are composed using GLES"
Merge "sf: Invalidate and Delay eDisplayProjectionChanged binder transaction."
Dolby:  Add enum for Dolby DDP coding type

- Add OMX_AUDIO_CodingDDP in OMX_AUDIO_CODINGTYPE
  to support  Dolby DS1

Change-Id: I765e901fbf1e09d649a349ba69f2bf137f5cfc26
Merge "Dolby:  Add enum for Dolby DDP coding type"
SF: Block gpu rendering for virtual display widevine level3

In MPD3 we are using the widevine level3 for secure content
display. And this should applicable only for primary display
not for screen shot or screen recording.

CRs-Fixed: 595469
Change-Id: I99be2d81287ab746d5c4a2375c3106c59e61a8fc
Merge "SF: Block gpu rendering for virtual display widevine level3"
Revert "Ensure non-WFD virtual displays are composed using GLES"

This reverts commit 081a16576c28b339931cc7a5af15d5ee7e5313a2.

We cannot rely on the names of the DisplayDevices,to distinguish
between WFD/Non-WFD virtual displays,since they can change based
on the language settings

Change-Id: I7fadc5f8ed956a678e007f31c696db9fb3a93b78
Merge "Revert "Ensure non-WFD virtual displays are composed using GLES""
SF: Ensure boot animation always appears in panel orientation

Ensure that boot animation is always shown in panel
orientation.

Change-Id: I36a75ba5aea803a7b7cace3335a0d7f730612c5d
CRs-Fixed: 604934
Display: Add swaprect feature for MDP composition.

Add swaprect feature for MDP composition.
SwapRect is a SurfaceFlinger feature for selective composition
of only thedirty region.
* Existing SF does copying of the complete layer for every
 layer (in effect the full screen) whether or not the layer's
 information has changed (dirty region).
This is very inefficient use of compositing hardware (MDP/GPU).
* At the app level, we're doing dirty region rendering (App only
renders what is changed) using the feature "Dirty Region Rendering".
So, at the app level we know what has changed (dirty region) per
 layer. But SurfaceFlinger doesn't know this info and hence it's
 not able to use dirty region for selective composition and ends up
 compositing full screen.
* For SurfaceFlinger to composite only the dirty region
   1. It needs to know the dirty region (This needs to be passed
      down from the app)
   2. It needs to pass this info to the actual compositing hardware
     (MDP / GPU) so that the hw can do selective composition
* SWAPRECT feature needs to implement 1 & 2.
* 1 is common for all composition types whereas 2 is different
 for each composition type
This change implements 2 for MDP composition
* We've also added strong checks in the feature to make sure the
 feature kicks in only for the UX scenario's where performance
 improvement is expected and no functionality issue would arise.
To enable MDP Swaprect, setprop debug.sf.swaprect 1 and restart
framework.

Change-Id: Iac67acffcd4de1413cdbe0f15a278cc2cd54206f
Merge "Display: Add swaprect feature for MDP composition."
Merge "SF: Ensure boot animation always appears in panel orientation"
SF: Add flag for swaprect status in HAL

We need to check in HAL whether swap rect
is enable or disable to calculate wormhole region.

Change-Id: I4fbff4119856e41694e2065141b40fdd7a15f375
Display: Define new composition type for blit composition

This change defines a new flag 'hasBlitComp' to identify
blit composition. This flag is used to enable the swap rect
feature for blit composition cases.

Change-Id: Ic523e19796a893efbfc3bff300d1f982cba5ddfa
Revert "Add sessionId metadata with every buffer queued through Surface"

This reverts commit 85743373ed7d4eb6cb58412bda6c74f9ee29f06f.
This change is no longer needed

Conflicts:
	include/gui/Surface.h

Change-Id: Ia5612b42f081236db65ac8eef9d359dfd23f4117
Merge "SF: Add flag for swaprect status in HAL"
Merge "Display: Define new composition type for blit composition"
Merge "Revert "Add sessionId metadata with every buffer queued through Surface""