hardware/intel/hwcomposer
リビジョン | 27054419aeca9cf475d8418a29c315427331a1fc (tree) |
---|---|
日時 | 2013-03-07 16:14:39 |
作者 | Tapani Pälli <tapani.palli@inte...> |
コミッター | Tapani Pälli |
Update hwc and existing hooks to hwcomposer api version 1.0
Change-Id: Id0196ba03c0a33c0f86da4a3abeb6bcff5972b52
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
@@ -32,8 +32,10 @@ | ||
32 | 32 | |
33 | 33 | #include <EGL/egl.h> |
34 | 34 | |
35 | +#define HWC_REMOVE_DEPRECATED_VERSIONS 1 | |
36 | + | |
35 | 37 | struct hwc_context_t { |
36 | - hwc_composer_device_t device; | |
38 | + hwc_composer_device_1 device; | |
37 | 39 | struct drm_module_t *gralloc_module; |
38 | 40 | }; |
39 | 41 |
@@ -57,40 +59,40 @@ hwc_module_t HAL_MODULE_INFO_SYM = { | ||
57 | 59 | }; |
58 | 60 | |
59 | 61 | |
60 | -static int hwc_prepare(hwc_composer_device_t *dev, hwc_layer_list_t* list) | |
62 | +static int hwc_prepare(hwc_composer_device_1 *dev, size_t numDisplays, | |
63 | + hwc_display_contents_1_t** displays) | |
61 | 64 | { |
62 | 65 | struct hwc_context_t* ctx = (struct hwc_context_t *) &dev->common; |
63 | 66 | |
64 | 67 | // SurfaceFlinger wants to handle the complete composition |
65 | - if (!list || list->numHwLayers == 0) | |
68 | + if (!displays[0]->hwLayers || displays[0]->numHwLayers == 0) | |
66 | 69 | return 0; |
67 | 70 | |
68 | - int topmost = list->numHwLayers; | |
69 | - if (list->numHwLayers > 0) | |
71 | + int topmost = displays[0]->numHwLayers; | |
72 | + if (displays[0]->numHwLayers > 0) | |
70 | 73 | topmost--; |
71 | 74 | |
72 | - if (list->flags & HWC_GEOMETRY_CHANGED) { | |
75 | + if (displays[0]->hwLayers->flags & HWC_GEOMETRY_CHANGED) { | |
73 | 76 | for (int i=topmost; i>=0; i--) { |
74 | - list->hwLayers[i].compositionType = HWC_FRAMEBUFFER; | |
77 | + displays[0]->hwLayers[i].compositionType = HWC_FRAMEBUFFER; | |
75 | 78 | } |
76 | 79 | } |
77 | 80 | return 0; |
78 | 81 | } |
79 | 82 | |
80 | 83 | |
81 | -static int hwc_set(hwc_composer_device_t *dev, | |
82 | - hwc_display_t dpy, | |
83 | - hwc_surface_t sur, | |
84 | - hwc_layer_list_t* list) | |
84 | +static int hwc_set(hwc_composer_device_1 *dev, | |
85 | + size_t numDisplays, hwc_display_contents_1_t** displays) | |
85 | 86 | { |
86 | 87 | struct hwc_context_t* ctx = (struct hwc_context_t*)dev; |
87 | 88 | EGLBoolean success; |
88 | 89 | |
89 | 90 | // display is turning off |
90 | - if (!dpy && !sur && !list) | |
91 | + if (!displays[0]->dpy) | |
91 | 92 | return 0; |
92 | 93 | |
93 | - success = eglSwapBuffers((EGLDisplay)dpy, (EGLSurface)sur); | |
94 | + success = eglSwapBuffers((EGLDisplay)displays[0]->dpy, | |
95 | + (EGLSurface)displays[0]->sur); | |
94 | 96 | |
95 | 97 | if (!success) |
96 | 98 | return HWC_EGL_ERROR; |