Loading include/gui/SurfaceTextureClient.h +4 −1 Original line number Diff line number Diff line Loading @@ -65,6 +65,8 @@ private: int dispatchDisconnect(va_list args); int dispatchSetBufferCount(va_list args); int dispatchSetBuffersGeometry(va_list args); int dispatchSetBuffersDimensions(va_list args); int dispatchSetBuffersFormat(va_list args); int dispatchSetBuffersTransform(va_list args); int dispatchSetBuffersTimestamp(va_list args); int dispatchSetCrop(va_list args); Loading @@ -73,7 +75,8 @@ private: int connect(int api); int disconnect(int api); int setBufferCount(int bufferCount); int setBuffersGeometry(int w, int h, int format); int setBuffersDimensions(int w, int h); int setBuffersFormat(int format); int setBuffersTransform(int transform); int setBuffersTimestamp(int64_t timestamp); int setCrop(Rect const* rect); Loading libs/gui/SurfaceTextureClient.cpp +38 −5 Original line number Diff line number Diff line Loading @@ -254,6 +254,12 @@ int SurfaceTextureClient::perform(int operation, va_list args) case NATIVE_WINDOW_SET_BUFFERS_TIMESTAMP: res = dispatchSetBuffersTimestamp(args); break; case NATIVE_WINDOW_SET_BUFFERS_DIMENSIONS: res = dispatchSetBuffersDimensions(args); break; case NATIVE_WINDOW_SET_BUFFERS_FORMAT: res = dispatchSetBuffersFormat(args); break; default: res = NAME_NOT_FOUND; break; Loading Loading @@ -290,7 +296,22 @@ int SurfaceTextureClient::dispatchSetBuffersGeometry(va_list args) { int w = va_arg(args, int); int h = va_arg(args, int); int f = va_arg(args, int); return setBuffersGeometry(w, h, f); int err = setBuffersDimensions(w, h); if (err != 0) { return err; } return setBuffersFormat(f); } int SurfaceTextureClient::dispatchSetBuffersDimensions(va_list args) { int w = va_arg(args, int); int h = va_arg(args, int); return setBuffersDimensions(w, h); } int SurfaceTextureClient::dispatchSetBuffersFormat(va_list args) { int f = va_arg(args, int); return setBuffersFormat(f); } int SurfaceTextureClient::dispatchSetBuffersTransform(va_list args) { Loading Loading @@ -390,12 +411,12 @@ int SurfaceTextureClient::setBufferCount(int bufferCount) return err; } int SurfaceTextureClient::setBuffersGeometry(int w, int h, int format) int SurfaceTextureClient::setBuffersDimensions(int w, int h) { LOGV("SurfaceTextureClient::setBuffersGeometry"); LOGV("SurfaceTextureClient::setBuffersDimensions"); Mutex::Autolock lock(mMutex); if (w<0 || h<0 || format<0) if (w<0 || h<0) return BAD_VALUE; if ((w && !h) || (!w && h)) Loading @@ -403,7 +424,6 @@ int SurfaceTextureClient::setBuffersGeometry(int w, int h, int format) mReqWidth = w; mReqHeight = h; mReqFormat = format; status_t err = mSurfaceTexture->setCrop(Rect(0, 0)); LOGE_IF(err, "ISurfaceTexture::setCrop(...) returned %s", strerror(-err)); Loading @@ -411,6 +431,19 @@ int SurfaceTextureClient::setBuffersGeometry(int w, int h, int format) return err; } int SurfaceTextureClient::setBuffersFormat(int format) { LOGV("SurfaceTextureClient::setBuffersFormat"); Mutex::Autolock lock(mMutex); if (format<0) return BAD_VALUE; mReqFormat = format; return NO_ERROR; } int SurfaceTextureClient::setBuffersTransform(int transform) { LOGV("SurfaceTextureClient::setBuffersTransform"); Loading libs/ui/FramebufferNativeWindow.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,7 @@ int FramebufferNativeWindow::perform(ANativeWindow* window, { switch (operation) { case NATIVE_WINDOW_SET_USAGE: case NATIVE_WINDOW_SET_BUFFERS_FORMAT: case NATIVE_WINDOW_CONNECT: case NATIVE_WINDOW_DISCONNECT: break; Loading opengl/libs/EGL/eglApi.cpp +6 −1 Original line number Diff line number Diff line Loading @@ -367,7 +367,12 @@ EGLSurface eglCreateWindowSurface( EGLDisplay dpy, EGLConfig config, if (cnx->egl.eglGetConfigAttrib(iDpy, iConfig, EGL_NATIVE_VISUAL_ID, &format)) { if (format != 0) { native_window_set_buffers_geometry(window, 0, 0, format); int err = native_window_set_buffers_format(window, format); if (err != 0) { LOGE("error setting native window pixel format: %s (%d)", strerror(-err), err); return setError(EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE); } } } Loading Loading
include/gui/SurfaceTextureClient.h +4 −1 Original line number Diff line number Diff line Loading @@ -65,6 +65,8 @@ private: int dispatchDisconnect(va_list args); int dispatchSetBufferCount(va_list args); int dispatchSetBuffersGeometry(va_list args); int dispatchSetBuffersDimensions(va_list args); int dispatchSetBuffersFormat(va_list args); int dispatchSetBuffersTransform(va_list args); int dispatchSetBuffersTimestamp(va_list args); int dispatchSetCrop(va_list args); Loading @@ -73,7 +75,8 @@ private: int connect(int api); int disconnect(int api); int setBufferCount(int bufferCount); int setBuffersGeometry(int w, int h, int format); int setBuffersDimensions(int w, int h); int setBuffersFormat(int format); int setBuffersTransform(int transform); int setBuffersTimestamp(int64_t timestamp); int setCrop(Rect const* rect); Loading
libs/gui/SurfaceTextureClient.cpp +38 −5 Original line number Diff line number Diff line Loading @@ -254,6 +254,12 @@ int SurfaceTextureClient::perform(int operation, va_list args) case NATIVE_WINDOW_SET_BUFFERS_TIMESTAMP: res = dispatchSetBuffersTimestamp(args); break; case NATIVE_WINDOW_SET_BUFFERS_DIMENSIONS: res = dispatchSetBuffersDimensions(args); break; case NATIVE_WINDOW_SET_BUFFERS_FORMAT: res = dispatchSetBuffersFormat(args); break; default: res = NAME_NOT_FOUND; break; Loading Loading @@ -290,7 +296,22 @@ int SurfaceTextureClient::dispatchSetBuffersGeometry(va_list args) { int w = va_arg(args, int); int h = va_arg(args, int); int f = va_arg(args, int); return setBuffersGeometry(w, h, f); int err = setBuffersDimensions(w, h); if (err != 0) { return err; } return setBuffersFormat(f); } int SurfaceTextureClient::dispatchSetBuffersDimensions(va_list args) { int w = va_arg(args, int); int h = va_arg(args, int); return setBuffersDimensions(w, h); } int SurfaceTextureClient::dispatchSetBuffersFormat(va_list args) { int f = va_arg(args, int); return setBuffersFormat(f); } int SurfaceTextureClient::dispatchSetBuffersTransform(va_list args) { Loading Loading @@ -390,12 +411,12 @@ int SurfaceTextureClient::setBufferCount(int bufferCount) return err; } int SurfaceTextureClient::setBuffersGeometry(int w, int h, int format) int SurfaceTextureClient::setBuffersDimensions(int w, int h) { LOGV("SurfaceTextureClient::setBuffersGeometry"); LOGV("SurfaceTextureClient::setBuffersDimensions"); Mutex::Autolock lock(mMutex); if (w<0 || h<0 || format<0) if (w<0 || h<0) return BAD_VALUE; if ((w && !h) || (!w && h)) Loading @@ -403,7 +424,6 @@ int SurfaceTextureClient::setBuffersGeometry(int w, int h, int format) mReqWidth = w; mReqHeight = h; mReqFormat = format; status_t err = mSurfaceTexture->setCrop(Rect(0, 0)); LOGE_IF(err, "ISurfaceTexture::setCrop(...) returned %s", strerror(-err)); Loading @@ -411,6 +431,19 @@ int SurfaceTextureClient::setBuffersGeometry(int w, int h, int format) return err; } int SurfaceTextureClient::setBuffersFormat(int format) { LOGV("SurfaceTextureClient::setBuffersFormat"); Mutex::Autolock lock(mMutex); if (format<0) return BAD_VALUE; mReqFormat = format; return NO_ERROR; } int SurfaceTextureClient::setBuffersTransform(int transform) { LOGV("SurfaceTextureClient::setBuffersTransform"); Loading
libs/ui/FramebufferNativeWindow.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,7 @@ int FramebufferNativeWindow::perform(ANativeWindow* window, { switch (operation) { case NATIVE_WINDOW_SET_USAGE: case NATIVE_WINDOW_SET_BUFFERS_FORMAT: case NATIVE_WINDOW_CONNECT: case NATIVE_WINDOW_DISCONNECT: break; Loading
opengl/libs/EGL/eglApi.cpp +6 −1 Original line number Diff line number Diff line Loading @@ -367,7 +367,12 @@ EGLSurface eglCreateWindowSurface( EGLDisplay dpy, EGLConfig config, if (cnx->egl.eglGetConfigAttrib(iDpy, iConfig, EGL_NATIVE_VISUAL_ID, &format)) { if (format != 0) { native_window_set_buffers_geometry(window, 0, 0, format); int err = native_window_set_buffers_format(window, format); if (err != 0) { LOGE("error setting native window pixel format: %s (%d)", strerror(-err), err); return setError(EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE); } } } Loading