Early kickoff of shadow tasks
bug:26562703
Change-Id: I7cdf18f2c662380bd31c7ffeefd5c3f569e5c1c6
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index e7cf3ec..d411621 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -33,10 +33,6 @@
#include "utils/GLUtils.h"
#include "utils/TimeUtils.h"
-#if HWUI_NEW_OPS
-#include "FrameBuilder.h"
-#endif
-
#include <cutils/properties.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
#include <private/hwui/DrawGlInfo.h>
@@ -152,7 +148,7 @@
void CanvasContext::setup(int width, int height, float lightRadius,
uint8_t ambientShadowAlpha, uint8_t spotShadowAlpha) {
#if HWUI_NEW_OPS
- mLightInfo.lightRadius = lightRadius;
+ mLightGeometry.radius = lightRadius;
mLightInfo.ambientShadowAlpha = ambientShadowAlpha;
mLightInfo.spotShadowAlpha = spotShadowAlpha;
#else
@@ -163,7 +159,7 @@
void CanvasContext::setLightCenter(const Vector3& lightCenter) {
#if HWUI_NEW_OPS
- mLightCenter = lightCenter;
+ mLightGeometry.center = lightCenter;
#else
if (!mCanvas) return;
mCanvas->setLightCenter(lightCenter);
@@ -345,7 +341,7 @@
#if HWUI_NEW_OPS
FrameBuilder frameBuilder(mLayerUpdateQueue, dirty, frame.width(), frame.height(),
- mRenderNodes, mLightCenter, mContentDrawBounds);
+ mRenderNodes, mLightGeometry, mContentDrawBounds, &Caches::getInstance());
mLayerUpdateQueue.clear();
BakedOpRenderer renderer(Caches::getInstance(), mRenderThread.renderState(),
mOpaque, mLightInfo);
diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h
index 270fb1f..63a7977 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -31,6 +31,7 @@
#if HWUI_NEW_OPS
#include "BakedOpDispatcher.h"
#include "BakedOpRenderer.h"
+#include "FrameBuilder.h"
#endif
#include <cutils/compiler.h>
@@ -197,7 +198,7 @@
OpenGLRenderer* mCanvas = nullptr;
#if HWUI_NEW_OPS
BakedOpRenderer::LightInfo mLightInfo;
- Vector3 mLightCenter = { 0, 0, 0 };
+ FrameBuilder::LightGeometry mLightGeometry = { {0, 0, 0}, 0 };
#endif
bool mHaveNewSurface = false;