• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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,std::string requestorName,status_t * error)34 sp<GraphicBuffer> GraphicBufferAlloc::createGraphicBuffer(uint32_t width,
35         uint32_t height, PixelFormat format, uint32_t usage,
36         std::string requestorName, status_t* error) {
37     sp<GraphicBuffer> graphicBuffer(new GraphicBuffer(
38             width, height, format, usage, std::move(requestorName)));
39     status_t err = graphicBuffer->initCheck();
40     *error = err;
41     if (err != 0 || graphicBuffer->handle == 0) {
42         if (err == NO_MEMORY) {
43             GraphicBuffer::dumpAllocationsToSystemLog();
44         }
45         ALOGE("GraphicBufferAlloc::createGraphicBuffer(w=%d, h=%d) "
46              "failed (%s), handle=%p",
47                 width, height, strerror(-err), graphicBuffer->handle);
48         return 0;
49     }
50     return graphicBuffer;
51 }
52 
53 // ----------------------------------------------------------------------------
54 }; // namespace android
55 // ----------------------------------------------------------------------------
56