GraphicBufferAlloc.cpp 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. #include <cutils/log.h>
  18. #include <ui/GraphicBuffer.h>
  19. #include <gui/GraphicBufferAlloc.h>
  20. // ----------------------------------------------------------------------------
  21. namespace android {
  22. // ----------------------------------------------------------------------------
  23. GraphicBufferAlloc::GraphicBufferAlloc() {
  24. }
  25. GraphicBufferAlloc::~GraphicBufferAlloc() {
  26. }
  27. sp<GraphicBuffer> GraphicBufferAlloc::createGraphicBuffer(uint32_t width,
  28. uint32_t height, PixelFormat format, uint32_t usage, status_t* error) {
  29. sp<GraphicBuffer> graphicBuffer(
  30. new GraphicBuffer(width, height, format, usage));
  31. status_t err = graphicBuffer->initCheck();
  32. *error = err;
  33. if (err != 0 || graphicBuffer->handle == 0) {
  34. if (err == NO_MEMORY) {
  35. GraphicBuffer::dumpAllocationsToSystemLog();
  36. }
  37. ALOGE("GraphicBufferAlloc::createGraphicBuffer(w=%d, h=%d) "
  38. "failed (%s), handle=%p",
  39. width, height, strerror(-err), graphicBuffer->handle);
  40. return 0;
  41. }
  42. return graphicBuffer;
  43. }
  44. // ----------------------------------------------------------------------------
  45. }; // namespace android
  46. // ----------------------------------------------------------------------------