aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm
Commit message (Collapse)AuthorAge
* Cleanup: Use SkAutoGraphics in gm and tests.Gravatar tfarina2014-11-07
| | | | | | | BUG=None R=bsalomon@google.com Review URL: https://codereview.chromium.org/704413002
* Revert of Get gpudft support working in dm, gm, nanobench and bench_pictures ↵Gravatar jvanverth2014-11-06
| | | | | | | | | | | | | | | | | | | | | | | | (patchset #2 id:20001 of https://codereview.chromium.org/699453005/) Reason for revert: Not compiling in ANGLE build Original issue's description: > Get gpudft support working in dm, gm, nanobench and bench_pictures > > Adds a new config to test distance field text. > Clean up some flags and #defines to read "distance field text", > not "distance field fonts" to be consistent with Chromium > > NOTREECHECKS=true > > Committed: https://skia.googlesource.com/skia/+/06ba179838ba4fe187cf290750aeeb4a02a2960b TBR=bsalomon@google.com,mtklein@google.com,reed@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/707723005
* Get gpudft support working in dm, gm, nanobench and bench_picturesGravatar jvanverth2014-11-06
| | | | | | | | | | Adds a new config to test distance field text. Clean up some flags and #defines to read "distance field text", not "distance field fonts" to be consistent with Chromium NOTREECHECKS=true Review URL: https://codereview.chromium.org/699453005
* Bug fix for cull_line in SkDashPathEffect.Gravatar egdaniel2014-11-05
| | | | | | | | | | | In cull_line we must also check if both points are the same. Otherwise we fail the assert in the else "SkASSERT(dy && !dx)". This is currently blocking the roll as it fails a webkit test. BUG=skia: Review URL: https://codereview.chromium.org/703783002
* 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
* Test factory uses the inorder draw bufferGravatar joshualitt2014-11-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/696353002
* Use Color Processor for color bitmap text draws on gpu.Gravatar egdaniel2014-10-31
| | | | | | | | | | | | | | | | | | | This change is here since previously color bitmap text was rendered using a geometry processor in the coverage stage. The problem with this is that we cannot correctly do xfer modes with this method. So I now make color bitmap text draw using a color stage in the same was as a draw bitmap call. One issue that arrises from this fix is that we end up adding this final color processor after any previous color processors. Thus if we have a custom blend implemented as a color processor it will be before this text one and we won't blend correctly. This issue will get fixed once an xfer processor is fully implemented. I have hacked a test locally to show that if we can add the text color processor to the begining of the color stages we do blend correctly in all cases (so the xfer processor will be a fix). BUG=skia: Review URL: https://codereview.chromium.org/689923004
* allow SkUserConfig.h to control NOGPUGravatar reed2014-10-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/685243002
* rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlagsGravatar bsalomon2014-10-28
| | | | Review URL: https://codereview.chromium.org/682223002
* add gm: filterbitmap_image_color_wheelGravatar halcanary2014-10-27
| | | | | | | | BUG=skia:3061 TBR=mtklein@google.com Review URL: https://codereview.chromium.org/633333004
* Fix the way we patch up the matrix for scaled images that aren'tGravatar humper2014-10-27
| | | | | | | | | clamp/clamp BUG=skia:2904 TBR=reed Review URL: https://codereview.chromium.org/675823002
* add gm: colorwheelGravatar halcanary2014-10-26
| | | | | | BUG=skia:3061 Review URL: https://codereview.chromium.org/680533002
* Add `SkIRect bounds()` convenience method to SkImageInfo and SkBitmap.Gravatar halcanary2014-10-24
| | | | Review URL: https://codereview.chromium.org/646213003
* Fix imagemagnifier GM quality and speed.Gravatar senorblanco2014-10-23
| | | | | | | | | | | | | | The imagemagnifier GM was applying the filter both to a saveLayer() restore() around the whole scene, as well as to each individual text draw. Applying the filter only in the saveLayer() makes it run ~20x faster on my Linux box, and the quality is improved as well (since the primitives are not double-filtered). BUG=skia: Review URL: https://codereview.chromium.org/637283009
* Don't use MIP filter mode on compressed texturesGravatar bsalomon2014-10-23
| | | | | | | | Add compressed texture image downsample GMs BUG=chromium:426331 Review URL: https://codereview.chromium.org/672863003
* Adding an option to render only the shadow in SkDropShadowImageFilterGravatar sugoi2014-10-23
| | | | | | | | This is basically how blink uses the filter. Currently, I can't use it for "ShadowOnly" mode with the filter at all, but instead of copying the code and risking to have the codepaths diverge, I'm simply going to add the option here. BUG=skia: Review URL: https://codereview.chromium.org/646213004
* Update fontMgr to take list of bcp47 language tags.Gravatar bungeman2014-10-23
| | | | | | | | | This will enable clients to pass more than one bcp47 tag to ensure that the most appropriate font is selected. BUG=chromium:422180 Review URL: https://codereview.chromium.org/670243002
* Add SkTypeface::getBounds()Gravatar reed2014-10-22
| | | | | | | | | mirrored from https://codereview.chromium.org/666303002/ BUG=skia: TBR= Review URL: https://codereview.chromium.org/676523002
* Add color emoji fallback for distance field text.Gravatar jvanverth2014-10-20
| | | | | | BUG=skia:3033 Review URL: https://codereview.chromium.org/670533002
* Turn SkCanvasStateUtils into a class with static functions.Gravatar tfarina2014-10-10
| | | | | | | | | | That simplifies the way to declare it a friend, as needed in SkCanvas. BUG=skia:2914 TEST=make most R=reed@google.com Review URL: https://codereview.chromium.org/645773002
* Draw more accurate thick-stroked Beziers (disabled)Gravatar caryclark2014-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Draw thick-stroked Beziers by computing the outset quadratic, measuring the error, and subdividing until the error is within a predetermined limit. To try this CL out, change src/core/SkStroke.h:18 to #define QUAD_STROKE_APPROXIMATION 1 or from the command line: CPPFLAGS="-D QUAD_STROKE_APPROXIMATION=1" ./gyp_skia Here's what's in this CL: bench/BezierBench.cpp : a microbench for examining where the time is going gm/beziers.cpp : random Beziers with various thicknesses gm/smallarc.cpp : a distillation of bug skia:2769 samplecode/SampleRotateCircles.cpp : controls added for error, limit, width src/core/SkStroke.cpp : the new stroke implementation (disabled) tests/StrokerTest.cpp : a stroke torture test that checks normal and extreme values The new stroke algorithm has a tweakable parameter: stroker.setError(1); (SkStrokeRec.cpp:112) The stroke error is the allowable gap between the midpoint of the stroke quadratic and the center Bezier. As the projection from the quadratic approaches the endpoints, the error is decreased proportionally so that it is always inside the quadratic curve. An overview of how this works: - For a given T range of a Bezier, compute the perpendiculars and find the points outset and inset for some radius. - Construct tangents for the quadratic stroke. - If the tangent don't intersect between them (may happen with cubics), subdivide. - If the quadratic stroke end points are close (again, may happen with cubics), draw a line between them. - Compute the quadratic formed by the intersecting tangents. - If the midpoint of the quadratic is close to the midpoint of the Bezier perpendicular, return the quadratic. - If the end of the stroke at the Bezier midpoint doesn't intersect the quad's bounds, subdivide. - Find where the Bezier midpoint ray intersects the quadratic. - If the intersection is too close to the quad's endpoints, subdivide. - If the error is large proportional to the intersection's distance to the quad's endpoints, subdivide. BUG=skia:723,skia:2769 Review URL: https://codereview.chromium.org/558163005
* Adding 3D lut color filterGravatar sugoi2014-10-09
| | | | | | | | Included in this cl is support for 3D textures. BUG=skia: Review URL: https://codereview.chromium.org/580863004
* GrResourceCache2 manages scratch texture.Gravatar bsalomon2014-10-08
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/608883003
* Make GM default to reseting gpu contexts on android.Gravatar bsalomon2014-10-08
| | | | | | | | TBR=mtklein@google.com Committed: https://skia.googlesource.com/skia/+/8dd35ce178e4319685a870faf544a0b1d7aef5bb Review URL: https://codereview.chromium.org/635293003
* fix android framework build errorsGravatar djsollen2014-10-08
| | | | Review URL: https://codereview.chromium.org/637953002
* Revert of Make GM default to reseting gpu contexts on android. (patchset #1 ↵Gravatar bsalomon2014-10-08
| | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/635293003/) Reason for revert: Crashing on Galaxy Nexus (probably tickled an existing skia or driver bug) Original issue's description: > Make GM default to reseting gpu contexts on android. > > TBR=mtklein@google.com > > Committed: https://skia.googlesource.com/skia/+/8dd35ce178e4319685a870faf544a0b1d7aef5bb TBR=mtklein@google.com NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/639773003
* Make GM default to reseting gpu contexts on android.Gravatar bsalomon2014-10-08
| | | | | | TBR=mtklein@google.com Review URL: https://codereview.chromium.org/635293003
* Revert "GrResourceCache2 manages scratch texture."Gravatar Brian Salomon2014-10-07
| | | | This reverts commit d14e1a27643125bfef37fa0ed314b64c1fae22b7.
* Fix perspective version of dftext GMGravatar jvanverth2014-10-07
| | | | Review URL: https://codereview.chromium.org/634923002
* GrResourceCache2 manages scratch texture.Gravatar bsalomon2014-10-07
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/608883003
* Reduce sizes in dftext GM on Android to match desktop better.Gravatar jvanverth2014-10-06
| | | | Review URL: https://codereview.chromium.org/630103003
* Fix multipicturedraw_biglayer GMGravatar robertphillips2014-10-06
| | | | | | Having a layer is a prerequisite for having it be hoisted. Review URL: https://codereview.chromium.org/632743002
* Reduce overdraw in MultiPictureDraw Sierpinski GMGravatar robertphillips2014-10-03
| | | | | | | | | | | | | As written, all the layers in the MPD Sierpinski GM are full screen. This CL bounds each layer to reduce overdraw. This CL will cause differences in: multipicturedraw_sierpinski_simple multipicturedraw_sierpinski_tiled but they are/will be suppressed in: (Don't turn on dither for saveLayers which have no paint - https://codereview.chromium.org/619363002/) Review URL: https://codereview.chromium.org/582633003
* Add a MultiPictureDraw GM to exercise layer clippingGravatar robertphillips2014-10-02
| | | | | | | | This adds a "biglayer" variant that creates a picture with a single big layer. The tiling composition will test whether the layer hoisting code correctly caches the layers with their clipping information. BUG=skia:2315 Review URL: https://codereview.chromium.org/617723004
* fix prev change to tooBigForLCD, and add testGravatar reed2014-10-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/617353003
* Strip old backend recording down to essentialsGravatar mtklein2014-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | Feature-wise, this removes: 1) BBH support; 2) peephole optimizations; 3) record-time text op specializations; 4) the guarantee that SkPaints are flattened. This deletes the optimizations GM, which only exists to test the peepholes of the old backend. SkRecord optimizations are unit tested, and if that ever fails we can think about adding another GM like this, but they're different enough we'd want to start from scratch anyway. We need to keep the code that plays back the specialized text ops around for a while for compatibility with existing .SKPs that have those ops recorded. BUG=skia: CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/617953002
* 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 pictures in multipicturedraw GM fit in 0,0..W,H rangeGravatar robertphillips2014-09-29
| | | | | | | | | | | | Having the picture contents not actually reside in the 0,0..W,H range wrecks havoc with the layer hoisting. The hoisting works correctly but since the picture don't fulfill their contract the results look incorrect. This CL just translates the picture's contents to the right so they are within the picture bound. R=egdaniel@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/594363003
* 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
* 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
* 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
* 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
* Fix SDF font positions when using global scale.Gravatar jvanverth2014-09-22
| | | | | | | | | | | | Also fixes a crash in the dftext GM when using SampleApp, and adds new test case in dftext. BUG=skia:2928 R=joshualitt@google.com, egdaniel@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/588223002
* 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
* SkTextBlob shader space workaround.Gravatar fmalita2014-09-19
| | | | | | | | | | | | | | | Blink would like drawTextBlob(x,y) to behave the same as drawText(x,y) WRT shader space. Due to the current generic device base impl, that is not the case. This is a transitional workaround, pending proper drawTextBlob impls in SkDevice classes. R=reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/586743002
* Fix memory leak in MultiPictureDraw GMGravatar robertphillips2014-09-19
| | | | | | | | R=fmalita@google.com, fmalita@chromium.org Author: robertphillips@google.com Review URL: https://codereview.chromium.org/585033002
* Extend MultiPictureDraw GMGravatar robertphillips2014-09-19
| | | | | | | | | | This new GM case is intended to exercise the matrix oriented aspects of layer caching. R=jvanverth@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/582113004