SF: Add GL texture pool
Adds a pool of GL texture names.
Prior to this change, Layer creation was forced to run on the SF main
thread because it would need to call into RenderEngine to generate a new
texture name.
By creating a pool of pre-generated texture names, this operation no
longer needs to run on the main thread, which unblocks the rest of the
system during operations such as fingerprint unlock.
Bug: 110477323
Test: SurfaceFlinger_test + manual: examine systrace and observe that
layer creation no longer blocks on access to the main thread
Change-Id: I9d68874d6c6f704c8884676454e84d916cd86507
diff --git a/services/surfaceflinger/ContainerLayer.h b/services/surfaceflinger/ContainerLayer.h
index 84b75f4..06cfbcd 100644
--- a/services/surfaceflinger/ContainerLayer.h
+++ b/services/surfaceflinger/ContainerLayer.h
@@ -35,6 +35,8 @@
bool isVisible() const override;
void setPerFrameData(const sp<const DisplayDevice>& display) override;
+
+ bool isCreatedFromMainThread() const override { return true; }
};
} // namespace android