drm_hwcomposer: Small refactor of ImportLayerBuffer
Move the fence dup into this helper function as well, making the output
of the function a HwcLayer::Buffer struct.
Change-Id: If18c9aa0b3e20d88bdca82e4ec375cb6f20205dd
Signed-off-by: Drew Davenport <ddavenport@google.com>
diff --git a/hwc3/ComposerClient.cpp b/hwc3/ComposerClient.cpp
index 9b4d76f..b7c92a8 100644
--- a/hwc3/ComposerClient.cpp
+++ b/hwc3/ComposerClient.cpp
@@ -553,13 +553,11 @@
if (command.buffer) {
HwcLayer::Buffer buffer;
auto err = ImportLayerBuffer(display_id, command.layer, *command.buffer,
- &buffer.buffer_handle);
+ &buffer);
if (err != hwc3::Error::kNone) {
cmd_result_writer_->AddError(err);
return;
}
- buffer.acquire_fence = ::android::MakeSharedFd(
- command.buffer->fence.dup().release());
properties.buffer.emplace(buffer);
}
@@ -1305,15 +1303,16 @@
return binder;
}
-hwc3::Error ComposerClient::ImportLayerBuffer(
- int64_t display_id, int64_t layer_id, const Buffer& buffer,
- buffer_handle_t* out_imported_buffer) {
- *out_imported_buffer = nullptr;
-
+hwc3::Error ComposerClient::ImportLayerBuffer(int64_t display_id,
+ int64_t layer_id,
+ const Buffer& buffer,
+ HwcLayer::Buffer* out_buffer) {
auto releaser = composer_resources_->CreateResourceReleaser(true);
auto err = composer_resources_->GetLayerBuffer(display_id, layer_id, buffer,
- out_imported_buffer,
+ &out_buffer->buffer_handle,
releaser.get());
+ out_buffer->acquire_fence = ::android::MakeSharedFd(
+ buffer.fence.dup().release());
return err;
}