Reorder RengineEngine and LayerSettings in VTS
VTS readback tests were crashing because RenderEngine before LayerSettings were deleted. LayerSettings holds onto ExternalTexture, which calls back into RenderEngine to clean up texture objects, so this was causing a UAF issue.
Bug: 372063484
Change-Id: Iad39e1a4aa9a9488af54742df121a981756b6275
Test: VtsHalGraphicsComposer3_TargetTest
diff --git a/graphics/composer/aidl/vts/RenderEngineVts.h b/graphics/composer/aidl/vts/RenderEngineVts.h
index bbe508f..6553720 100644
--- a/graphics/composer/aidl/vts/RenderEngineVts.h
+++ b/graphics/composer/aidl/vts/RenderEngineVts.h
@@ -51,9 +51,10 @@
private:
common::PixelFormat mFormat;
- std::vector<::android::renderengine::LayerSettings> mCompositionLayers;
std::unique_ptr<::android::renderengine::RenderEngine> mRenderEngine;
- std::vector<::android::renderengine::LayerSettings> mRenderLayers;
+ // Delete RenderEngine layers before RenderEngine -- ExternalTexture holds a reference to
+ // RenderEngine.
+ std::vector<::android::renderengine::LayerSettings> mCompositionLayers;
::android::sp<::android::GraphicBuffer> mGraphicBuffer;
DisplaySettings mDisplaySettings;