diff options
| author | Romain Guy <romainguy@google.com> | 2013-05-02 17:50:23 -0700 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2013-05-02 17:50:23 -0700 |
| commit | 1212c9dafe932f70956651338568c5e1fdf21bcf (patch) | |
| tree | 33b43e4da522d418e006ec0bc352df2e095e73cb /libs/hwui | |
| parent | 877cfe0e32a845d5a58252b8a6e1f54f95b4379c (diff) | |
| download | frameworks_base-1212c9dafe932f70956651338568c5e1fdf21bcf.zip frameworks_base-1212c9dafe932f70956651338568c5e1fdf21bcf.tar.gz frameworks_base-1212c9dafe932f70956651338568c5e1fdf21bcf.tar.bz2 | |
Remove warning
Change-Id: Ia1523d02dc2b7f58ca26a142a5aef710792a5f3d
Diffstat (limited to 'libs/hwui')
| -rw-r--r-- | libs/hwui/Android.mk | 1 | ||||
| -rw-r--r-- | libs/hwui/Image.cpp | 62 | ||||
| -rw-r--r-- | libs/hwui/Image.h | 40 |
3 files changed, 65 insertions, 38 deletions
diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk index 3433d0e..771ac45 100644 --- a/libs/hwui/Android.mk +++ b/libs/hwui/Android.mk @@ -22,6 +22,7 @@ ifeq ($(USE_OPENGL_RENDERER),true) Extensions.cpp \ FboCache.cpp \ GradientCache.cpp \ + Image.cpp \ Layer.cpp \ LayerCache.cpp \ LayerRenderer.cpp \ diff --git a/libs/hwui/Image.cpp b/libs/hwui/Image.cpp new file mode 100644 index 0000000..35ca40d --- /dev/null +++ b/libs/hwui/Image.cpp @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#define LOG_TAG "OpenGLRenderer" + +#include <utils/Log.h> + +#include "Image.h" + +namespace android { +namespace uirenderer { + +Image::Image(sp<GraphicBuffer> buffer) { + // Create the EGLImage object that maps the GraphicBuffer + EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); + EGLClientBuffer clientBuffer = (EGLClientBuffer) buffer->getNativeBuffer(); + EGLint attrs[] = { EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE }; + + mImage = eglCreateImageKHR(display, EGL_NO_CONTEXT, + EGL_NATIVE_BUFFER_ANDROID, clientBuffer, attrs); + + if (mImage == EGL_NO_IMAGE_KHR) { + ALOGW("Error creating image (%#x)", eglGetError()); + mTexture = 0; + } else { + // Create a 2D texture to sample from the EGLImage + glGenTextures(1, &mTexture); + glBindTexture(GL_TEXTURE_2D, mTexture); + glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, mImage); + + GLenum status = GL_NO_ERROR; + while ((status = glGetError()) != GL_NO_ERROR) { + ALOGW("Error creating image (%#x)", status); + } + } +} + +Image::~Image() { + if (mImage != EGL_NO_IMAGE_KHR) { + eglDestroyImageKHR(eglGetDisplay(EGL_DEFAULT_DISPLAY), mImage); + mImage = EGL_NO_IMAGE_KHR; + + glDeleteTextures(1, &mTexture); + mTexture = 0; + } +} + +}; // namespace uirenderer +}; // namespace android diff --git a/libs/hwui/Image.h b/libs/hwui/Image.h index 3f2978f..2514535 100644 --- a/libs/hwui/Image.h +++ b/libs/hwui/Image.h @@ -17,8 +17,6 @@ #ifndef ANDROID_HWUI_IMAGE_H #define ANDROID_HWUI_IMAGE_H -#define LOG_TAG "OpenGLRenderer" - #include <EGL/egl.h> #include <EGL/eglext.h> @@ -27,8 +25,6 @@ #include <ui/GraphicBuffer.h> -#include <utils/Log.h> - namespace android { namespace uirenderer { @@ -42,40 +38,8 @@ public: * cannot be created, getTexture() will return 0 and getImage() will * return EGL_NO_IMAGE_KHR. */ - Image(sp<GraphicBuffer> buffer) { - // Create the EGLImage object that maps the GraphicBuffer - EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); - EGLClientBuffer clientBuffer = (EGLClientBuffer) buffer->getNativeBuffer(); - EGLint attrs[] = { EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE }; - - mImage = eglCreateImageKHR(display, EGL_NO_CONTEXT, - EGL_NATIVE_BUFFER_ANDROID, clientBuffer, attrs); - - if (mImage == EGL_NO_IMAGE_KHR) { - ALOGW("Error creating image (%#x)", eglGetError()); - mTexture = 0; - } else { - // Create a 2D texture to sample from the EGLImage - glGenTextures(1, &mTexture); - glBindTexture(GL_TEXTURE_2D, mTexture); - glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, mImage); - - GLenum status = GL_NO_ERROR; - while ((status = glGetError()) != GL_NO_ERROR) { - ALOGW("Error creating image (%#x)", status); - } - } - } - - ~Image() { - if (mImage != EGL_NO_IMAGE_KHR) { - eglDestroyImageKHR(eglGetDisplay(EGL_DEFAULT_DISPLAY), mImage); - mImage = EGL_NO_IMAGE_KHR; - - glDeleteTextures(1, &mTexture); - mTexture = 0; - } - } + Image(sp<GraphicBuffer> buffer); + ~Image(); /** * Returns the name of the GL texture that can be used to sample |
