Add extended brightness plumbing to VRI
Test: manual, builds & boots
Bug: 266628247
Change-Id: I6310883f3d10bb3eefa3cc189938b6c2c1a14544
diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp
index 5edb0b1..1e011c2 100644
--- a/libs/hwui/renderthread/RenderProxy.cpp
+++ b/libs/hwui/renderthread/RenderProxy.cpp
@@ -143,8 +143,20 @@
mRenderThread.queue().post([=]() { mContext->setOpaque(opaque); });
}
-void RenderProxy::setColorMode(ColorMode mode) {
- mRenderThread.queue().post([=]() { mContext->setColorMode(mode); });
+float RenderProxy::setColorMode(ColorMode mode) {
+ // We only need to figure out what the renderer supports for HDR, otherwise this can stay
+ // an async call since we already know the return value
+ if (mode == ColorMode::Hdr) {
+ return mRenderThread.queue().runSync(
+ [=]() -> float { return mContext->setColorMode(mode); });
+ } else {
+ mRenderThread.queue().post([=]() { mContext->setColorMode(mode); });
+ return 1.f;
+ }
+}
+
+void RenderProxy::setRenderSdrHdrRatio(float ratio) {
+ mDrawFrameTask.setRenderSdrHdrRatio(ratio);
}
int64_t* RenderProxy::frameInfo() {