Remove slices from buffers
* code no longer required, as it will be handled in vrcore
Bug: 38076195
Test: Manually ran testing
Change-Id: Id28918a3bf73b99cbb57aad4c21251b7a9623074
diff --git a/services/vr/bufferhubd/producer_channel.cpp b/services/vr/bufferhubd/producer_channel.cpp
index 398aa12..4005f7e 100644
--- a/services/vr/bufferhubd/producer_channel.cpp
+++ b/services/vr/bufferhubd/producer_channel.cpp
@@ -27,22 +27,18 @@
ProducerChannel::ProducerChannel(BufferHubService* service, int channel_id,
uint32_t width, uint32_t height,
uint32_t format, uint64_t usage,
- size_t meta_size_bytes, size_t slice_count,
- int* error)
+ size_t meta_size_bytes, int* error)
: BufferHubChannel(service, channel_id, channel_id, kProducerType),
pending_consumers_(0),
- slices_(std::max(static_cast<size_t>(1), slice_count)),
producer_owns_(true),
meta_size_bytes_(meta_size_bytes),
meta_(meta_size_bytes ? new uint8_t[meta_size_bytes] : nullptr) {
- for (auto& ion_buffer : slices_) {
- const int ret = ion_buffer.Alloc(width, height, format, usage);
- if (ret < 0) {
- ALOGE("ProducerChannel::ProducerChannel: Failed to allocate buffer: %s",
- strerror(-ret));
- *error = ret;
- return;
- }
+ const int ret = buffer_.Alloc(width, height, format, usage);
+ if (ret < 0) {
+ ALOGE("ProducerChannel::ProducerChannel: Failed to allocate buffer: %s",
+ strerror(-ret));
+ *error = ret;
+ return;
}
// Success.
@@ -51,12 +47,11 @@
Status<std::shared_ptr<ProducerChannel>> ProducerChannel::Create(
BufferHubService* service, int channel_id, uint32_t width, uint32_t height,
- uint32_t format, uint64_t usage, size_t meta_size_bytes,
- size_t slice_count) {
+ uint32_t format, uint64_t usage, size_t meta_size_bytes) {
int error;
std::shared_ptr<ProducerChannel> producer(
new ProducerChannel(service, channel_id, width, height, format, usage,
- meta_size_bytes, slice_count, &error));
+ meta_size_bytes, &error));
if (error < 0)
return ErrorStatus(-error);
else
@@ -72,9 +67,8 @@
}
BufferHubChannel::BufferInfo ProducerChannel::GetBufferInfo() const {
- return BufferInfo(buffer_id(), consumer_channels_.size(), slices_[0].width(),
- slices_[0].height(), slices_[0].format(),
- slices_[0].usage(), slices_.size(), name_);
+ return BufferInfo(buffer_id(), consumer_channels_.size(), buffer_.width(),
+ buffer_.height(), buffer_.format(), buffer_.usage(), name_);
}
void ProducerChannel::HandleImpulse(Message& message) {
@@ -94,11 +88,6 @@
*this, &ProducerChannel::OnGetBuffer, message);
return true;
- case BufferHubRPC::GetBuffers::Opcode:
- DispatchRemoteMethod<BufferHubRPC::GetBuffers>(
- *this, &ProducerChannel::OnGetBuffers, message);
- return true;
-
case BufferHubRPC::NewConsumer::Opcode:
DispatchRemoteMethod<BufferHubRPC::NewConsumer>(
*this, &ProducerChannel::OnNewConsumer, message);
@@ -130,24 +119,10 @@
}
Status<NativeBufferHandle<BorrowedHandle>> ProducerChannel::OnGetBuffer(
- Message& message, unsigned index) {
+ Message& message) {
ATRACE_NAME("ProducerChannel::OnGetBuffer");
ALOGD_IF(TRACE, "ProducerChannel::OnGetBuffer: buffer=%d", buffer_id());
- if (index < slices_.size()) {
- return {NativeBufferHandle<BorrowedHandle>(slices_[index], buffer_id())};
- } else {
- return ErrorStatus(EINVAL);
- }
-}
-
-Status<std::vector<NativeBufferHandle<BorrowedHandle>>>
-ProducerChannel::OnGetBuffers(Message&) {
- ATRACE_NAME("ProducerChannel::OnGetBuffers");
- ALOGD_IF(TRACE, "ProducerChannel::OnGetBuffers: buffer_id=%d", buffer_id());
- std::vector<NativeBufferHandle<BorrowedHandle>> buffer_handles;
- for (const auto& buffer : slices_)
- buffer_handles.emplace_back(buffer, buffer_id());
- return {std::move(buffer_handles)};
+ return {NativeBufferHandle<BorrowedHandle>(buffer_, buffer_id())};
}
Status<RemoteChannelHandle> ProducerChannel::CreateConsumer(Message& message) {
@@ -372,11 +347,10 @@
// Returns true if the given parameters match the underlying buffer parameters.
bool ProducerChannel::CheckParameters(uint32_t width, uint32_t height,
uint32_t format, uint64_t usage,
- size_t meta_size_bytes,
- size_t slice_count) {
- return slices_.size() == slice_count && meta_size_bytes == meta_size_bytes_ &&
- slices_[0].width() == width && slices_[0].height() == height &&
- slices_[0].format() == format && slices_[0].usage() == usage;
+ size_t meta_size_bytes) {
+ return meta_size_bytes == meta_size_bytes_ && buffer_.width() == width &&
+ buffer_.height() == height && buffer_.format() == format &&
+ buffer_.usage() == usage;
}
} // namespace dvr