summaryrefslogtreecommitdiffstats
path: root/gfx/webrender_bindings/RenderThread.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gfx/webrender_bindings/RenderThread.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/gfx/webrender_bindings/RenderThread.cpp b/gfx/webrender_bindings/RenderThread.cpp
index e1a41ee225..cb496c8fc5 100644
--- a/gfx/webrender_bindings/RenderThread.cpp
+++ b/gfx/webrender_bindings/RenderThread.cpp
@@ -979,6 +979,21 @@ void RenderThread::RegisterExternalImage(
mSyncObjectNeededRenderTextures.emplace(aExternalImageId, texture);
}
mRenderTextures.emplace(aExternalImageId, texture);
+
+#ifdef DEBUG
+ int32_t maxAllowedIncrease =
+ StaticPrefs::gfx_testing_assert_render_textures_increase();
+
+ if (maxAllowedIncrease <= 0) {
+ mRenderTexturesLastTime = -1;
+ } else {
+ if (mRenderTexturesLastTime < 0) {
+ mRenderTexturesLastTime = static_cast<int32_t>(mRenderTextures.size());
+ }
+ MOZ_ASSERT((static_cast<int32_t>(mRenderTextures.size()) -
+ mRenderTexturesLastTime) < maxAllowedIncrease);
+ }
+#endif
}
void RenderThread::UnregisterExternalImage(