summaryrefslogtreecommitdiffstats
path: root/libs/gui/GraphicBufferAlloc.cpp
diff options
context:
space:
mode:
authorJamie Gennis <jgennis@google.com>2012-12-12 10:56:42 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-12-12 10:56:42 -0800
commitc6f04666c205a72add3c856455bf212f0c84d6fc (patch)
tree415b8558b426c9f77131cdf4ff13c33498c74f84 /libs/gui/GraphicBufferAlloc.cpp
parent97eba8904c2f221c42a9473407223a4c3a213f75 (diff)
parent392edd88cb63d71a21a86a02cf9c56ac97637128 (diff)
downloadframeworks_native-c6f04666c205a72add3c856455bf212f0c84d6fc.zip
frameworks_native-c6f04666c205a72add3c856455bf212f0c84d6fc.tar.gz
frameworks_native-c6f04666c205a72add3c856455bf212f0c84d6fc.tar.bz2
Merge "SurfaceFlinger: Move GraphicBufferAlloc to libgui"
Diffstat (limited to 'libs/gui/GraphicBufferAlloc.cpp')
-rw-r--r--libs/gui/GraphicBufferAlloc.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/libs/gui/GraphicBufferAlloc.cpp b/libs/gui/GraphicBufferAlloc.cpp
new file mode 100644
index 0000000..b360e81
--- /dev/null
+++ b/libs/gui/GraphicBufferAlloc.cpp
@@ -0,0 +1,53 @@
+/*
+ **
+ ** Copyright 2012 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.
+ */
+
+#include <cutils/log.h>
+
+#include <ui/GraphicBuffer.h>
+
+#include <gui/GraphicBufferAlloc.h>
+
+// ----------------------------------------------------------------------------
+namespace android {
+// ----------------------------------------------------------------------------
+
+GraphicBufferAlloc::GraphicBufferAlloc() {
+}
+
+GraphicBufferAlloc::~GraphicBufferAlloc() {
+}
+
+sp<GraphicBuffer> GraphicBufferAlloc::createGraphicBuffer(uint32_t w, uint32_t h,
+ PixelFormat format, uint32_t usage, status_t* error) {
+ sp<GraphicBuffer> graphicBuffer(new GraphicBuffer(w, h, format, usage));
+ status_t err = graphicBuffer->initCheck();
+ *error = err;
+ if (err != 0 || graphicBuffer->handle == 0) {
+ if (err == NO_MEMORY) {
+ GraphicBuffer::dumpAllocationsToSystemLog();
+ }
+ ALOGE("GraphicBufferAlloc::createGraphicBuffer(w=%d, h=%d) "
+ "failed (%s), handle=%p",
+ w, h, strerror(-err), graphicBuffer->handle);
+ return 0;
+ }
+ return graphicBuffer;
+}
+
+// ----------------------------------------------------------------------------
+}; // namespace android
+// ----------------------------------------------------------------------------