diff options
author | Chia-I Wu <olvaffe@gmail.com> | 2009-09-16 11:19:10 +0800 |
---|---|---|
committer | Chia-I Wu <olvaffe@gmail.com> | 2009-09-18 15:32:26 +0800 |
commit | 94f9330609ec305d998e58abfddfbbdf8ae51c9d (patch) | |
tree | 0455381840b1f481b3f946371f8efe0d93613f76 /src/egl/drivers/android/droid_ui.cpp | |
parent | 08b9155eee16770c37acd126f5c542937e378e41 (diff) |
egl_android: New EGL driver for Android.
Diffstat (limited to 'src/egl/drivers/android/droid_ui.cpp')
-rw-r--r-- | src/egl/drivers/android/droid_ui.cpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/egl/drivers/android/droid_ui.cpp b/src/egl/drivers/android/droid_ui.cpp new file mode 100644 index 0000000000..6ceff1b5fb --- /dev/null +++ b/src/egl/drivers/android/droid_ui.cpp @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2009 Chia-I Wu <olvaffe@gmail.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#include <ui/PixelFormat.h> +#include <ui/ISurfaceComposer.h> + +#include "droid_ui.h" + +using namespace android; + +namespace android { + const sp<ISurfaceComposer>& _get_surface_manager(); +}; + +int +ui_auth_gpu(drm_magic_t magic) +{ + /* + * surface flinger itself or root; we might want something like + * getSurfaceFlinger() from libEGL + */ + if (getuid() == 1000 || getuid() == 0) + return 0; + + sp<ISurfaceComposer> sm(_get_surface_manager()); + if (sm == NULL) + return -ENODEV; + return sm->authGPU(magic); +} + +int ui_bytes_per_pixel(int format) +{ + return bytesPerPixel(format); +} |