6d88e6ce51
https://codereview.chromium.org/283093002 fixed some bugs in pipe memory allocation, but also introduced one of its own: nearly every block requested from needOpBytes() got its own 16K allocation. The correct logic is to take the requested size, add four more bytes for a DrawOp, make sure that's 4-byte aligned, then check to see if there's enough space for that in the current block. If there's not, allocate at least MIN_BLOCK_SIZE bytes to fit the request. The bug is that I moved that round-up-to-MIN_BLOCK_SIZE step before checking for space in the current block. This means most (all?) blocks will be 16K but never seem to have room to fit another allocation. You need 8 bytes? You get 16K. You need 8 more bytes? Nope, can't fit that. Here's a new 16K... This reverts the change to the test I made then, which really should have tipped me off. It was testing exactly this bug. BUG=372671 R=tomhudson@chromium.org, tomhudson@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/433463003 |
||
---|---|---|
animations | ||
bench | ||
debugger | ||
dm | ||
docs | ||
expectations | ||
experimental | ||
forth | ||
gm | ||
gyp | ||
include | ||
platform_tools | ||
resources | ||
samplecode | ||
src | ||
tests | ||
third_party | ||
tools | ||
trybots_to_run/chrome | ||
.gitignore | ||
AUTHORS | ||
codereview.settings | ||
CONTRIBUTING | ||
CQ_COMMITTERS | ||
DEPS | ||
Doxyfile | ||
gyp_skia | ||
gyp_skia.py | ||
LICENSE | ||
make.bat | ||
make.py | ||
Makefile | ||
OWNERS | ||
PRESUBMIT.py | ||
README | ||
README.chromium | ||
skia.gyp | ||
SKP_VERSION | ||
whitespace.txt |
Skia is a complete 2D graphic library for drawing Text, Geometries, and Images. See full details, and build instructions, at https://sites.google.com/site/skiadocs/home