aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
Commit message (Collapse)AuthorAge
* Add onGetFamilyName to SkTypeface.Gravatar bungeman2014-09-17
| | | | | | | | | | | This speeds up and documents this particular feature of SkTypeface and also frees up SkFontDescriptor to be used only in serialization. R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/574873002
* Revert "Revert "Move SkGpuDevice.h to src/gpu""Gravatar bsalomon2014-09-17
| | | | | | | | | | | This reverts commit b0a35f7c5d2c4bfeb601e3ac43f412d202a25292. R=borenet@google.com TBR=borenet@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/575783003
* Revert "Move SkGpuDevice.h to src/gpu"Gravatar borenet2014-09-17
| | | | | | | | | | | | | | | This reverts commit d99bbb61e58e8bd34db3954147ce1c9166fe4637. Causing Chrome canary failures as well as failures of Chrome trybots due to not cleaning up properly after failed DEPS roll attempts. BUG=skia: R=bsalomon@google.com, reed@google.com TBR=bsalomon, reed Author: borenet@google.com Review URL: https://codereview.chromium.org/579733003
* Move SkGpuDevice.h to src/gpuGravatar bsalomon2014-09-16
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/545193006
* Make templated GrProgramTResource subclass of GrProgramResourceGravatar bsalomon2014-09-16
| | | | | | | | R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/563963004
* when we disable lcd for impl reasons, add kGenA8 to document the original intentGravatar reed2014-09-16
| | | | | | | | | BUG=skia: R=bungeman@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/572933004
* 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
* add dumpHex() option to SkPathGravatar caryclark2014-09-15
| | | | | | | | | | | | | This provides exact precision to help debugging when the float representation of a SkScalar may introduce error. R=reed@google.com Author: caryclark@google.com Review URL: https://codereview.chromium.org/571973003
* Revert of Picture Recording: fix the performance bottleneck in ↵Gravatar mtklein2014-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkDeferredCanvas::isFullFrame (patchset #7 id:140001 of https://codereview.chromium.org/545813002/) Reason for revert: This is leaking memory: http://108.170.220.120:10117/builders/Test-Ubuntu13.10-GCE-NoGPU-x86_64-Debug-ASAN/builds/2516/steps/RunDM/logs/stdio Original issue's description: > Picture Recording: fix the performance bottleneck in 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, yunchao.he@intel.com TBR=junov@chromium.org, reed@google.com, tomhudson@google.com, yunchao.he@intel.com NOTREECHECKS=true NOTRY=true BUG=411166 Author: mtklein@google.com Review URL: https://codereview.chromium.org/571053002
* Picture Recording: fix the performance bottleneck in ↵Gravatar yunchao.he2014-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 R=junov@chromium.org, tomhudson@google.com, reed@google.com Author: yunchao.he@intel.com Review URL: https://codereview.chromium.org/545813002
* Add support for the Rec601 YUV color space to GrYUVtoRGBEffect.Gravatar rileya2014-09-12
| | | | | | | | R=bsalomon@google.com, senorblanco@chromium.org, sugoi@chromium.org, reed@google.com Author: rileya@chromium.org Review URL: https://codereview.chromium.org/516463005
* Do not expect a copysign function to be defined in <cmath> with clang-clGravatar ehsan.akhgari2014-09-12
| | | | | | | | | | | | clang-cl defines __cplusplus to 201103L, but it uses the runtime library provided by MSVC, so the copysign function will not be available there. BUG=skia: R=reed@google.com Author: ehsan.akhgari@gmail.com Review URL: https://codereview.chromium.org/526813002
* use SkData::NewUninitializedGravatar reed2014-09-12
| | | | | | | | | BUG=skia: R=bungeman@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/565803005
* remove confusing/unused stream methodsGravatar reed2014-09-12
| | | | | | | | | BUG=skia: R=bungeman@google.com, djsollen@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/563273003
* add PurgeResourceCache to track leaksGravatar reed2014-09-11
| | | | | | | | TBR=halcananry Author: reed@google.com Review URL: https://codereview.chromium.org/554263005
* SkData can allocate room for its contents in the same blockGravatar reed2014-09-11
| | | | | | | | | BUG=skia: R=bungeman@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/560653004
* Assert SkTDArray::pop() doesn't underflow.Gravatar mtklein2014-09-11
| | | | | | | | | BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/563633003
* Remove a layer of indirection and code from SkFontHost.Gravatar bungeman2014-09-10
| | | | | | | | R=mtklein@google.com, tomhudson@google.com, djsollen@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/105223006
* make set3DMask virtual, so we can safely notify the shadercontextGravatar reed2014-09-10
| | | | | | | | | | | also boost preallocated storage to account for this combo of bitmapshader + emboss + colorfilter BUG=skia: R=djsollen@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/563563002
* disable conservative rasterclip on gpu, until we understand perspectiveGravatar reed2014-09-10
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/561763002
* Revert of Revert of allow canvas to force conservative clips (for speed) ↵Gravatar reed2014-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/554033003/) Reason for revert: May just rebaseline, plus want to see the results of the chrome tests, so re-trying this CL. Original issue's description: > Revert of allow canvas to force conservative clips (for speed) (patchset #7 id:120001 of https://codereview.chromium.org/541593005/) > > Reason for revert: > multipicturedraw failed on nvprmsaa -- don't know why yet > > Original issue's description: > > Allow SkCanvas to be initialized to force conservative rasterclips. This has the following effects: > > > > 1. Queries to the current clip will be conservatively large. This can mean the quickReject may return false more often. > > > > 2. The conservative clips mean less work is done. > > > > 3. Enabled by default for Gpu, Record, and NoSaveLayer canvases. > > > > 4. API is private for now. > > > > Committed: https://skia.googlesource.com/skia/+/27a5e656c3d6ef22f9cb34de18e1b960da3aa241 > > TBR=robertphillips@google.com,bsalomon@google.com,mtklein@google.com,junov@google.com > NOTREECHECKS=true > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/6f09709519b79a1159f3826645f1c5fbc101ee11 R=robertphillips@google.com, bsalomon@google.com, mtklein@google.com, junov@google.com, reed@google.com TBR=bsalomon@google.com, junov@google.com, mtklein@google.com, reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: reed@chromium.org Review URL: https://codereview.chromium.org/560713002
* Revert of allow canvas to force conservative clips (for speed) (patchset #7 ↵Gravatar reed2014-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/541593005/) Reason for revert: multipicturedraw failed on nvprmsaa -- don't know why yet Original issue's description: > Allow SkCanvas to be initialized to force conservative rasterclips. This has the following effects: > > 1. Queries to the current clip will be conservatively large. This can mean the quickReject may return false more often. > > 2. The conservative clips mean less work is done. > > 3. Enabled by default for Gpu, Record, and NoSaveLayer canvases. > > 4. API is private for now. > > Committed: https://skia.googlesource.com/skia/+/27a5e656c3d6ef22f9cb34de18e1b960da3aa241 R=robertphillips@google.com, bsalomon@google.com, mtklein@google.com, junov@google.com TBR=bsalomon@google.com, junov@google.com, mtklein@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: reed@google.com Review URL: https://codereview.chromium.org/554033003
* Allow SkCanvas to be initialized to force conservative rasterclips. This has ↵Gravatar reed2014-09-09
| | | | | | | | | | | | | | | | | | the following effects: 1. Queries to the current clip will be conservatively large. This can mean the quickReject may return false more often. 2. The conservative clips mean less work is done. 3. Enabled by default for Gpu, Record, and NoSaveLayer canvases. 4. API is private for now. R=robertphillips@google.com, bsalomon@google.com, mtklein@google.com, junov@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/541593005
* Make GrEffectStage copy constructor work correctly with pending execution refs.Gravatar bsalomon2014-09-08
| | | | | | | | R=egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/551083002
* Remove debug-only ref of GrEffectStageGravatar bsalomon2014-09-08
| | | | | | | | | BUG=skia:2889 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/553973002
* Make GrDrawState and GrEffectStage use the pending io/exec ref mechanisms.Gravatar bsalomon2014-09-05
| | | | | | | | | BUG=skia:2889 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/542723004
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Don't take a ref on GP in AutoEffectRestore.Gravatar bsalomon2014-09-05
| | | | | | | | | BUG=skia:2889 R=joshualitt@chromium.org, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/546043002
* Add method to GrProgramResource to record that pending a execution was ↵Gravatar bsalomon2014-09-04
| | | | | | | | | | | completed. BUG=skia:2889 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/543833002
* Add GrProgramElement base class for GrEffect with deferred exec ref.Gravatar bsalomon2014-09-04
| | | | | | | | | BUG=skia:2889 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/537773004
* add SK_API to forward declare in canvas.hGravatar reed2014-09-04
| | | | | | | | | NOTRY=True TBR= Author: reed@google.com Review URL: https://codereview.chromium.org/541073002
* remove getTotalClipAsPath, privatize getTotalClipGravatar reed2014-09-04
| | | | | | | | | R=robertphillips@google.com, djsollen@google.com TBR=robertphilips Author: reed@google.com Review URL: https://codereview.chromium.org/546493002
* Change SkPicture::draw to playbackGravatar robertphillips2014-09-04
| | | | | | | | R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/540963002
* Switch Layer Hoisting over to SkRecord backendGravatar robertphillips2014-09-04
| | | | | | | | | R=bsalomon@google.com TBR=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/540543002
* Add reference base class to GrGpuResourcewith pending IO references.Gravatar bsalomon2014-09-03
| | | | | | | | | BUG=skia:2889 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/533343002
* Remove use of EXPERIMENTAL_getActiveOps from layer hoisting codeGravatar robertphillips2014-09-03
| | | | | | | | | | This is getting in the way of switching to the SkRecord backend and is of questionable value. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/539693002
* Hide fields in SkImageInfoGravatar reed2014-09-03
| | | | | | | | | R=rmistry@google.com TBR=bsalomon Author: reed@google.com Review URL: https://codereview.chromium.org/536003002
* Replace SkPictureReplacementPlayback with GrRecordReplaceDrawGravatar robertphillips2014-09-03
| | | | | | | | | | I think this is sufficiently specialized to keep it in Ganesh for the time being. R=bsalomon@google.com, mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/535953002
* Revert of Add gamma/sRGB tag to SkImageInfo (patchset #1 id:1 of ↵Gravatar reed2014-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/527073003/) Reason for revert: virtual gpu failures in layouttests http://build.chromium.org/p/tryserver.blink/builders/linux_blink_dbg/builds/23717 [6:6:0903/041147:1700960503:INFO:SkBitmap.cpp(1003)] ../../third_party/skia/src/core/SkBitmap.cpp:1003: failed assertion "fPixelRef->info() == pixelRef->info()" [6:6:0903/041147:1700961002:FATAL:SkBitmap.cpp(1003)] SK_CRASH #0 0x7f9867df2c1e base::debug::StackTrace::StackTrace() #1 0x7f9867e89e05 logging::LogMessage::~LogMessage() #2 0x7f98689c4970 SkDebugf_FileLine() #3 0x7f986870ebc6 SkBitmap::deepCopyTo() #4 0x7f98690a3b6d blink::deepSkBitmapCopy() #5 0x7f98690a3abe blink::ImageBuffer::copyImage() #6 0x7f985fd4479e blink::ImageBitmap::ImageBitmap() #7 0x7f985fd45942 blink::ImageBitmap::create() #8 0x7f985fd84fdc blink::ImageBitmapFactories::createImageBitmap() #9 0x7f985fd84d11 blink::ImageBitmapFactories::createImageBitmap() #10 0x7f985ec9a7f2 blink::LocalDOMWindowV8Internal::createImageBitmap13Method() #11 0x7f985ec96b0c blink::LocalDOMWindowV8Internal::createImageBitmapMethod() #12 0x7f985ec91954 blink::LocalDOMWindowV8Internal::createImageBitmapMethodCallback() #13 0x7f9869955af0 v8::internal::FunctionCallbackArguments::Call() #14 0x7f98699833bd v8::internal::Builtin_HandleApiCall() Original issue's description: > Add gamma/sRGB tag to SkImageInfo > > This reverts commit 1cbc68f9659f15206d920dacd434ddf4b658ad1f. > > requires this to land in blink https://codereview.chromium.org/531883002/ > > Committed: https://skia.googlesource.com/skia/+/2f6abdecc5c2f21da13003c615903679abc73fc7 R=fmalita@google.com, reed@chromium.org TBR=fmalita@google.com, reed@chromium.org NOTREECHECKS=true NOTRY=true Author: reed@google.com Review URL: https://codereview.chromium.org/535113002
* Add gamma/sRGB tag to SkImageInfoGravatar reed2014-09-02
| | | | | | | | | | | | This reverts commit 1cbc68f9659f15206d920dacd434ddf4b658ad1f. requires this to land in blink https://codereview.chromium.org/531883002/ R=fmalita@google.com, reed@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/527073003
* Address MSVC warnings about possible value truncation. In the process ↵Gravatar pkasting2014-09-02
| | | | | | | | | | | | removes some apparently unused code. BUG=81439 TEST=none R=reed@google.com Author: pkasting@chromium.org Review URL: https://codereview.chromium.org/517763002
* Remove legacy (and also broken) SkPicture constructor.Gravatar djsollen2014-09-02
| | | | | | | | R=robertphillips@google.com, reed@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/532703004
* Fix matrix similarity test on arm64Gravatar jvanverth2014-09-02
| | | | | | | | | | | | Addresses precision issue by using a simpler test. Also fixes issues with IvMatrix::preservesRightAngles, and adds unit tests. BUG=skia:2405 R=robertphillips@google.com, egdaniel@google.com, djsollen@google.com, reed@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/520123002
* make allocPixels throw on failureGravatar reed2014-09-02
| | | | | | | | | BUG=skia: R=mtklein@google.com, fmalita@google.com, fmalita@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/510423005
* Reorganize Layer Hoisting codeGravatar robertphillips2014-09-02
| | | | | | | | | | With the new MultiPictureDraw API the GrContext will be performing the layer hoisting (instead of the SkGpuDevice). This CL being moving the layer hoisting functionality to GrLayerHoister rather then dumping it straight into GrContext. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/531733003