-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Description
While testing my PR to add new gradient shaders for older hardware platforms I ran into 2 cases of memory corruption in OpenGLES while testing using a host_debug_unopt_arm64 build:
- a crash while viewing the results of Play/AiksTest.CanRenderLinearGradientManyColorsUnevenStops/OpenGLES in the playground
- a crash in the Play/TypographerTest.GlyphAtlasWithLotsOfdUniqueGlyphSize/OpenGLES test when doing a full run of
impeller_unittests
To reproduce, pull over my branch for the PR (flar:impeller-uniforms-for-general-gradients) and using the state of it in commit 3cb7871 (currently at the top of that PR's commits). (turns out these also crash on the current ToT)
Then build using et build -c host_debug_unopt_arm64.
Then run the indicated test above in the playground and do a full out/host_debug_unopt_arm64/impeller_unittests run.
The playground test works fine on Metal and Vulkan, only the OpenGLES version crashes.
Also, the crash in the Typographer code only happens on a full run of the unittests, if you run just the Typographer tests, it doesn't crash...