summaryrefslogtreecommitdiff
path: root/libs/androidfw/StringPool.cpp
diff options
context:
space:
mode:
author Nolan Scobie <nscobie@google.com> 2023-02-08 20:03:31 -0500
committer Nolan Scobie <nscobie@google.com> 2023-02-13 15:47:30 -0500
commit23a1a9a121e8453c0c27f4e98942e421464e8e61 (patch)
treeba7b1f4d839daef6585db5ea431f3a455a75e740 /libs/androidfw/StringPool.cpp
parentc573766a07a96908833e29502b62a1910aa227b6 (diff)
Fix storing VkPipelineCache in HWUI's shader cache breaking persistence
See b/268205519 for the full analysis and description, but the summary is mSavePending could previously get stuck in the true state, preventing the shader cache from being written to disk for the rest of an app's lifecycle. This stuck state seems to occur on every app launch after the first, unless any shaders are compiled in the first 4 seconds. This occurs frequently, as the shaders initially required by an app in its first 4 seconds were likely compiled on its first launch and already available in its persistent cache, thus not necessitating new compilation in that initial window and triggering the failure case. This seems to have serious jank implications, particularly for SysUI. Note: time is now represented in milliseconds to make testing easier. Fixes: 268205519 Bug: 268205519 Bug: 225211273 Test: `atest hwui_unit_tests:ShaderCacheTest` (before and after fix) Change-Id: I102d75df4c61f9b3012dd5d956dc37435d5b5a84 (cherry picked from commit 193cd9678e7dadf4d30ee14d199c955e0f2390dd)
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions