Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99996d00 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Deprecate producer/consumer usage in BufferHub" into pi-dev

parents b15829ad f0108174
Loading
Loading
Loading
Loading
+8 −25
Original line number Diff line number Diff line
@@ -395,25 +395,16 @@ int BufferConsumer::SetIgnore(bool ignore) {
}

BufferProducer::BufferProducer(uint32_t width, uint32_t height, uint32_t format,
                               uint32_t usage, size_t user_metadata_size)
    : BufferProducer(width, height, format, usage, usage, user_metadata_size) {}

BufferProducer::BufferProducer(uint32_t width, uint32_t height, uint32_t format,
                               uint64_t producer_usage, uint64_t consumer_usage,
                               size_t user_metadata_size)
                               uint64_t usage, size_t user_metadata_size)
    : BASE(BufferHubRPC::kClientPath) {
  ATRACE_NAME("BufferProducer::BufferProducer");
  ALOGD_IF(TRACE,
           "BufferProducer::BufferProducer: fd=%d width=%u height=%u format=%u "
           "producer_usage=%" PRIx64 " consumer_usage=%" PRIx64
           " user_metadata_size=%zu",
           event_fd(), width, height, format, producer_usage, consumer_usage,
           user_metadata_size);
           "usage=%" PRIx64 " user_metadata_size=%zu",
           event_fd(), width, height, format, usage, user_metadata_size);

  // (b/37881101) Deprecate producer/consumer usage
  auto status = InvokeRemoteMethod<BufferHubRPC::CreateBuffer>(
      width, height, format, (producer_usage | consumer_usage),
      user_metadata_size);
      width, height, format, usage, user_metadata_size);
  if (!status) {
    ALOGE(
        "BufferProducer::BufferProducer: Failed to create producer buffer: %s",
@@ -431,26 +422,18 @@ BufferProducer::BufferProducer(uint32_t width, uint32_t height, uint32_t format,
  }
}

BufferProducer::BufferProducer(uint32_t usage, size_t size)
    : BufferProducer(usage, usage, size) {}

BufferProducer::BufferProducer(uint64_t producer_usage, uint64_t consumer_usage,
                               size_t size)
BufferProducer::BufferProducer(uint64_t usage, size_t size)
    : BASE(BufferHubRPC::kClientPath) {
  ATRACE_NAME("BufferProducer::BufferProducer");
  ALOGD_IF(TRACE,
           "BufferProducer::BufferProducer: producer_usage=%" PRIx64
           " consumer_usage=%" PRIx64 " size=%zu",
           producer_usage, consumer_usage, size);
  ALOGD_IF(TRACE, "BufferProducer::BufferProducer: usage=%" PRIx64 " size=%zu",
           usage, size);
  const int width = static_cast<int>(size);
  const int height = 1;
  const int format = HAL_PIXEL_FORMAT_BLOB;
  const size_t user_metadata_size = 0;

  // (b/37881101) Deprecate producer/consumer usage
  auto status = InvokeRemoteMethod<BufferHubRPC::CreateBuffer>(
      width, height, format, (producer_usage | consumer_usage),
      user_metadata_size);
      width, height, format, usage, user_metadata_size);
  if (!status) {
    ALOGE("BufferProducer::BufferProducer: Failed to create blob: %s",
          status.GetErrorMessage().c_str());
+2 −10
Original line number Diff line number Diff line
@@ -111,10 +111,6 @@ class BufferHubBuffer : public pdx::Client {
  uint32_t usage() const { return buffer_.usage(); }
  uint32_t layer_count() const { return buffer_.layer_count(); }

  // TODO(b/37881101) Clean up producer/consumer usage.
  uint64_t producer_usage() const { return buffer_.usage(); }
  uint64_t consumer_usage() const { return buffer_.usage(); }

  uint64_t GetQueueIndex() const { return metadata_header_->queue_index; }
  void SetQueueIndex(uint64_t index) { metadata_header_->queue_index = index; }

@@ -230,14 +226,10 @@ class BufferProducer : public pdx::ClientBase<BufferProducer, BufferHubBuffer> {

  // Constructs a buffer with the given geometry and parameters.
  BufferProducer(uint32_t width, uint32_t height, uint32_t format,
                 uint32_t usage, size_t metadata_size = 0);
  BufferProducer(uint32_t width, uint32_t height, uint32_t format,
                 uint64_t producer_usage, uint64_t consumer_usage,
                 size_t metadata_size);
                 uint64_t usage, size_t metadata_size = 0);

  // Constructs a blob (flat) buffer with the given usage flags.
  BufferProducer(uint32_t usage, size_t size);
  BufferProducer(uint64_t producer_usage, uint64_t consumer_usage, size_t size);
  BufferProducer(uint64_t usage, size_t size);

  // Imports the given file handle to a producer channel, taking ownership.
  explicit BufferProducer(LocalChannelHandle channel);