graphics: rework IComposer
Similar to IAllocator, introduce IComposerClient to manage resources.
Rework the interface such that most state changing calls are batched in a
"command buffer" and execute together. The goal is to reduce the number
of IPC calls needed to set up the composer.
Test: builds and boots
Change-Id: I324009243234c4d2482ca0ef2591377b11530fc9
diff --git a/graphics/composer/2.1/Android.bp b/graphics/composer/2.1/Android.bp
index 2bc8e93..26c7739 100644
--- a/graphics/composer/2.1/Android.bp
+++ b/graphics/composer/2.1/Android.bp
@@ -8,11 +8,13 @@
"types.hal",
"IComposer.hal",
"IComposerCallback.hal",
+ "IComposerClient.hal",
],
out: [
"android/hardware/graphics/composer/2.1/types.cpp",
"android/hardware/graphics/composer/2.1/ComposerAll.cpp",
"android/hardware/graphics/composer/2.1/ComposerCallbackAll.cpp",
+ "android/hardware/graphics/composer/2.1/ComposerClientAll.cpp",
],
}
@@ -24,6 +26,7 @@
"types.hal",
"IComposer.hal",
"IComposerCallback.hal",
+ "IComposerClient.hal",
],
out: [
"android/hardware/graphics/composer/2.1/types.h",
@@ -37,6 +40,11 @@
"android/hardware/graphics/composer/2.1/BnComposerCallback.h",
"android/hardware/graphics/composer/2.1/BpComposerCallback.h",
"android/hardware/graphics/composer/2.1/BsComposerCallback.h",
+ "android/hardware/graphics/composer/2.1/IComposerClient.h",
+ "android/hardware/graphics/composer/2.1/IHwComposerClient.h",
+ "android/hardware/graphics/composer/2.1/BnComposerClient.h",
+ "android/hardware/graphics/composer/2.1/BpComposerClient.h",
+ "android/hardware/graphics/composer/2.1/BsComposerClient.h",
],
}