From 9603450ea4155150cb50c18702b22a51e94b7ae3 Mon Sep 17 00:00:00 2001 From: Serdar Kocdemir Date: Mon, 2 Dec 2024 12:04:33 +0000 Subject: [PATCH] The BumpPool of VkStream is not freeAll'ed Original change from: kyoungwon.kim@bytedance.com at aosp/3310239 Moving the change into gfxstream and codegen. The issue was found by pengzejie@bytedance.com. Note that vkReadStream's BumpPool is effectively `freeAll`'ed by `clearPool` calls. The same call for vkStream is not being called while alloc is called here and there. Reviewed-by: Marcin Radomski Part-of: --- src/gfxstream/codegen/scripts/cereal/decoder.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gfxstream/codegen/scripts/cereal/decoder.py b/src/gfxstream/codegen/scripts/cereal/decoder.py index f96a48ef52b..d9a6fd08026 100644 --- a/src/gfxstream/codegen/scripts/cereal/decoder.py +++ b/src/gfxstream/codegen/scripts/cereal/decoder.py @@ -963,6 +963,7 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, self.cgen.endBlock() # switch stmt self.cgen.stmt("ptr += packetLen") + self.cgen.stmt("vkStream->clearPool()") self.cgen.endBlock() # while loop self.cgen.beginIf("m_forSnapshotLoad")