diff options
author | Mathias Agopian <mathias@google.com> | 2012-09-20 16:54:14 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2012-09-20 17:13:58 -0700 |
commit | f33e4b6f13bc3ee2d2a4e1abd1ada171c70d3492 (patch) | |
tree | 429f08a84a019a3ea3231e9654908352a2776625 /services/surfaceflinger/DisplayHardware | |
parent | 70f93fb5c2004c0fe2bd33f106358d516bb615f8 (diff) | |
download | frameworks_native-f33e4b6f13bc3ee2d2a4e1abd1ada171c70d3492.zip frameworks_native-f33e4b6f13bc3ee2d2a4e1abd1ada171c70d3492.tar.gz frameworks_native-f33e4b6f13bc3ee2d2a4e1abd1ada171c70d3492.tar.bz2 |
GraphicBufferAlloc class was declared twice
this was confusing because the one in FramebufferSurface
wasn't in fact being used
Change-Id: Ied45aec20d804cfbe52440f9b2f2852a85c757cf
Diffstat (limited to 'services/surfaceflinger/DisplayHardware')
3 files changed, 98 insertions, 12 deletions
diff --git a/services/surfaceflinger/DisplayHardware/FramebufferSurface.cpp b/services/surfaceflinger/DisplayHardware/FramebufferSurface.cpp index a4f8fb6..8c6ecc0 100644 --- a/services/surfaceflinger/DisplayHardware/FramebufferSurface.cpp +++ b/services/surfaceflinger/DisplayHardware/FramebufferSurface.cpp @@ -33,24 +33,13 @@ #include <ui/GraphicBuffer.h> #include "DisplayHardware/FramebufferSurface.h" +#include "DisplayHardware/GraphicBufferAlloc.h" #include "DisplayHardware/HWComposer.h" // ---------------------------------------------------------------------------- namespace android { // ---------------------------------------------------------------------------- -class GraphicBufferAlloc : public BnGraphicBufferAlloc { -public: - GraphicBufferAlloc() { }; - virtual ~GraphicBufferAlloc() { }; - virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h, - PixelFormat format, uint32_t usage, status_t* error) { - sp<GraphicBuffer> graphicBuffer(new GraphicBuffer(w, h, format, usage)); - return graphicBuffer; - } -}; - - /* * This implements the (main) framebuffer management. This class is used * mostly by SurfaceFlinger, but also by command line GL application. diff --git a/services/surfaceflinger/DisplayHardware/GraphicBufferAlloc.cpp b/services/surfaceflinger/DisplayHardware/GraphicBufferAlloc.cpp new file mode 100644 index 0000000..965ff01 --- /dev/null +++ b/services/surfaceflinger/DisplayHardware/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 "DisplayHardware/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 +// ---------------------------------------------------------------------------- diff --git a/services/surfaceflinger/DisplayHardware/GraphicBufferAlloc.h b/services/surfaceflinger/DisplayHardware/GraphicBufferAlloc.h new file mode 100644 index 0000000..b08750c --- /dev/null +++ b/services/surfaceflinger/DisplayHardware/GraphicBufferAlloc.h @@ -0,0 +1,44 @@ +/* + * Copyright (C) 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. + */ + +#ifndef ANDROID_SF_GRAPHIC_BUFFER_ALLOC_H +#define ANDROID_SF_GRAPHIC_BUFFER_ALLOC_H + +#include <stdint.h> +#include <sys/types.h> + +#include <gui/IGraphicBufferAlloc.h> +#include <ui/PixelFormat.h> +#include <utils/Errors.h> + +namespace android { +// --------------------------------------------------------------------------- + +class GraphicBuffer; + +class GraphicBufferAlloc : public BnGraphicBufferAlloc { +public: + GraphicBufferAlloc(); + virtual ~GraphicBufferAlloc(); + virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h, + PixelFormat format, uint32_t usage, status_t* error); +}; + + +// --------------------------------------------------------------------------- +}; // namespace android + +#endif // ANDROID_SF_GRAPHIC_BUFFER_ALLOC_H |