diff options
author | Mathias Agopian <mathias@google.com> | 2010-10-26 12:26:23 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-10-26 12:26:23 -0700 |
commit | 32b1dd2632b2424fa4686418af622bab6b5d5cbd (patch) | |
tree | 1fbea27f3c9857d81005e0e7c2256904b8742e3d /libs/surfaceflinger_client | |
parent | 49d1735482dbcb017775b1807847e943f0a5152c (diff) | |
parent | 85c5ca07b9c6e58337a149d36bc3cecbdb879046 (diff) | |
download | frameworks_base-32b1dd2632b2424fa4686418af622bab6b5d5cbd.zip frameworks_base-32b1dd2632b2424fa4686418af622bab6b5d5cbd.tar.gz frameworks_base-32b1dd2632b2424fa4686418af622bab6b5d5cbd.tar.bz2 |
am 85c5ca07: am 2f19f56a: Merge "Updade Surface (ANativeWindow) format based on its buffers format" into gingerbread
Diffstat (limited to 'libs/surfaceflinger_client')
-rw-r--r-- | libs/surfaceflinger_client/Surface.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/surfaceflinger_client/Surface.cpp b/libs/surfaceflinger_client/Surface.cpp index 0994980..7af6ce8 100644 --- a/libs/surfaceflinger_client/Surface.cpp +++ b/libs/surfaceflinger_client/Surface.cpp @@ -867,7 +867,18 @@ int Surface::setBuffersGeometry(int w, int h, int format) return BAD_VALUE; Mutex::Autolock _l(mSurfaceLock); + if (mConnected == NATIVE_WINDOW_API_EGL) { + return INVALID_OPERATION; + } + mBufferInfo.set(w, h, format); + if (format != 0) { + // we update the format of the surface as reported by query(). + // this is to allow applications to change the format of a surface's + // buffer, and have it reflected in EGL; which is needed for + // EGLConfig validation. + mFormat = format; + } return NO_ERROR; } |