diff options
author | 2017-02-17 20:13:44 +0000 | |
---|---|---|
committer | 2017-02-17 20:13:44 +0000 | |
commit | 7777e9f6d17a4fa245c10ba54b4d442f65caa23f (patch) | |
tree | 151a9f4dd8cabf35c3a5bf4aa9c30afeb2903012 | |
parent | 0576a8858b6d48e6645af1810fc4977e2ac7096f (diff) | |
parent | c9e2f79c40534d1f20e6da8f88f8c4f964b1202b (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.cpp | 9 | ||||
-rw-r--r-- | services/vr/vr_window_manager/hwc_callback.cpp | 31 |
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. |