aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
Commit message (Collapse)AuthorAge
* Revert of Make "priv" classes for GrTexure and GrSurface. (patchset #9 ↵Gravatar robertphillips2014-09-30
| | | | | | | | | | | | | | | | | | | | | | | id:260001 of https://codereview.chromium.org/596053002/) Reason for revert: Breaking the Chrome builds with: lib/libcc.so: error: undefined reference to 'GrAutoScratchTexture::detach()' (http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2990/steps/Retry_BuildContentShell_1/logs/stdio) Original issue's description: > Make "priv" classes for GrTexure and GrSurface. R=egdaniel@google.com, joshualitt@google.com, bsalomon@google.com TBR=bsalomon@google.com, egdaniel@google.com, joshualitt@google.com NOTREECHECKS=true NOTRY=true Author: robertphillips@google.com Review URL: https://codereview.chromium.org/618733002
* Revert of GrResourceCache2 manages scratch texture. (patchset #14 id:260001 ↵Gravatar robertphillips2014-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/608883003/) Reason for revert: Turning bots red: Nanobench seems to be uniformly failing on Android (http://108.170.220.21:10117/builders/Perf-Android-Venue8-PowerVR-x86-Release/builds/99/steps/RunNanobench/logs/stdio) Ubuntu GTX660 32bit is failing in both Debug and Release on GM generation (it appears to be out of memory) (http://108.170.220.120:10117/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Debug/builds/2457/steps/GenerateGMs/logs/stdio) Original issue's description: > GrResourceCache2 manages scratch texture. > > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/3d398c876440deaab39bbf2a9b881c337e6dc8d4 R=bsalomon@google.com TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: robertphillips@google.com Review URL: https://codereview.chromium.org/611383003
* GrResourceCache2 manages scratch texture.Gravatar bsalomon2014-09-30
| | | | | | | | | BUG=skia: R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/608883003
* Make "priv" classes for GrTexure and GrSurface.Gravatar bsalomon2014-09-29
| | | | | | | | R=robertphillips@google.com, egdaniel@google.com, joshualitt@google.com, joshualitt@chromium.org Author: bsalomon@google.com Review URL: https://codereview.chromium.org/596053002
* remove alphatype from colortableGravatar reed2014-09-29
| | | | | | | | | | | the owning bitmap is (already) responsible for knowing the alphatype BUG=skia: R=djsollen@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/611093002
* Move offset and CTM from LayerCache Key to per-hoisted-layer infoGravatar robertphillips2014-09-29
| | | | | | | | | | | | | | | | | | This CL reduces the amount of information used in the layer cache key: - the stop value isn't needed since the start value uniquely identifies the layer in the picture. - only the upper-left 2x2 portion of the CTM should be used as a key for looking up cached layers. - individual layers can be redraw in different locations so the final offset cannot be a part of the key. Since this data is no longer stored in the cached layer, but is still required to draw the cached layer, it is now stored in the per-layer information (i.e., HoistedLayer). This is split out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/). BUG=skia:2315 R=egdaniel@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/609403003
* Sanitize SkMatrixConvolutionImageFilter creation params.Gravatar senorblanco2014-09-29
| | | | | | | | | | | Apply the same memory limit in the Create() function that we do when deserializing. R=reed@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/610723002
* fail on extremely large coincident curvesGravatar caryclark2014-09-29
| | | | | | | | | TBR= BUG=418381 Author: caryclark@google.com Review URL: https://codereview.chromium.org/607913007
* Update RecordReplaceDrawTest to generate and pass picturesGravatar robertphillips2014-09-29
| | | | | | | | | | | | This CL splits the unit test changes out of (Fix sub-picture layer rendering bugs - https://codereview.chromium.org/597293002/). For various reasons GrRecordReplaceDraw now needs to take an SkPicture (rather than an SkRecord and a BBH). R=egdaniel@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/608823002
* SkMatrix44::preserves2dAxisAlignment()Gravatar tomhudson2014-09-26
| | | | | | | | | | | | Convenience function requested for Chrome compositor that may have a performance advantage. BUG=skia:1017 R=reed@google.com, danakj@chromium.org, vollick@chromium.org Author: tomhudson@google.com Review URL: https://codereview.chromium.org/508303005
* Fix SkTableColorFilter deserialization validation.Gravatar senorblanco2014-09-25
| | | | | | | | | | | | | Broken in https://skia.googlesource.com/skia/+/9fa60daad4d5f54c0dbe3dbcc7608a8f6d721187. R=reed@google.com TBR=reed@google.com BUG=skia: Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/604873004
* Remove SkPaint dirty bits.Gravatar mtklein2014-09-25
| | | | | | | | | | | | | | | | | | | | | | | fDirtyBits is only used by SkPaint::FlatteningTraits, which in turn was only used as a smaller, faster format to flatten paints in-memory to dedup them in the old picture backend. SkRecord obsoleted all this. Neither flatten()/unflatten() (disk format) nor FlatteningTraits is used anywhere performance or size matters. Here I revert the deduping code back to using the disk format for flattened paints. We stil do have to flatten and unflatten paints while coverting from SkRecord backend to the old backend, so we can't just delete this all yet, but any faithful round trip flatten()/unflatten() pair will be fine, however slow. NOTRY=true BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/604813003
* SkCanvas::drawImage is the new way for drawing a SkImage to a CanvasGravatar piotaixr2014-09-24
| | | | | | | | | | | | BUG=skia:2947 Committed: https://skia.googlesource.com/skia/+/432789972c1e1f8a66165c75a250dba1853efa08 R=junov@chromium.org, reed@google.com, bsalomon@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/583453002
* Fix SkXfermode deserialization.Gravatar senorblanco2014-09-24
| | | | | | | | | | | Validation was failing due to an inverted test condition. BUG=417266 R=reed@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/596333002
* Correct glyph with non-bmp from typeface on Mac.Gravatar bungeman2014-09-24
| | | | | | | | | | | | | CTFontGetGlyphsForChars puts the glyph id at the index of the lead surrogate as is documented in comments, but the code is looking at the index of the trail surrogate. BUG=skia:2960 R=mtklein@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/596413002
* Revert of SkCanvas::drawImage is the new way for drawing an SkImage to a ↵Gravatar borenet2014-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | Canvas (patchset #9 id:160001 of https://codereview.chromium.org/583453002/) Reason for revert: Broke ChromiumOS Ozone builder: http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Ozone%20Builder/builds/4087/steps/compile/logs/stdio Reverting to unblock DEPS roll. Original issue's description: > SkCanvas::drawImage is the new way for drawing a SkImage to a Canvas > > BUG=skia:2947 > > Committed: https://skia.googlesource.com/skia/+/432789972c1e1f8a66165c75a250dba1853efa08 R=junov@chromium.org, reed@google.com, bsalomon@google.com, piotaixr@chromium.org TBR=bsalomon@google.com, junov@chromium.org, piotaixr@chromium.org, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2947 Author: borenet@google.com Review URL: https://codereview.chromium.org/598133002
* Update layer hoisting code to correctly render sub-picture layersGravatar robertphillips2014-09-24
| | | | | | | | | | | The prior code assumed all layers came from a single picture. BUG=skia:2315 R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/595543002
* SkCanvas::drawImage is the new way for drawing a SkImage to a CanvasGravatar piotaixr2014-09-23
| | | | | | | | | BUG=skia:2947 R=junov@chromium.org, reed@google.com, bsalomon@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/583453002
* We need to adjust the bounds of clip ops with SaveLayer paints too.Gravatar Mike Klein2014-09-23
| | | | | | | | | | | | | Before this CL, SkRecord only adjusted the bounds of draw ops for SaveLayers' paints. That worked fine, but as a final step we intersect the bounds of draw ops with the bounds of the current clip, essentially undoing all that work. I think the right fix here is to also adjust the bounds of the clip ops. BUG=skia:2957, 415468 R=robertphillips@google.com Review URL: https://codereview.chromium.org/595953002
* Patch to create a distinct geometry processor. The vast majority of this patchGravatar joshualitt2014-09-23
| | | | | | | | | | | | | is just a rename. The meat is in GrGeometryProcessor, GrProcessor, GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory, GrProcessUnitTestFactory, and the builders BUG=skia: R=bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/582963002
* Calculate Primary and Secondary output types in the GrOptDrawStateGravatar egdaniel2014-09-22
| | | | | | | | | | | Follow up CL to https://codereview.chromium.org/545693004/ BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/554833002
* Change GrGLProgramDesc header to have DoPathRendering flag instead of ↵Gravatar egdaniel2014-09-22
| | | | | | | | | | | | | | RequiresVertexShader Also update GLProgramTests to fix bug where it would incorrectly try to PathRendering when we did not want to. BUG=skia: R=bsalomon@google.com, joshualitt@chromium.org Author: egdaniel@google.com Review URL: https://codereview.chromium.org/586793002
* Make a flipped fDirtyBit always mean "this field is not the default".Gravatar mtklein2014-09-22
| | | | | | | | | | | Haven't been able to measure any perf effect, so I figure I'll let the bots have at it. BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/595583003
* Introduce Props to surface (patchset #27 id:520001 of ↵Gravatar reed2014-09-22
| | | | | | | | | | | | https://codereview.chromium.org/551463004/)" This reverts commit 29c857d0f3a1cb837f73406eeb6ba9771879b5e7. TBR= Author: reed@google.com Review URL: https://codereview.chromium.org/588143004
* Revert of introduce Props to surface (patchset #27 id:520001 of ↵Gravatar reed2014-09-21
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/551463004/) Reason for revert: Broke call site in WebKit Original issue's description: > introduce Props to surface (work in progress) > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/3716fd067a5621bb94a6cb08d72afec8bf3aceda R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@google.com TBR=bsalomon@google.com, bungeman@google.com, fmalita@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com, vangelis@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Author: reed@chromium.org Review URL: https://codereview.chromium.org/583773004
* introduce Props to surface (work in progress)Gravatar reed2014-09-21
| | | | | | | | | BUG=skia: R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/551463004
* Souped-up SkTextBlob.Gravatar fmalita2014-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored text blob backend for improved performance: instead of using separate buffers for runs/positions/glyphs, everything is now packed in a consolidated slab (including the SkTextBlob object itself!). Benefits: * number of allocations per blob construction reduced from ~4 to 1 (also minimizes internal fragmentation) * run record size reduced by 8 bytes This takes the blob construction overhead down to negligible levels (for the current Blink uncached textblob implementation). Unfortunately, the code is much more finicky (run merging in particular) -- hence the assert spree. Multi-run blobs are vulnerable to realloc storms but this is not a problem at the moment because Blink is using one-run blobs 99% of the time. Will be addressed in the future. R=mtklein@google.com, reed@google.com, robertphillips@google.com Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4 Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/581173003
* Revert of Souped-up SkTextBlob. (patchset #3 id:40001 of ↵Gravatar fmalita2014-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/581173003/) Reason for revert: Broke the new blobshader gm. Original issue's description: > Souped-up SkTextBlob. > > Refactored text blob backend for improved performance: instead of using > separate buffers for runs/positions/glyphs, everything is now packed in > a consolidated slab (including the SkTextBlob object itself!). > > Benefits: > > * number of allocations per blob construction reduced from ~4 to 1 > (also minimizes internal fragmentation) > * run record size reduced by 8 bytes > > This takes the blob construction overhead down to negligible levels > (for the current Blink uncached textblob implementation). > > Unfortunately, the code is much more finicky (run merging in > particular) -- hence the assert spree. > > Multi-run blobs are vulnerable to realloc storms but this is not a > problem at the moment because Blink is using one-run blobs 99% of the > time. Will be addressed in the future. > > > R=reed@google.com,mtklein@google.com,robertphillips@google.com > > Committed: https://skia.googlesource.com/skia/+/13645ea0ea87038ebd71be3bd6d53b313069a9e4 R=mtklein@google.com, reed@google.com, robertphillips@google.com TBR=mtklein@google.com, reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/588853002
* Souped-up SkTextBlob.Gravatar fmalita2014-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactored text blob backend for improved performance: instead of using separate buffers for runs/positions/glyphs, everything is now packed in a consolidated slab (including the SkTextBlob object itself!). Benefits: * number of allocations per blob construction reduced from ~4 to 1 (also minimizes internal fragmentation) * run record size reduced by 8 bytes This takes the blob construction overhead down to negligible levels (for the current Blink uncached textblob implementation). Unfortunately, the code is much more finicky (run merging in particular) -- hence the assert spree. Multi-run blobs are vulnerable to realloc storms but this is not a problem at the moment because Blink is using one-run blobs 99% of the time. Will be addressed in the future. R=mtklein@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/581173003
* Stop calling rand() in debug-only code for GLProgramsTestGravatar bsalomon2014-09-19
| | | | | | | | R=egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/584913002
* fail early if coincidence can't be resolvedGravatar caryclark2014-09-19
| | | | | | | | | | | | Bail out if a very large value causes coincidence resolution to fail. TBR= BUG=415866 Author: caryclark@google.com Review URL: https://codereview.chromium.org/585913002
* Bis: Use SkImage::NewFromGenerator() instead of SkImage::newEncodedData()Gravatar piotaixr2014-09-18
| | | | | | | | | BUG=skia:2948 R=junov@chromium.org, reed@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/579923002
* Serialize the font index.Gravatar bungeman2014-09-18
| | | | | | | | | BUG=skia:1186 R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/567013002
* fix battlefield website by disallowing very small coordinatesGravatar caryclark2014-09-18
| | | | | | | | | | | also add and remove comments to document other attempts to fix this that had drawbacks R=fmalita@chromium.org BUG=414409 Author: caryclark@google.com Review URL: https://codereview.chromium.org/575553003
* Copy layer-hoisting related SkPaintsGravatar robertphillips2014-09-18
| | | | | | | | | | | | This is intended to disconnect the lifetimes of the optimization data, cached layers and replacement objects. Note that the optimization data already makes a copy of the paint in the SkPicture. Additionally the replacement object will probably go away at some point. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/579843002
* use surface instead of explicitly making gpudeviceGravatar reed2014-09-18
| | | | | | | | TBR=bsalomon Author: reed@google.com Review URL: https://codereview.chromium.org/585493002
* Add SkMiniData.Gravatar mtklein2014-09-17
| | | | | | | | | | | | | | | This is a bit like a limited SkData, geared to store really tiny byte strings. This is not hooked up anywhere beyond the new unit test. I did experimentally plumb it into SkRecord for drawPosTextH: just over 40% of drawPosTextH calls in our repo can fit into ShortData. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/573323002
* Calculate stage stats in GrOptDrawStateGravatar egdaniel2014-09-17
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/545693004
* Separate replacement creation from layer discoveryGravatar robertphillips2014-09-17
| | | | | | | | | | This is a simple refactoring that sets the stage for eliminating GrReplacements::ReplacementInfo and splitting up EXPERIMENTAL_drawPicture to support multi picture draw. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/559603004
* Turn disable or delete optimizations that don't have any effect.Gravatar mtklein2014-09-16
| | | | | | | | | | | Recording gets a ~5% speedup. BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/577673003
* allow SkBitmapCache to operate on a local instance, for testabilityGravatar reed2014-09-16
| | | | | | | | | BUG=skia: R=mtklein@google.com, danakj@chromium.org, piotaixr@chromium.org, junov@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/576763002
* Fix bug in layer hoisting transition to SkRecord backendGravatar robertphillips2014-09-16
| | | | | | | | | | Care must be taken when setting up the initial CTM matrix for partial SkRecord playbacks b.c. all the setMatrix calls will concatenate with the initial matrix (which may be different then the CTM that is required to draw correctly). R=mtklein@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/549143003
* Fix convexicator bugGravatar robertphillips2014-09-16
| | | | | | | | | BUG=crbug.com/412640 R=caryclark@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/573763002
* Add helper SkMatrix44::hasPerspective()Gravatar tomhudson2014-09-16
| | | | | | | | | BUG=skia:1017 R=danakj@chromium.org, reed@google.com Author: tomhudson@google.com Review URL: https://codereview.chromium.org/513343002
* removing GrDrawEffectGravatar joshualitt2014-09-16
| | | | | | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/8ddbe8b9366c8c59c4fb55f01f253de8a0b37d6e R=bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/571163002
* Revert of removing GrDrawEffect (patchset #4 id:60001 of ↵Gravatar joshualitt2014-09-16
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/571163002/) Reason for revert: reverting to unblock another revert Original issue's description: > removing GrDrawEffect > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/8ddbe8b9366c8c59c4fb55f01f253de8a0b37d6e R=bsalomon@google.com TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/577593003
* removing GrDrawEffectGravatar joshualitt2014-09-16
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/571163002
* Picture Recording: fix the performance bottleneck in ↵Gravatar yunchao.he2014-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkDeferredCanvas::isFullFrame blink skips all pending commands during picture recording if it is drawing an opaque full-frame geometry or image. This may improve performance for some edge cases. To recognize an opaque full-frame drawing should be cheap enough. Otherwise, the overhead will offset the improvement. Unfortunately, data from perf for content_shell on Nexus7 shows that SkDeferredCanvas::isFullFrame is far from cheap. Table below shows that how much isFullFrame() costs in the whole render process. benchmark percentage my local benchmark(draw 1000 sprites) 4.1% speedReading 2.8% FishIETank(1000 fishes) 1.5% GUIMark3 Bitmap 2.0% By contrast, real recording (SkGPipeCanvas::drawBitmapRectToRect) and real rasterization (GrDrawTarget::drawRect) cost ~4% and ~6% in the whole render process respectively. Apparently, SkDeferredCanvas::isFullFrame() is nontrivial. getDeviceSize() is the main contributor to this hotspot. The change simply save the canvasSize and reuse it among drawings if it is not a fresh frame. This change cut off ~65% (or improved ~2 times) of isFullFrame(). telemetry smoothness canvas_tough_test didn't show obvious improvement or regression. BUG=411166 Committed: https://skia.googlesource.com/skia/+/8e45c3777d886ba3fe239bb549d06b0693692152 R=junov@chromium.org, tomhudson@google.com, reed@google.com Author: yunchao.he@intel.com Review URL: https://codereview.chromium.org/545813002
* BUG=skia:Gravatar joshualitt2014-09-15
| | | | | | | | R=bsalomon@google.com, egdaniel@google.com, jvanverth@google.com, robertphillips@google.com Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/543623004
* Change SkResourceCache to take a Visitor inside its find().Gravatar reed2014-09-15
| | | | | | | | | | | This reverts commit 595aa05efcb504e85358b8d328ac4a9fa1c46e2e. BUG=skia: R=mtklein@google.com, danakj@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/569353002