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

Commit 36d23803 authored by Okan Arikan's avatar Okan Arikan
Browse files

Int key for the named buffers.

Also, rename them to global buffers from named buffers.

Bug: 38320428
Test: Run frameworks/native/libs/vr/libdvr/tests on device
Change-Id: I2109aea77e35f2ccd8055208058df4b7287c1d5e
parent dc448df6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ staticLibraries = [

headerLibraries = [
    "vulkan_headers",
    "libdvr_headers",
]

cc_library {
+8 −8
Original line number Diff line number Diff line
@@ -176,14 +176,14 @@ Status<std::unique_ptr<Surface>> DisplayClient::CreateSurface(
    return ErrorStatus(error);
}

Status<std::unique_ptr<IonBuffer>> DisplayClient::GetNamedBuffer(
    const std::string& name) {
  auto status = InvokeRemoteMethod<DisplayProtocol::GetNamedBuffer>(name);
Status<std::unique_ptr<IonBuffer>> DisplayClient::GetGlobalBuffer(
    DvrGlobalBufferKey key) {
  auto status = InvokeRemoteMethod<DisplayProtocol::GetGlobalBuffer>(key);
  if (!status) {
    ALOGE(
        "DisplayClient::GetNamedBuffer: Failed to get named buffer: name=%s; "
        "DisplayClient::GetGlobalBuffer: Failed to get named buffer: key=%d; "
        "error=%s",
        name.c_str(), status.GetErrorMessage().c_str());
        key, status.GetErrorMessage().c_str());
    return status.error_status();
  }

@@ -192,9 +192,9 @@ Status<std::unique_ptr<IonBuffer>> DisplayClient::GetNamedBuffer(
  const int ret = native_buffer_handle.Import(ion_buffer.get());
  if (ret < 0) {
    ALOGE(
        "DisplayClient::GetNamedBuffer: Failed to import named buffer: "
        "name=%s; error=%s",
        name.c_str(), strerror(-ret));
        "DisplayClient::GetGlobalBuffer: Failed to import global buffer: "
        "key=%d; error=%s",
        key, strerror(-ret));
    return ErrorStatus(-ret);
  }

+8 −8
Original line number Diff line number Diff line
@@ -32,13 +32,13 @@ DisplayManagerClient::GetSurfaceState() {
  return status;
}

pdx::Status<std::unique_ptr<IonBuffer>> DisplayManagerClient::SetupNamedBuffer(
    const std::string& name, size_t size, uint64_t usage) {
  auto status = InvokeRemoteMethod<DisplayManagerProtocol::SetupNamedBuffer>(
      name, size, usage);
pdx::Status<std::unique_ptr<IonBuffer>> DisplayManagerClient::SetupGlobalBuffer(
    DvrGlobalBufferKey key, size_t size, uint64_t usage) {
  auto status = InvokeRemoteMethod<DisplayManagerProtocol::SetupGlobalBuffer>(
      key, size, usage);
  if (!status) {
    ALOGE(
        "DisplayManagerClient::SetupPoseBuffer: Failed to create the named "
        "DisplayManagerClient::SetupGlobalBuffer: Failed to create the global "
        "buffer %s",
        status.GetErrorMessage().c_str());
    return status.error_status();
@@ -49,9 +49,9 @@ pdx::Status<std::unique_ptr<IonBuffer>> DisplayManagerClient::SetupNamedBuffer(
  const int ret = native_buffer_handle.Import(ion_buffer.get());
  if (ret < 0) {
    ALOGE(
        "DisplayClient::GetNamedBuffer: Failed to import named buffer: "
        "name=%s; error=%s",
        name.c_str(), strerror(-ret));
        "DisplayClient::GetGlobalBuffer: Failed to import global buffer: "
        "key=%d; error=%s",
        key, strerror(-ret));
    return ErrorStatus(-ret);
  }

+3 −2
Original line number Diff line number Diff line
#ifndef ANDROID_DVR_DISPLAY_CLIENT_H_
#define ANDROID_DVR_DISPLAY_CLIENT_H_

#include <dvr/dvr_api.h>
#include <hardware/hwcomposer.h>
#include <pdx/client.h>
#include <pdx/file_handle.h>
@@ -67,8 +68,8 @@ class Surface : public pdx::ClientBase<Surface> {
class DisplayClient : public pdx::ClientBase<DisplayClient> {
 public:
  pdx::Status<Metrics> GetDisplayMetrics();
  pdx::Status<std::unique_ptr<IonBuffer>> GetNamedBuffer(
      const std::string& name);
  pdx::Status<std::unique_ptr<IonBuffer>> GetGlobalBuffer(
      DvrGlobalBufferKey key);
  pdx::Status<std::unique_ptr<Surface>> CreateSurface(
      const SurfaceAttributes& attributes);

+2 −2
Original line number Diff line number Diff line
@@ -21,8 +21,8 @@ class DisplayManagerClient : public pdx::ClientBase<DisplayManagerClient> {
  ~DisplayManagerClient() override;

  pdx::Status<std::vector<SurfaceState>> GetSurfaceState();
  pdx::Status<std::unique_ptr<IonBuffer>> SetupNamedBuffer(
      const std::string& name, size_t size, uint64_t usage);
  pdx::Status<std::unique_ptr<IonBuffer>> SetupGlobalBuffer(
      DvrGlobalBufferKey key, size_t size, uint64_t usage);
  pdx::Status<std::unique_ptr<ConsumerQueue>> GetSurfaceQueue(int surface_id,
                                                              int queue_id);

Loading