Go to file
mtklein 6d88e6ce51 Fix way-over-allocation in pipe.
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
2014-07-30 09:17:54 -07:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Add rotated rects benchmarks 2014-07-30 08:58:20 -07:00
debugger Fixed up SkTimedPicturePlayback 2014-07-08 13:07:57 -07:00
dm Cleanup: Rename SkOSPath functions. 2014-07-28 19:26:58 -07:00
docs warn that docs/quickstart.md is out of sync with official docs 2014-04-21 19:18:46 +00:00
expectations Mark bleed GM images on GPU configs as baselined but associated with bug 2762 2014-07-30 10:08:09 -04:00
experimental Cleanup: Rename SkOSPath functions. 2014-07-28 19:26:58 -07:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm Adding repeat mode to texture domain 2014-07-29 12:59:27 -07:00
gyp Add rotated rects benchmarks 2014-07-30 08:58:20 -07:00
include Incorporate glStencilThenCover* nvpr methods 2014-07-29 15:25:51 -07:00
platform_tools Add ability to generate/use FDO profiles for Android 2014-07-29 12:38:25 -07:00
resources Adding resource files 2014-06-02 15:18:27 -04:00
samplecode Cleanup: Rename SkOSPath functions. 2014-07-28 19:26:58 -07:00
src Fix way-over-allocation in pipe. 2014-07-30 09:17:54 -07:00
tests Fix way-over-allocation in pipe. 2014-07-30 09:17:54 -07:00
third_party Delete third_party/harfbuzz 2014-07-10 11:32:44 -04:00
tools add cubic red option to pathops tool 2014-07-29 12:13:28 -07:00
trybots_to_run/chrome Deleting the hardcoded list of compile bots in trybots_to_run. 2013-04-09 11:59:42 +00:00
.gitignore Add common/ to .gitignore 2014-06-20 07:47:36 -07:00
AUTHORS Do not export SkTDArray when building Skia as a DLL 2014-07-09 11:13:55 -07:00
codereview.settings Add Project to skia 2014-06-20 09:39:15 -07:00
CONTRIBUTING Add CONTRIBUTING file 2014-01-13 15:06:26 +00:00
CQ_COMMITTERS Add sugoi@ to CQ_COMMITTERS. 2014-06-16 08:54:57 -07:00
DEPS roll common DEPS 2014-07-24 10:39:01 -07:00
Doxyfile delete no-longer-used update-doxygen.sh 2014-05-15 14:41:00 +00:00
gyp_skia Fix Windows bots 2014-06-16 13:41:25 -07:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Enable compiling with automatically-downloaded VS toolchain on Windows bots 2014-06-16 10:02:42 -04:00
make.py Enable compiling with automatically-downloaded VS toolchain on Windows bots 2014-06-16 10:02:42 -04:00
Makefile simplify tools/xsan_build now that make runs ninja 2014-04-24 18:16:13 +00:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Adding djsollen to list of owners 2014-07-18 05:25:57 -07:00
README Point to skiadocs in our README. 2014-05-09 04:30:09 +00:00
README.chromium add root files from chrome 2013-08-13 19:11:15 +00:00
skia.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
SKP_VERSION Update SKP version to 63 2014-07-29 22:57:43 -07:00
whitespace.txt Whitespace change to test the CQ. 2014-07-30 07:24:17 -07:00

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