Merge "HWC 1.1: add FRAMEBUFFER_TARGET layer type" into jb-mr1-dev
This commit is contained in:
@@ -115,20 +115,30 @@ typedef struct hwc_color {
|
|||||||
|
|
||||||
typedef struct hwc_layer_1 {
|
typedef struct hwc_layer_1 {
|
||||||
/*
|
/*
|
||||||
* initially set to HWC_FRAMEBUFFER or HWC_BACKGROUND.
|
* Initially set to HWC_FRAMEBUFFER, HWC_BACKGROUND, or
|
||||||
|
* HWC_FRAMEBUFFER_TARGET.
|
||||||
|
*
|
||||||
* HWC_FRAMEBUFFER
|
* HWC_FRAMEBUFFER
|
||||||
* indicates the layer will be drawn into the framebuffer
|
* Indicates the layer will be drawn into the framebuffer
|
||||||
* using OpenGL ES.
|
* using OpenGL ES. The HWC can toggle this value to HWC_OVERLAY to
|
||||||
* The HWC can toggle this value to HWC_OVERLAY, to indicate
|
* indicate it will handle the layer.
|
||||||
* it will handle the layer.
|
|
||||||
*
|
*
|
||||||
* HWC_BACKGROUND
|
* HWC_BACKGROUND
|
||||||
* indicates this is a special "background" layer. The only valid
|
* Indicates this is a special "background" layer. The only valid field
|
||||||
* field is backgroundColor. HWC_BACKGROUND can only be used with
|
* is backgroundColor. The HWC can toggle this value to HWC_FRAMEBUFFER
|
||||||
* HWC_API_VERSION >= 0.2
|
* to indicate it CANNOT handle the background color.
|
||||||
* The HWC can toggle this value to HWC_FRAMEBUFFER, to indicate
|
|
||||||
* it CANNOT handle the background color
|
|
||||||
*
|
*
|
||||||
|
* HWC_FRAMEBUFFER_TARGET
|
||||||
|
* Indicates this layer is the framebuffer surface used as the target of
|
||||||
|
* OpenGL ES composition. If the HWC sets all other layers to HWC_OVERLAY
|
||||||
|
* or HWC_BACKGROUND, then no OpenGL ES composition will be done, and
|
||||||
|
* this layer should be ignored during set(); the HWC_SKIP_LAYER flag
|
||||||
|
* will indicate this case.
|
||||||
|
*
|
||||||
|
* This flag (and the framebuffer surface layer) will only be used if the
|
||||||
|
* HWC version is HWC_DEVICE_API_VERSION_1_1 or higher. In older versions,
|
||||||
|
* the OpenGL ES target surface is communicated by the (dpy, sur) fields
|
||||||
|
* in hwc_compositor_device_1_t.
|
||||||
*/
|
*/
|
||||||
int32_t compositionType;
|
int32_t compositionType;
|
||||||
|
|
||||||
@@ -246,9 +256,13 @@ typedef struct hwc_display_contents_1 {
|
|||||||
*/
|
*/
|
||||||
int flipFenceFd;
|
int flipFenceFd;
|
||||||
|
|
||||||
/* (dpy, sur) is the target of SurfaceFlinger's OpenGL ES composition.
|
/* (dpy, sur) is the target of SurfaceFlinger's OpenGL ES composition for
|
||||||
* They aren't relevant to prepare. The set call should commit this surface
|
* HWC versions before HWC_DEVICE_VERSION_1_1. They aren't relevant to
|
||||||
* atomically to the display along with any overlay layers.
|
* prepare. The set call should commit this surface atomically to the
|
||||||
|
* display along with any overlay layers.
|
||||||
|
*
|
||||||
|
* For HWC_DEVICE_VERSION_1_1 and later, these will always be set to
|
||||||
|
* EGL_NO_DISPLAY and EGL_NO_SURFACE.
|
||||||
*/
|
*/
|
||||||
hwc_display_t dpy;
|
hwc_display_t dpy;
|
||||||
hwc_surface_t sur;
|
hwc_surface_t sur;
|
||||||
|
|||||||
@@ -89,6 +89,10 @@ enum {
|
|||||||
/* this is the background layer. it's used to set the background color.
|
/* this is the background layer. it's used to set the background color.
|
||||||
* there is only a single background layer */
|
* there is only a single background layer */
|
||||||
HWC_BACKGROUND = 2,
|
HWC_BACKGROUND = 2,
|
||||||
|
|
||||||
|
/* this layer holds the result of compositing the HWC_FRAMEBUFFER layers.
|
||||||
|
* Added in HWC_DEVICE_API_VERSION_1_1. */
|
||||||
|
HWC_FRAMEBUFFER_TARGET = 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user