aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
Commit message (Collapse)AuthorAge
...
* In the case of subset decodes, we will often not decode toGravatar msarett2015-07-01
| | | | | | | | | | | | | | the bottom of the image. In our code before this patch, this would result in cleanup code in onFinish() never being called. We can allow subclasses to take ownership of the SkScanlineDecoder in order to make sure that it is finished/deleted before deleting the decode manager. BUG=skia: Review URL: https://codereview.chromium.org/1212593003
* Fix infinite matrix during an invert.Gravatar vmpstr2015-06-30
| | | | | | | | | | This patch ensures that when inverting a SkMatrix44, we handle small floats properly. When inverted these can cause infinite values, but still evaluate to true in an if condition. BUG=chromium:498516 Review URL: https://codereview.chromium.org/1209763002
* Add SkSurface factory for wrapping an FBO in SkSurfaceGravatar bsalomon2015-06-30
| | | | Review URL: https://codereview.chromium.org/1221853003
* augment surface tests to check legacy genIDGravatar reed2015-06-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1219793002
* Implement shared locks in the style of pthread's rwlock.Gravatar herb2015-06-29
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1215503005
* don't fix winding for empty pathsGravatar caryclark2015-06-29
| | | | | | | | | | | | | | | | | | | A path can be non-empty but become empty when it is simplified. For instance, a path with the same rectangle, twice, with opposite windings. No contours are created for empty paths, so don't try to fix their winding direction. Additionally, check for a NULL coincidence since the OpBuilder assumes that no concidence edges can be present after the paths are simplified. This code should not get called, but it's worth the future-proofing to check. R=fmalita@chromium.org BUG=502792 Review URL: https://codereview.chromium.org/1218863005
* add getTextureHandle to SkSurfaceGravatar reed2015-06-29
| | | | | | BUG=485243 Review URL: https://codereview.chromium.org/1210303003
* remove SkInstCntGravatar mtklein2015-06-26
| | | | | | | | | | | | | | It's been outclassed by Valgrind and leak sanitizer, and it seems to be causing problems for external folks building Skia. I'm not sure why our own builds seem unaffected. Latest thread: https://groups.google.com/forum/#!topic/skia-discuss/oj9FsQwwSF0 BUG=skia: Review URL: https://codereview.chromium.org/1217573002
* Revert of Revert of Return GrGLContext from GrTestTarget (patchset #1 id:1 ↵Gravatar reed2015-06-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1211123004/) Reason for revert: un-referting, did not help DEPS roll Original issue's description: > Revert of Return GrGLContext from GrTestTarget (patchset #3 id:40001 of https://codereview.chromium.org/1207393002/) > > Reason for revert: > speculative revert to unblock DEPS roll (layout-tests) > > Original issue's description: > > Return GrGLContext from GrTestTarget > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/b6d93ea428ca5d13641c35faca7d0380980a3a17 > > TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/1852ec2b46a2a0efbb3550ff4d8b640f56a810e9 TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1215593002
* Revert of Return GrGLContext from GrTestTarget (patchset #3 id:40001 of ↵Gravatar reed2015-06-25
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1207393002/) Reason for revert: speculative revert to unblock DEPS roll (layout-tests) Original issue's description: > Return GrGLContext from GrTestTarget > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/b6d93ea428ca5d13641c35faca7d0380980a3a17 TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1211123004
* Return GrGLContext from GrTestTargetGravatar joshualitt2015-06-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1207393002
* Convert SkPMFloat to [0,1] range and prune its API.Gravatar mtklein2015-06-25
| | | | | | | | | | | | | | | | | | | | | | | | Now that Sk4px exists, there's a lot less sense in eeking out every cycle of speed from SkPMFloat: if we need to go _really_ fast, we should use Sk4px. SkPMFloat's going to be used for things that are already slow: large-range intermediates, divides, sqrts, etc. A [0,1] range is easier to work with, and can even be faster if we eliminate enough *255 and *1/255 steps. This is particularly true on ARM, where NEON can do the *255 and /255 steps for us while converting float<->int. We have lots of experimental SkPMFloat <-> SkPMColor APIs that I'm now removing. Of the existing APIs, roundClamp() is the sanest, so I've kept only that, now called round(). The 4-at-a-time APIs never panned out, so they're gone. There will be small diffs on: colormatrix coloremoji colorfilterimagefilter fadefilter imagefilters_xfermodes imagefilterscropexpand imagefiltersgraph tileimagefilter BUG=skia: Review URL: https://codereview.chromium.org/1201343004
* Make SkGpuDevice know its alpha typeGravatar bsalomon2015-06-23
| | | | | | | | Make SkImage_Gpu snapshots opaque if surface is opaque. BUG=skia:3965 Review URL: https://codereview.chromium.org/1205643002
* Rename SkFontConfigParser_android SkFontMgr_android_parser.Gravatar bungeman2015-06-23
| | | | | | | | | There are a number of files with 'FontConfig' in their names which just have to do with font configuration, but nothing to do with the FontConfig project or even with each other. This clarifies that these files deal with parsing for the Android font manager. Review URL: https://codereview.chromium.org/1200103008
* Propagate SkSurfaceProps to more call sitesGravatar robertphillips2015-06-23
| | | | | | | | | | Start moving to a world where everyone provides surface properties. Most notably this exposes a portion of SkSurfaceProps to the C API. BUG=skia:3934 Review URL: https://codereview.chromium.org/1195003003
* change old picture serialization to really handle imagesGravatar reed2015-06-22
| | | | | | BUG=skia:3965 Review URL: https://codereview.chromium.org/1199473002
* Clean up usage of SkSurfacePropsGravatar robertphillips2015-06-22
| | | | | | | | | | | | This CL continues cleaning up Skia's usage of SkSurfaceProps. It: Removes the duplicate SkSurfaceProps object from SkImageFilter::Proxy. Removes a dispreferred ctor from SkCanvas Removes the initForRootLayer entry point from SkDevice (since the root device and the canvas should always have the same pixel geometry now). Review URL: https://codereview.chromium.org/1201983006
* Update some Sk4px APIs.Gravatar mtklein2015-06-22
| | | | | | | | | | | | | | | Mostly this is about ergonomics, making it easier to do good operations and hard / impossible to do bad ones. - SkAlpha / SkPMColor constructors become static factories. - Remove div255TruncNarrow(), rename div255RoundNarrow() to div255(). In practice we always want to round, and the narrowing to 8-bit is contextually obvious. - Rename fastMulDiv255Round() approxMulDiv255() to stress it's approximate-ness over its speed. Drop Round for the same reason as above... we should always round. - Add operator overloads so we don't have to keep throwing in seemingly-random Sk4px() or Sk4px::Wide() casts. - use operator*() for 8-bit x 8-bit -> 16-bit math. It's always what we want, and there's generally no 8x8->8 alternative. - MapFoo can take a const Func&. Don't think it makes a big difference, but nice to do. BUG=skia: Review URL: https://codereview.chromium.org/1202013002
* Begin kLegacyFontHost_InitType cleanupGravatar robertphillips2015-06-22
| | | | | | | | | | | | | | | | | | This CL starts the process of pushing kLegacyFontHost_InitType-type SkSurfaceProps up the call stack and out of Skia. It: Gets rid of the default SkBaseDevice ctor. This means everyone has to always hand an explicit SkSurfaceProps to it. It makes public the SkBitmapDevice creation methods that require SkSurfaceProps. Removes (in Skia's code base) all SkBitmapDevice ctor calls w/o SkSurfaceProps. Makes the "recording" canvases (e.g., pdf, svg, xps) explicitly not use kLegacyFontHost_InitType. Replicates the creating canvas/device's flags on saveLayer devices BUG=skia:3934 Review URL: https://codereview.chromium.org/1204433002
* Added check for ill-conditioned invertGravatar robertphillips2015-06-19
| | | | | | | | sk_inv_determinant has a guard that the determinant can't get too big so this CL only checks if the determinant gets too small. BUG=492263 Review URL: https://codereview.chromium.org/1188433011
* remove dead guarded code for legacy SkData procGravatar reed2015-06-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1173173007
* add callbacks to Images that wrap client-provided contentGravatar reed2015-06-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1169553003
* Add SkWebpCodec, for decoding .webp images.Gravatar scroggo2015-06-18
| | | | | | | | | | | Based on SkImageDecoder_libwebp. TODO: Support YUV? (Longer term - may influence our API for SkImageGenerator) BUG=skia:3257 Review URL: https://codereview.chromium.org/1044433002
* Add support for creating texture backed images where Skia will delete the ↵Gravatar bsalomon2015-06-18
| | | | | | texture. Review URL: https://codereview.chromium.org/1187523005
* Add test for SkRegion::writeToMemory.Gravatar scroggo2015-06-18
| | | | | | | | | | When calling SkRegion::writeToMemory(NULL), it should return the same number of bytes that it writes when calling SkRegion::writeToMemory(buffer). Add a test to confirm this. BUG=b/21271229 Review URL: https://codereview.chromium.org/1188293002
* Add sk_parallel_for()Gravatar mtklein2015-06-17
| | | | | | | | | | | | | | | | | | | | | | | | This should be a drop-in replacement for most for-loops to make them run in parallel: for (int i = 0; i < N; i++) { code... } ~~~> sk_parallel_for(N, [&](int i) { code... }); This is just syntax sugar over SkTaskGroup to make this use case really easy to write. There's no more overhead that we weren't already forced to add using an interface like batch(), and no extra heap allocations. I've replaced 3 uses of SkTaskGroup with sk_parallel_for: 1) My unit tests for SkOnce. 2) Cary's path fuzzer. 3) SkMultiPictureDraw. Performance should be the same. Please compare left and right for readability. :) BUG=skia: No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/1184373003
* simplify release-proc for SkData, removing unneeded size paramGravatar reed2015-06-17
| | | | | | | | request https://codereview.chromium.org/1184953005 to land first BUG=skia: Review URL: https://codereview.chromium.org/1193553002
* skia: Add runtime option to disable picture IO security precautionsGravatar hendrikw2015-06-16
| | | | | | | | Replaced the compile time file IO security setting with a runtime setting. Unfortunately the setting is global. Review URL: https://codereview.chromium.org/1183853003
* Don't clear in SkSurface::NewWrappedRenderTargetGravatar bsalomon2015-06-16
| | | | Review URL: https://codereview.chromium.org/1191513002
* Remove the SkCanvas comment APIGravatar fmalita2015-06-15
| | | | | | | | No longer used in Chromium/Blink. R=reed@google.com,robertphillips@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/1153593003
* Thorough tests for saturatedAdd and mulDiv255Round.Gravatar mtklein2015-06-15
| | | | | | | | | | BUG=skia:3951 Committed: https://skia.googlesource.com/skia/+/ce9d11189a5924b47c3629063b72bae9d466c2c7 CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot Review URL: https://codereview.chromium.org/1184113003
* Revert of Thorough tests for saturatedAdd and mulDiv255Round. (patchset #1 ↵Gravatar mtklein2015-06-15
| | | | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/1184113003/) Reason for revert: https://code.google.com/p/skia/issues/detail?id=3951 Original issue's description: > Thorough tests for saturatedAdd and mulDiv255Round. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/ce9d11189a5924b47c3629063b72bae9d466c2c7 TBR=fmalita@chromium.org,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1177123004
* Invalidate GrTexture mipmap on content change notificationGravatar junov2015-06-15
| | | | | | | | | | | This fix is necessary to correctly propagate invalidations that are external to skia. For example, when drawing video or WebGL into a 2D canvas in Chrome, with mipmaps enabled. BUG=crbug.com/498356 TEST=GrTextureMipMapInvalidationTest Review URL: https://codereview.chromium.org/1177843007
* Thorough tests for saturatedAdd and mulDiv255Round.Gravatar mtklein2015-06-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1184113003
* Import functionality for new GL backendGravatar cdalton2015-06-12
| | | | | | | | | | | | | | | | | | Brings in the following functionality: ARB_draw_instanced ARB_instanced_arrays NV_bindless_texture EXT_direct_state_access KHR_debug Also cleans up some of the NVPR extension loading. BUG=skia: Committed: https://skia.googlesource.com/skia/+/202c4c75fb806f751cf796850bf67fe9793e0643 Review URL: https://codereview.chromium.org/1185573003
* Revert of Import functionality for new GL backend (patchset #2 id:20001 of ↵Gravatar djsollen2015-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1185573003/) Reason for revert: breaking multiple builds. For example... https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/667 Original issue's description: > Import functionality for new GL backend > > Brings in the following functionality: > > ARB_draw_instanced > ARB_instanced_arrays > NV_bindless_texture > EXT_direct_state_access > KHR_debug > > Also cleans up some of the NVPR extension loading. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/202c4c75fb806f751cf796850bf67fe9793e0643 TBR=bsalomon@google.com,cdalton@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1184863002
* Import functionality for new GL backendGravatar cdalton2015-06-12
| | | | | | | | | | | | | | | | Brings in the following functionality: ARB_draw_instanced ARB_instanced_arrays NV_bindless_texture EXT_direct_state_access KHR_debug Also cleans up some of the NVPR extension loading. BUG=skia: Review URL: https://codereview.chromium.org/1185573003
* Implement support for mixed sampled render targetsGravatar vbuzinov2015-06-12
| | | | | | | | | | | | | | | | | | Adds a new FBO type kStencil_MSFBOType that is selected whenever NV_framebuffer_mixed_samples extension is available. In this new FBO type a non-msaa color buffer is created with a multisampled stencil buffer attachment. Replaces numSamples() with separate numColorSamples and numStencilSamples methods in RenderTarget. In mixed samples mode non-MSAA codepaths are used to draw simple shapes, while NVPR-rendered paths and text are rendered with a multisampled stencil. BUG=skia:3177 Review URL: https://codereview.chromium.org/1001503002
* SkPath::Direction serves two masters:Gravatar reed2015-06-10
| | | | | | | | | | | | | - input param to addFoo (e.g. addRect), where only CW or CCW are valid) - output param from computing functions, that sometimes return kUnknown This CL's intent is to split these into distinct enums/features: - Direction (public) loses kUnknown, and is only used for input - FirstDirection (private) is used for computing the first direction we see when analyzing a contour BUG=skia: Review URL: https://codereview.chromium.org/1176953002
* Remove overly-promiscuous SkNx syntax sugar.Gravatar mtklein2015-06-10
| | | | | | | | | | | | I haven't figured out a pithy way to have these apply to only classes originating from SkNx, so let's just remove them. There aren't too many use cases, and it's not really any less readable without them. Semantically, this is a no-op. BUG=skia: Review URL: https://codereview.chromium.org/1167153002
* Towards removing getTexture() on SkImageGravatar bsalomon2015-06-10
| | | | Review URL: https://codereview.chromium.org/1166993002
* Use SkMScalar as float by default to match Chromium.Gravatar mtklein2015-06-09
| | | | | | | | | | Tweak some test values to pass with floats. As expected, this regresses matrix44_setconcat_general by about 2x. BUG=skia: Review URL: https://codereview.chromium.org/1169813006
* Revert[2] SkDraw and all Blitters to use pixmap instead of bitmapiGravatar reed2015-06-09
| | | | | | | | This reverts commit b3f0ec9f9967da2f80f0d842cb7fd53617b48de3. BUG=skia: Review URL: https://codereview.chromium.org/1168303006
* A bunch of little SkMScalar-as-float build fixes.Gravatar mtklein2015-06-09
| | | | | | | | | | | | | Landing this before http://crrev.com/1169813006 so the test changes needed there are clearer. This just lets things build with floats, and is a no-op for doubles. No public API changes we didn't intend to already have... TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1173673003
* remove subclassing from ImageFilter::ProxyGravatar reed2015-06-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1172693002
* Revert of change SkDraw and all Blitters to use pixmap instead of bitmap ↵Gravatar reed2015-06-08
| | | | | | | | | | | | | | | | | | | | | | (patchset #6 id:100001 of https://codereview.chromium.org/1148793007/) Reason for revert: speculative revert to try to unblock DEPS roll Original issue's description: > change SkDraw and all Blitters to use pixmap instead of bitmap > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c31af44336f5eb4a50e83e76e51962d46c3ed458 TBR=scroggo@google.com,jvanverth@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1164373003
* Add mixed samples support to XPsGravatar cdalton2015-06-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1164973002
* change SkDraw and all Blitters to use pixmap instead of bitmapGravatar reed2015-06-08
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1148793007
* Add cmap 3,0 (symbol) as Unicode fallback.Gravatar bungeman2015-06-05
| | | | | | | | | | | | FreeType automatically selects the 'most Unicode' cmap available, otherwise the default cmap is NULL. When this happens the fallback should include the 3,0 symbol cmap, as is outlined in the Apple TrueType documentation. This cmap should effectively be a Unicode mapping, but exclusively in the private use area. BUG=skia:1873,chromium:489452 Review URL: https://codereview.chromium.org/1163833003
* Add ColorMatrix filter tests from Android CTS.Gravatar djsollen2015-06-05
| | | | | | BUG=skia:3848 Review URL: https://codereview.chromium.org/1134753008