aboutsummaryrefslogtreecommitdiff
path: root/include/DrmFramebuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/DrmFramebuffer.h')
-rw-r--r--include/DrmFramebuffer.h105
1 files changed, 0 insertions, 105 deletions
diff --git a/include/DrmFramebuffer.h b/include/DrmFramebuffer.h
deleted file mode 100644
index 33ca0db..0000000
--- a/include/DrmFramebuffer.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2015 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_DRM_FRAMEBUFFER_
-#define ANDROID_DRM_FRAMEBUFFER_
-
-#include <stdint.h>
-#include <sync/sync.h>
-#include <ui/GraphicBuffer.h>
-
-namespace android {
-
-struct DrmFramebuffer {
- DrmFramebuffer() : release_fence_fd_(-1) {
- }
-
- ~DrmFramebuffer() {
- if (release_fence_fd() >= 0)
- close(release_fence_fd());
- }
-
- bool is_valid() {
- return buffer_ != NULL;
- }
-
- sp<GraphicBuffer> buffer() {
- return buffer_;
- }
-
- int release_fence_fd() {
- return release_fence_fd_;
- }
-
- void set_release_fence_fd(int fd) {
- if (release_fence_fd_ >= 0)
- close(release_fence_fd_);
- release_fence_fd_ = fd;
- }
-
- bool Allocate(uint32_t w, uint32_t h) {
- if (is_valid()) {
- if (buffer_->getWidth() == w && buffer_->getHeight() == h)
- return true;
-
- if (release_fence_fd_ >= 0) {
- if (sync_wait(release_fence_fd_, kReleaseWaitTimeoutMs) != 0) {
- ALOGE("Wait for release fence failed\n");
- return false;
- }
- }
- Clear();
- }
- buffer_ = new GraphicBuffer(w, h, PIXEL_FORMAT_RGB_888,
- GRALLOC_USAGE_HW_FB | GRALLOC_USAGE_HW_RENDER |
- GRALLOC_USAGE_HW_COMPOSER);
- release_fence_fd_ = -1;
- return is_valid();
- }
-
- void Clear() {
- if (!is_valid())
- return;
-
- if (release_fence_fd_ >= 0) {
- close(release_fence_fd_);
- release_fence_fd_ = -1;
- }
-
- buffer_.clear();
- }
-
- int WaitReleased(int timeout_milliseconds) {
- if (!is_valid())
- return 0;
- if (release_fence_fd_ < 0)
- return 0;
-
- int ret = sync_wait(release_fence_fd_, timeout_milliseconds);
- return ret;
- }
-
- // Somewhat arbitrarily chosen, but wanted to stay below 3000ms, which is the
- // system timeout
- static const int kReleaseWaitTimeoutMs = 1500;
-
- private:
- sp<GraphicBuffer> buffer_;
- int release_fence_fd_;
-};
-} // namespace android
-
-#endif // ANDROID_DRM_FRAMEBUFFER_