aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
...
* More cleanup: streamline paths and bitmaps.Gravatar mtklein2014-11-12
| | | | | | | | SkBitmapHeap is still used---now exclusively---by pipe. BUG=skia: Review URL: https://codereview.chromium.org/715413002
* Rename GrAccelData to SkLayerInfo and move it to src/coreGravatar robertphillips2014-11-12
| | | | Review URL: https://codereview.chromium.org/719133002
* detect bad bitmaps during deserializationGravatar reed2014-11-12
| | | | | | BUG=skia:3117 Review URL: https://codereview.chromium.org/718103002
* Revert of Sk4x_sse.h (patchset #18 id:330001 of ↵Gravatar mtklein2014-11-12
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/698873003/) Reason for revert: Failing bots. Original issue's description: > Sk4x_sse.h > > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/e4bf793120d3bfc9b003d11880a3fb73ff2b89e9 TBR=reed@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/719143002
* Start stripping out complicated parts of SkPicture{Record,Data}.Gravatar mtklein2014-11-12
| | | | | | | | First step: no more paint flattening or deduplication. BUG=skia: Review URL: https://codereview.chromium.org/723593002
* Move GrInvariantOutput out of GrProcessor and into its own class.Gravatar egdaniel2014-11-12
| | | | | | | | This will help with the ability to subclass, add to, etc. GrInvariantOutput. Also it was simply getting a little too big to be a "supporting" subclass BUG=skia: Review URL: https://codereview.chromium.org/699943003
* Sk4x_sse.hGravatar mtklein2014-11-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/698873003
* Clean up CollectLayers codeGravatar robertphillips2014-11-12
| | | | | | | | | | Now that CollectLayers directly uses FillBounds we can: skip the explicit intersection with the clipBounds after an adjustAndMap call skip the storage and use of the clipBounds in SaveLayerInfo Review URL: https://codereview.chromium.org/719793002
* Move SkRecordComputeLayers and CollectLayers into SkRecordDraw.cppGravatar robertphillips2014-11-12
| | | | | | Rather then exposing parts of FillBounds (as in Expose FillBounds to allow GrPictureUtils::CollectLayers to be layered on top of it - https://codereview.chromium.org/698643002/), this CL moves CollectLayers into SkRecordDraw.cpp to accomplish the layering. Review URL: https://codereview.chromium.org/716913003
* experimentalGravatar reed2014-11-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/716793004
* modify nothingToDraw to notice filtersGravatar reed2014-11-11
| | | | | | | | This reverts commit c71ffd4e76d1abcd28ac74463349970f60a3350f. TBR= Review URL: https://codereview.chromium.org/683003003
* Revert of modify nothingToDraw to notice filters (patchset #1 id:1 of ↵Gravatar mtklein2014-11-11
| | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/717753002/) Reason for revert: modecolorfilters, perhaps more changed Original issue's description: > modify nothingToDraw to notice filters > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/d5688c509293a450c058e0cc1f4673be2931bb5c TBR=djsollen@google.com,reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/717813002
* modify nothingToDraw to notice filtersGravatar reed2014-11-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/717753002
* Fix Android framework build.Gravatar scroggo2014-11-11
| | | | | | | Need to include (transitively) SkUserConfig before checking SK_SUPPORT_GPU. Review URL: https://codereview.chromium.org/693613005
* update doxGravatar reed2014-11-11
| | | | | | | BUG=skia: TBR=djsollen@google.com Review URL: https://codereview.chromium.org/697363004
* start again on Sk4x with portable version and unit testsGravatar mtklein2014-11-11
| | | | | | | | | work on tests CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu13.10-GCE-NoGPU-x86_64-Debug-ASAN-Trybot,Test-Ubuntu12-ShuttleA-GTX660-x86-Debug-Trybot,Test-Win7-ShuttleA-HD2000-x86_64-Debug-Trybot,Test-Win7-ShuttleA-HD2000-x86-Debug-Trybot BUG=skia: Review URL: https://codereview.chromium.org/704923003
* initial checkin for experimentingGravatar reed2014-11-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/696063005
* Change where layer hoisting data is gatheredGravatar robertphillips2014-11-11
| | | | | | | | | | | | This CL: 1) removes the EXPERIMENTAL_optimize on SkCanvas & SkDevice 2) moves the saveLayer gathering step to endRecording 3) Replaces GPUOptimize with SkRecordComputeLayers 4) Update bench_pictures & render_pictures to provide the new flag #2 also necessitated moving the BBH computation (and record optimization) out of SkPicture's ctor (and into endRecording) Review URL: https://codereview.chromium.org/718443002
* Remove SK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER.Gravatar bungeman2014-11-10
| | | | | | | | | This removes the old guarded code and enables the new api introduced with "Update fontMgr to take list of bcp47 language tags." c20386e3937d3d398ac9b35f9c7d997e972ade98 . Blink on Android is already using the new code. Review URL: https://codereview.chromium.org/705843004
* Use GrResourceCache2 to service content key lookupsGravatar bsalomon2014-11-10
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/707493002
* flag imageinfo as srgbGravatar reed2014-11-10
| | | | | | | | | | | | intended uses: - flag a SkSurface as sRGB (only supported by Ganesh for now) - flag images (e.g. png or jpeg) as sRGB if the codec tells us that wins: - faster gamma-correct text (esp. w/ distance-fields) when we can use sRGB for text - better color fidelity when the screen really is sRGB Review URL: https://codereview.chromium.org/676883003
* Address MSAA rendering in layer hoistingGravatar robertphillips2014-11-10
| | | | | | This became relevant whilst attempting to rebaseline the multipicturedraw GMs after turning on layer hoisting inside Skia. Review URL: https://codereview.chromium.org/709943003
* for X in {Dec,BigDec,Scalar}, SkWStream::write"X"AsText no longer mallocsGravatar halcanary2014-11-07
| | | | Review URL: https://codereview.chromium.org/706063002
* Avoid dec = -dec overflow when appending most negative signed integers.Gravatar mtklein2014-11-05
| | | | | | BUG=skia:3096 Review URL: https://codereview.chromium.org/700953003
* Whitelist intentionally racy TRACE_EVENT reads and writes.Gravatar mtklein2014-11-05
| | | | | | | | | | | | | | | | | | | | Chrome's tracing framework appears to be intentionally racy on its quick-reject checks, trading some data loss for better performance when disabled. People will never notice the data loss, but TSAN does. Let's assuage TSAN with some annotations. The 'volatile' val in SK_ANNOTATE_UNPROTECTED_WRITE was making this not compile, but that volatile doesn't really make sense there: the value we're writing is not what we care about, it's the destination. CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot No API changes. TBR=reed BUG=skia: Review URL: https://codereview.chromium.org/702883002
* Crop the fast path dashed lines to the cull rectGravatar robertphillips2014-11-04
| | | | | | | | | | | | | | | | | | | | | | | Without: maxrss loops min median mean max stddev samples config bench 56M 1 13.3ms 13.6ms 13.6ms 14.2ms 2% Ooooo..... 8888 GM_dashing5_bw 56M 13 390us 417us 416us 459us 5% ooooO..o.o gpu GM_dashing5_bw 56M 1 13.4ms 13.9ms 14.1ms 15ms 3% Oooo..ooOo 8888 GM_dashing5_aa 56M 13 402us 421us 416us 425us 2% Ooo.ooOOOO gpu GM_dashing5_aa With: 40M 1 1.53ms 1.54ms 1.54ms 1.55ms 0% oo.O...o.. 8888 GM_dashing5_bw 40M 12 407us 412us 415us 445us 3% ...Oo..... gpu GM_dashing5_bw 40M 1 1.7ms 1.7ms 1.7ms 1.72ms 0% o.O....... 8888 GM_dashing5_aa 43M 13 405us 409us 409us 415us 1% ooo.Ooo..o gpu GM_dashing5_aa The GM images (including the new one) are the same with and without this CL. BUG=428296 Review URL: https://codereview.chromium.org/699623003
* Add tracing to the SkCanvas drawFoo() methods to find long draw ops.Gravatar danakj2014-11-04
| | | | | | BUG=skia:3088 Review URL: https://codereview.chromium.org/702473004
* Include SkTypes so that SK_SUPPORT_GPU is meaningful.Gravatar scroggo2014-11-04
| | | | | | | | | | For the Android framework build, we get our defines from SkUserConfig, rather than from the makefile, so we need to include it (via SkTypes) before we can use our defines. Fixes Android framework build. Review URL: https://codereview.chromium.org/700893002
* Enable distance field path rendering in Chrome.Gravatar jvanverth2014-11-04
| | | | | | | | | | - Add stat tracking for df-renderable paths - Modify GPU rasterization veto to account for df-renderable paths - Remove #define hiding df paths from Chromium and Android BUG=skia:2935 Review URL: https://codereview.chromium.org/685113003
* remove dead SK_DISABLE_DASHING_OPTIMIZATION flagGravatar reed2014-11-04
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/698003004
* Turn SkTaskGroups back on.Gravatar mtklein2014-11-03
| | | | | | | | | | | | | Revert "Disable SkTaskGroup in SkMultiPictureDraw temporarily." Revert "Revert harder, removing SkTaskGroup.cpp from core temporarily." NOTREECHECKS=true BUG=skia: Committed: https://skia.googlesource.com/skia/+/2100c5ed7a5e5470a04e7af7309d8bd3fc4249f7 Review URL: https://codereview.chromium.org/687263007
* Manually load CONDITION_VARIABLE methods on Windows, checking for failure (XP).Gravatar mtklein2014-11-03
| | | | | | | | | | | | Tested by running DM on XP. Before this patch, it fails at startup (even just out/Debug/dm --help). Now it asserts for other reasons later on in user code, which is just fine by me. The net effect is that SkTaskGroups will always be synchronous on XP. That's not ideal, but a step up from crashing. CQ_EXTRA_TRYBOTS=client.skia:Test-Win7-ShuttleA-HD2000-x86-Release-Trybot,Test-Win7-ShuttleA-HD2000-x86_64-Release-Trybot BUG=skia: Review URL: https://codereview.chromium.org/700683002
* Add comments to SkRecordDraw to help people follow.Gravatar danakj2014-11-03
| | | | | | | | | | The calls to visit() to execute the SkRecord::Draw::operator() code path is not clear to read, so adding some comments to help other new-comers follow this through to the SkCanvas calls. R=mtklein@chromium.org Review URL: https://codereview.chromium.org/695403003
* Shrink saveLayer device bounds when it supplies an explicit bounds and has a ↵Gravatar robertphillips2014-11-03
| | | | | | | | | | | | | | | | | | | | | | complex paint This CL shrinks the bound computed for saveLayers that possess both an explicit bound and a complex paint (e.g., one that affects transparent black). In this case the bound of the layer should be the clipped explicit bound rather then the clip prior/after the saveLayer/restore block. In the following the first bound is the currently computed bound while the second is the new/desired one: For a 100x100 picture saveLayer (no bound, no paint) [ 0 0 100 100 ] [ 50 50 100 100 ] setMatrix (translate 50, 50) [ 0 0 100 100 ] [ 50 50 100 100 ] saveLayer (bound of 0, 0, 50, 50 - complex paint) [ 0 0 100 100 ] [ 50 50 100 100 ] restore [ 0 0 100 100 ] [ 50 50 100 100 ] restore [ 0 0 100 100 ] [ 50 50 100 100 ] Review URL: https://codereview.chromium.org/696763002
* Always enable layer hoisting in SkiaGravatar robertphillips2014-11-03
| | | | | | This will prevent bit rot of the layer hoisting code and position us better for turning this on in Chromium. Review URL: https://codereview.chromium.org/698493002
* Revert of Turn SkTaskGroups back on. (patchset #1 id:1 of ↵Gravatar mtklein2014-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/687263007/) Reason for revert: precautionary revert. may have caused WinXP crashes on Chrome tree: https://code.google.com/p/chromium/issues/detail?id=429207 Original issue's description: > Turn SkTaskGroups back on. > > Revert "Disable SkTaskGroup in SkMultiPictureDraw temporarily." > Revert "Revert harder, removing SkTaskGroup.cpp from core temporarily." > > NOTREECHECKS=true > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/2100c5ed7a5e5470a04e7af7309d8bd3fc4249f7 TBR=reed@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/693993002
* Objects should be unrefed instead of deletedGravatar sugoi2014-10-31
| | | | | | | | When an error occurs reading a flattenable object, it should be unrefed instead of deleted because, in the case of SkXferMode, for example, we'd actually be deleting a cached object kept in a static array. BUG=428789 Review URL: https://codereview.chromium.org/695633003
* Turn SkTaskGroups back on.Gravatar mtklein2014-10-31
| | | | | | | | | | | Revert "Disable SkTaskGroup in SkMultiPictureDraw temporarily." Revert "Revert harder, removing SkTaskGroup.cpp from core temporarily." NOTREECHECKS=true BUG=skia: Review URL: https://codereview.chromium.org/687263007
* Trying to be consistent when members are allowed to be NULLGravatar sugoi2014-10-30
| | | | | | | | Got a few crashes running the fuzzer locally, all related to handling NULL members/parameters in an inconsistent way. BUG=skia: Review URL: https://codereview.chromium.org/675013003
* Fix member variable namingGravatar robertphillips2014-10-30
| | | | | | | | This renaming was missed in (MultiPictureDraw is taskgroup aware - https://codereview.chromium.org/684923002) TBR=reed@google.com Review URL: https://codereview.chromium.org/654293005
* Make RTree handle the case where the playback canvas has empty clip boundsGravatar junov2014-10-30
| | | | | | BUG=skia:3074 Review URL: https://codereview.chromium.org/678303004
* Disable SkTaskGroup in SkMultiPictureDraw temporarily.Gravatar mtklein2014-10-30
| | | | | | | | Think this should be enough to get rolling again. NOTREECHECKS=true Review URL: https://codereview.chromium.org/687273006
* Revert of Use SkTypeface::getBounds() in bounding-box calculations. ↵Gravatar mtklein2014-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #5 id:80001 of https://codereview.chromium.org/680363003/) Reason for revert: Mac mini asserting Original issue's description: > Use SkTypeface::getBounds() in bounding-box calculations. > > This should produce tighter conservative bounding boxes for text than the > approximation code it replaces. > > Recording performance is neutral on my desktop. Playback performance > improves by up to 15% on text heavy pages, e.g. > > desk_pokemonwiki.skp_1 3.24ms -> 2.83ms 0.87x > desk_baidu.skp_1 1.91ms -> 1.58ms 0.83x > > Committed: https://skia.googlesource.com/skia/+/bf8dc343df4fbdcb8af546eb68b640e011a33489 > > CQ_EXTRA_TRYBOTS=client.skia:Test-Win7-ShuttleA-HD2000-x86-Debug-Trybot > > Committed: https://skia.googlesource.com/skia/+/c51add674dfb89b988a7fbc05f41838c203f9dcd TBR=reed@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/690833002
* use SkTaskGroup::batchGravatar reed2014-10-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/688753002
* Use SkTypeface::getBounds() in bounding-box calculations.Gravatar mtklein2014-10-29
| | | | | | | | | | | | | | | | | This should produce tighter conservative bounding boxes for text than the approximation code it replaces. Recording performance is neutral on my desktop. Playback performance improves by up to 15% on text heavy pages, e.g. desk_pokemonwiki.skp_1 3.24ms -> 2.83ms 0.87x desk_baidu.skp_1 1.91ms -> 1.58ms 0.83x Committed: https://skia.googlesource.com/skia/+/bf8dc343df4fbdcb8af546eb68b640e011a33489 CQ_EXTRA_TRYBOTS=client.skia:Test-Win7-ShuttleA-HD2000-x86-Debug-Trybot Review URL: https://codereview.chromium.org/680363003
* SkTaskGroup::batch(fn, args, N)Gravatar mtklein2014-10-29
| | | | | | | | Porting QuiltTask isn't important in itself; this is mostly an API feeler. BUG=skia: Review URL: https://codereview.chromium.org/689673003
* Discard atlas after every MultiPictureDraw::drawGravatar robertphillips2014-10-29
| | | | | | | | | | This is intended to prevent ghosting on tiled architectures. This CL also defers creation of the atlas (and its texture) until it is actually needed. Committed: https://skia.googlesource.com/skia/+/6d5b5455743414ddb11d2b8c1fe9d7959f2b853d Review URL: https://codereview.chromium.org/678403002
* remove now unused (by Chrome) ifdefGravatar humper2014-10-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/688043002
* MultiPictureDraw is taskgroup aware.Gravatar reed2014-10-29
| | | | | | | | SampleApp is multipicturedraw aware. BUG=skia: Review URL: https://codereview.chromium.org/684923002
* Fix bounds computation of all 0-input filters.Gravatar senorblanco2014-10-29
| | | | | | | | | | | The SkRectShaderImageFilter had the same bug as previously fixed for SkBitmapSource and SkPictureImageFilter. Rather than copy-and-paste the implementation, this change makes all filters with 0 inputs return their source bounds, instead of returning false. BUG=427251 Review URL: https://codereview.chromium.org/681643003