ANDROID: Update drm hwcomposer to composer3 V4
... to fix build incompatibilities due to framework compatibility
matrix requirements now requiring V4.
Bug: b/348466630
Test: cvd create
Test: cvd create --hwcomposer=drm_hwcomposer
Ignore-AOSP-First: uprev'ing based on internal-first hal changes
Change-Id: Ief7c19248fdd739e17c54335a3c234aa9dd3677e
diff --git a/Android.bp b/Android.bp
index 2578188..76e7b11 100644
--- a/Android.bp
+++ b/Android.bp
@@ -192,7 +192,7 @@
],
shared_libs: [
- "android.hardware.graphics.composer3-V3-ndk",
+ "android.hardware.graphics.composer3-V4-ndk",
"libbase",
"libbinder_ndk",
"liblog",
diff --git a/hwc3/ComposerClient.cpp b/hwc3/ComposerClient.cpp
index f353abb..0736662 100644
--- a/hwc3/ComposerClient.cpp
+++ b/hwc3/ComposerClient.cpp
@@ -332,6 +332,9 @@
if (command.brightness) {
ExecuteSetLayerBrightness(display_id, layer_wrapper, *command.brightness);
}
+ if (command.luts) {
+ ExecuteLayerCommandSetLayerLuts(display_id, layer_wrapper, *command.luts);
+ }
// Some unsupported functionality returns kUnsupported, and others
// are just a no-op.
@@ -1132,6 +1135,12 @@
}
}
+void ComposerClient::ExecuteLayerCommandSetLayerLuts(
+ int64_t /*display_id*/, HwcLayerWrapper& /*layer*/,
+ const std::vector<std::optional<Lut>>& /*luts*/) {
+ cmd_result_writer_->AddError(hwc3::Error::kUnsupported);
+}
+
void ComposerClient::ExecuteSetDisplayBrightness(
uint64_t display_id, const DisplayBrightness& command) {
auto* display = GetDisplay(display_id);
diff --git a/hwc3/ComposerClient.h b/hwc3/ComposerClient.h
index f6362ad..41c011c 100644
--- a/hwc3/ComposerClient.h
+++ b/hwc3/ComposerClient.h
@@ -20,6 +20,7 @@
#include "aidl/android/hardware/graphics/composer3/BnComposerClient.h"
#include "aidl/android/hardware/graphics/composer3/LayerCommand.h"
+#include <aidl/android/hardware/graphics/composer3/Lut.h>
#include "hwc3/CommandResultWriter.h"
#include "hwc3/ComposerResources.h"
#include "hwc3/Utils.h"
@@ -178,6 +179,8 @@
const ZOrder& z_order);
void ExecuteSetLayerBrightness(int64_t display_id, HwcLayerWrapper& layer,
const LayerBrightness& brightness);
+ void ExecuteLayerCommandSetLayerLuts(int64_t display_id, HwcLayerWrapper& layer,
+ const std::vector<std::optional<Lut>>& luts);
// Display commands
void ExecuteDisplayCommand(const DisplayCommand& command);
diff --git a/hwc3/hwc3-drm.xml b/hwc3/hwc3-drm.xml
index 911f7f8..7debcf9 100644
--- a/hwc3/hwc3-drm.xml
+++ b/hwc3/hwc3-drm.xml
@@ -1,7 +1,7 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.graphics.composer3</name>
- <version>3</version>
+ <version>4</version>
<interface>
<name>IComposer</name>
<instance>default</instance>