1 /*
2 **
3 ** Copyright 2012 The Android Open Source Project
4 **
5 ** Licensed under the Apache License Version 2.0(the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 ** http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing software
12 ** distributed under the License is distributed on an "AS IS" BASIS
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17
18 #include <cutils/log.h>
19
20 #include <ui/GraphicBuffer.h>
21
22 #include <gui/GraphicBufferAlloc.h>
23
24 // ----------------------------------------------------------------------------
25 namespace android {
26 // ----------------------------------------------------------------------------
27
GraphicBufferAlloc()28 GraphicBufferAlloc::GraphicBufferAlloc() {
29 }
30
~GraphicBufferAlloc()31 GraphicBufferAlloc::~GraphicBufferAlloc() {
32 }
33
createGraphicBuffer(uint32_t width,uint32_t height,PixelFormat format,uint32_t usage,status_t * error)34 sp<GraphicBuffer> GraphicBufferAlloc::createGraphicBuffer(uint32_t width,
35 uint32_t height, PixelFormat format, uint32_t usage, status_t* error) {
36 sp<GraphicBuffer> graphicBuffer(
37 new GraphicBuffer(width, height, format, usage));
38 status_t err = graphicBuffer->initCheck();
39 *error = err;
40 if (err != 0 || graphicBuffer->handle == 0) {
41 if (err == NO_MEMORY) {
42 GraphicBuffer::dumpAllocationsToSystemLog();
43 }
44 ALOGE("GraphicBufferAlloc::createGraphicBuffer(w=%d, h=%d) "
45 "failed (%s), handle=%p",
46 width, height, strerror(-err), graphicBuffer->handle);
47 return 0;
48 }
49 return graphicBuffer;
50 }
51
52 // ----------------------------------------------------------------------------
53 }; // namespace android
54 // ----------------------------------------------------------------------------
55