summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Albert Chaulk <achaulk@google.com> 2017-02-16 17:04:29 -0500
committer Albert Chaulk <achaulk@google.com> 2017-02-17 12:00:15 -0500
commitc9e2f79c40534d1f20e6da8f88f8c4f964b1202b (patch)
tree277b1b1c341359d92380115e9bbea7dddfad7643
parent433fc638022511e3066cc6b184628ade13a4000e (diff)
Proper fix for vr_wm: the hwc_callback function is no longer called
Another change removed the call to GetBufferFromHandle but didn't delete it and an alternate implementation is used. This replicates the change into the second implementation and removes the original one Bug: None Test: Tested in dev branch; built in master Change-Id: I2bdb38c7b692e30cf1b5e41476ecdd062b5d5d69
-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.