summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2017-02-17 20:13:44 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-02-17 20:13:44 +0000
commit7777e9f6d17a4fa245c10ba54b4d442f65caa23f (patch)
tree151a9f4dd8cabf35c3a5bf4aa9c30afeb2903012
parent0576a8858b6d48e6645af1810fc4977e2ac7096f (diff)
parentc9e2f79c40534d1f20e6da8f88f8c4f964b1202b (diff)
Merge "Proper fix for vr_wm: the hwc_callback function is no longer called"
-rw-r--r--services/vr/vr_window_manager/composer/impl/vr_hwc.cpp9
-rw-r--r--services/vr/vr_window_manager/hwc_callback.cpp31
2 files changed, 5 insertions, 35 deletions
diff --git a/services/vr/vr_window_manager/composer/impl/vr_hwc.cpp b/services/vr/vr_window_manager/composer/impl/vr_hwc.cpp
index d7d0e5b95d..9642224eda 100644
--- a/services/vr/vr_window_manager/composer/impl/vr_hwc.cpp
+++ b/services/vr/vr_window_manager/composer/impl/vr_hwc.cpp
@@ -48,6 +48,11 @@ sp<GraphicBuffer> GetBufferFromHandle(const native_handle_t* handle) {
int32_t format = 0;
GraphicBufferMapper& mapper = GraphicBufferMapper::get();
+ if (mapper.registerBuffer(handle) != OK) {
+ ALOGE("Failed to register buffer");
+ return nullptr;
+ }
+
if (mapper.getDimensions(handle, &width, &height) ||
mapper.getStride(handle, &stride) ||
mapper.getFormat(handle, &format) ||
@@ -64,10 +69,6 @@ sp<GraphicBuffer> GetBufferFromHandle(const native_handle_t* handle) {
sp<GraphicBuffer> buffer = new GraphicBuffer(
width, height, format, layer_count, producer_usage, consumer_usage,
stride, native_handle_clone(handle), true);
- if (mapper.registerBuffer(buffer.get()) != OK) {
- ALOGE("Failed to register buffer");
- return nullptr;
- }
return buffer;
}
diff --git a/services/vr/vr_window_manager/hwc_callback.cpp b/services/vr/vr_window_manager/hwc_callback.cpp
index b29d17525a..d3cd38c653 100644
--- a/services/vr/vr_window_manager/hwc_callback.cpp
+++ b/services/vr/vr_window_manager/hwc_callback.cpp
@@ -11,37 +11,6 @@ namespace dvr {
namespace {
-sp<GraphicBuffer> GetBufferFromHandle(const native_handle_t* handle) {
- GraphicBufferMapper& mapper = GraphicBufferMapper::get();
- if (mapper.registerBuffer(handle) != OK) {
- ALOGE("Failed to register buffer");
- return nullptr;
- }
-
- uint32_t width = 0, height = 0, stride = 0, layer_count = 1;
- uint64_t producer_usage = 0, consumer_usage = 0;
- int32_t format = 0;
-
- if (mapper.getDimensions(handle, &width, &height) ||
- mapper.getStride(handle, &stride) ||
- mapper.getFormat(handle, &format) ||
- mapper.getProducerUsage(handle, &producer_usage) ||
- mapper.getConsumerUsage(handle, &consumer_usage)) {
- ALOGE("Failed to read handle properties");
- return nullptr;
- }
-
- // This will only succeed if gralloc has GRALLOC1_CAPABILITY_LAYERED_BUFFERS
- // capability. Otherwise assume a count of 1.
- mapper.getLayerCount(handle, &layer_count);
-
- sp<GraphicBuffer> buffer = new GraphicBuffer(
- width, height, format, layer_count, producer_usage, consumer_usage,
- stride, native_handle_clone(handle), true);
-
- return buffer;
-}
-
HwcCallback::FrameStatus GetFrameStatus(const HwcCallback::Frame& frame) {
for (const auto& layer : frame.layers()) {
// If there is no fence it means the buffer is already finished.