aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Silence giflib warning on macGravatar msarett2015-03-30
| | | | | | BUG=skia:3601 Review URL: https://codereview.chromium.org/1046923004
* Refactor Sk2x<T> + Sk4x<T> into SkNf<N,T> and SkNi<N,T>Gravatar mtklein2015-03-30
| | | | | | | | | | | | | | | | | | | | | The primary feature this delivers is SkNf and SkNd for arbitrary power-of-two N. Non-specialized types or types larger than 128 bits should now Just Work (and we can drop in a specialization to make them faster). Sk4s is now just a typedef for SkNf<4, SkScalar>; Sk4d is SkNf<4, double>, Sk2f SkNf<2, float>, etc. This also makes implementing new specializations easier and more encapsulated. We're now using template specialization, which means the specialized versions don't have to leak out so much from SkNx_sse.h and SkNx_neon.h. This design leaves us room to grow up, e.g to SkNf<8, SkScalar> == Sk8s, and to grown down too, to things like SkNi<8, uint16_t> == Sk8h. To simplify things, I've stripped away most APIs (swizzles, casts, reinterpret_casts) that no one's using yet. I will happily add them back if they seem useful. You shouldn't feel bad about using any of the typedef Sk4s, Sk4f, Sk4d, Sk2s, Sk2f, Sk2d, Sk4i, etc. Here's how you should feel: - Sk4f, Sk4s, Sk2d: feel awesome - Sk2f, Sk2s, Sk4d: feel pretty good No public API changes. TBR=reed@google.com BUG=skia:3592 Review URL: https://codereview.chromium.org/1048593002
* Small change to move GrProcessor and GrBatch pools over to SkSpinlockGravatar joshualitt2015-03-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1040133002
* Extract the spinlock from SkOnce as SkSpinlock.Gravatar mtklein2015-03-30
| | | | | | | | | | | This uses slightly newer APIs from SkAtomics.h to make it a bit more efficient. No public API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1039323002
* Revert of Remove SkClipStack's manual rounding of BW clip rects (patchset #3 ↵Gravatar robertphillips2015-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:80001 of https://codereview.chromium.org/1033453003/) Reason for revert: Reverting due to performance regression: https://code.google.com/p/skia/issues/detail?id=3597 Original issue's description: > Remove SkClipStack's manual rounding of BW clip rects > > The full fix for this bug is nudging the image in device space. That is going to be a large change. This CL should address the immediate problem. > > This CL will alter the following GMs: > clipdrawdraw > convex_poly_clip > complexclip_bw_* > filltypespersp > complexclip3_simple > > > > BUG=423834 > > Committed: https://skia.googlesource.com/skia/+/e523d4f90c3368c555282a98b41ca5ee2045103e TBR=bsalomon@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=423834 Review URL: https://codereview.chromium.org/1045853002
* Fix variable names in xfermodes2 gm testGravatar cdalton2015-03-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1041913002
* WIP: Added support for giflib, updated jpeg and pngGravatar msarett2015-03-30
| | | | | | | | BUG=skia:3257 Committed: https://skia.googlesource.com/skia/+/255dcd11992ebe74eb54202c48cf5394d33a8ce6 Review URL: https://codereview.chromium.org/1038863003
* Add hashtag for the new skps bugGravatar rmistry2015-03-30
| | | | | | | | | | | #crskps BUG=skia:3574 NOTRY=true NOTREECHECKS=true TBR=borenet Review URL: https://codereview.chromium.org/1042873002
* Revert of WIP: Added support for giflib, updated jpeg and png (patchset #8 ↵Gravatar borenet2015-03-30
| | | | | | | | | | | | | | | | | | | | | | id:260001 of https://codereview.chromium.org/1038863003/) Reason for revert: Trying out revert to see if it fixes Android bots. Original issue's description: > WIP: Added support for giflib, updated jpeg and png > > BUG=skia:3257 > > Committed: https://skia.googlesource.com/skia/+/255dcd11992ebe74eb54202c48cf5394d33a8ce6 TBR=djsollen@google.com,scroggo@google.com,msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3257 Review URL: https://codereview.chromium.org/1048713003
* webpages_playback.py: Avoid crash when retrying to capture skpGravatar kkinnunen2015-03-29
| | | | | | | Move the .wpr files after recording, in the recording retry loop. Previously they were moved in the skp capture retry loop. Review URL: https://codereview.chromium.org/1033223005
* use Sk4f for matrix mathGravatar reed2015-03-29
| | | | | | | | | Need to land SK_SUPPORT_LEGACY_SCALAR_MAPPOINTS in chrome to suppress Affine version which causes slight differences (which will need to be rebaselined) BUG=skia: Review URL: https://codereview.chromium.org/1045493002
* Update SKP versionGravatar skia.buildbots2015-03-29
| | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= Review URL: https://codereview.chromium.org/1046623002
* Revert "Implement approx-match support in image filter saveLayer() offscreen."Gravatar senorblanco2015-03-28
| | | | | | | | | | | This reverts commit b97dafefe63ea0a1bbce8e8b209f4920983fb8b9. SkLightingImageFilter boundaries are incorrect (see GM:lighting). BUG=skia: TBR= Review URL: https://codereview.chromium.org/1048583002
* Implement approx-match support in image filter saveLayer() offscreen.Gravatar senorblanco2015-03-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the GPU-side image filter implementation creates exact-match textures for the offscreen backing stores for saveLayer(). This is because several filters have GPU implementations which depend on the texture coordinates being 0..1. The fix is three-fold: 1) Store the actual requested size in the SkGpuDevice, so that when wrapping it in an SkBitmap for passing to filterImage(), we can give it the original size. 2) Fix the filters (SkMagnifierImageFilter, more TBD) whose GPU implementation depends on 0..1 texture coordinates. 3) Remove the exception for GPU-side image filters in SkCanvas::internalSaveLayer(). N.B.: this change will cause some minor pixel diffs in the GPU results of the following GMs (and possibly more): matriximagefilter, matrixconvolution, imagefiltersscaled, lighting, imagemagnifier, filterfastbounds, complexclip_aa_Layer_invert, complexclip_aa_layer, complexclip_bw_layer_invert, complexclip_bw_layer. BUG=skia:3532 Review URL: https://codereview.chromium.org/1034733002
* use table of procs (and unrolling) to speed up mapPtsGravatar reed2015-03-27
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1040783002
* Remove SkMemoryStream::peek()Gravatar scroggo2015-03-27
| | | | | | | | | | | | | | | | | | | | | | | | I'd like to add a new API to SkStream for peeking - i.e. reading some bytes without advancing the stream. This will be implemented for the streams where it makes sense. I think the function should look something like the following: size_t peek(void* buffer, size_t bytesToRead) { return this->onPeek(buffer, bytesToRead); } virtual size_t onPeek(void* buffer, size_t bytesToRead) { return 0; // unimplemented base class. } In order to avoid confusion, I'd like to remove SkMemoryStream::peek(), which is not currently used internally, by Chrome, or by Android as far as I can tell. There is also another function does the same thing: getPosition(). BUG=skia:3257 Review URL: https://codereview.chromium.org/1039373002
* Use a black background in imagefiltersgraph so 8888 and 565 look similar.Gravatar mtklein2015-03-27
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1041773003
* Housekeeping to rename GrGL compressed texture formats to match GL specsGravatar egdaniel2015-03-27
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1035243002
* Move HWUI boilerplate into utils/androidGravatar tomhudson2015-03-27
| | | | | | | | | | | | | | | Duplicate code from the HWUI backends for DM and nanobench moves into a single place, saving a hundred lines or more of cut-and-paste. There's some indication that this increases the incidence of SkCanvas "Unable to find device for layer." warnings, but no clear degradation in test results. R=djsollen@google.com,mtklein@google.com BUG=skia:3589 Review URL: https://codereview.chromium.org/1036303002
* WIP: Added support for giflib, updated jpeg and pngGravatar msarett2015-03-27
| | | | | | BUG=skia:3257 Review URL: https://codereview.chromium.org/1038863003
* SkCodec: add wbmp classGravatar halcanary2015-03-27
| | | | Review URL: https://codereview.chromium.org/1006583005
* tools: add sync-and-gyp scriptGravatar halcanary2015-03-27
| | | | | | NOTRY=true Review URL: https://codereview.chromium.org/1035003004
* Minor cleanup in nanobenchGravatar tomhudson2015-03-27
| | | | | | | | | | | Simplify time() by removing conditionals; reduce the amount of parameter passing. Add a convenience function to Target. R=mtklein@google.com BUG=skia:3595 Review URL: https://codereview.chromium.org/1039253002
* Whitespace change to see if Android bots are fixedGravatar borenet2015-03-27
| | | | | | | | TBR=rmistry NOTREECHECKS=true BUG=skia:2073 Review URL: https://codereview.chromium.org/1039023003
* Update [dm|nanobench]_flags for CPU/GPU splitGravatar borenet2015-03-27
| | | | | | | | TBR=mtklein NOTREECHECKS=true BUG=skia:2073 Review URL: https://codereview.chromium.org/1036223002
* impl SkConvertQuadToCubic w/ Sk2sGravatar reed2015-03-26
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1041573002
* Add matrix constructing helpers to SkMatrixGravatar robertphillips2015-03-26
| | | | Review URL: https://codereview.chromium.org/1034273002
* SkPDF fix object counting errorGravatar halcanary2015-03-26
| | | | Review URL: https://codereview.chromium.org/1012483003
* Remove some validation and asserts from tessellating path renderer.Gravatar senorblanco2015-03-26
| | | | | | | | | | | | | In some cases, resolving an intersection can cause a vertex to go slightly out-of-order with edges which have already been processed. This doesn't cause any algorithmic errors, but it's difficult to detect without impacting performance significantly. Also, the GPU infrastructure fires asserts when attempting to allocate 0-length vertex buffers. Early-out instead, since there's nothing to draw. Review URL: https://codereview.chromium.org/1032253005
* Fix DiscardableMemoryPool::free race conditionGravatar halcanary2015-03-26
| | | | | | BUG=skia:3596 Review URL: https://codereview.chromium.org/1017943003
* Revert of Make the canvas draw looper setup update the canvas save count ↵Gravatar reed2015-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1034033004/) Reason for revert: makes internalSave and internalSaveLayer inconsistent. Need to find a different solution. Original issue's description: > Make the canvas draw looper setup update the canvas save count > > Image filter in a paint would leave save count in wrong state > for normal draws. This could be observed through the canvas > references during the draw call. An example of this is > inspecting the canvas during a draw looper. > > patch from issue 993863002 at patchset 20001 (http://crrev.com/993863002#ps20001) > > BUG=skia: > TBR=kkinnunen@nvidia.com > > Committed: https://skia.googlesource.com/skia/+/fd3a91e1fc4de69611b5297f624a1cd65db4ced1 TBR=kkinnunen@nvidia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1037653004
* Make the canvas draw looper setup update the canvas save countGravatar reed2015-03-26
| | | | | | | | | | | | | | Image filter in a paint would leave save count in wrong state for normal draws. This could be observed through the canvas references during the draw call. An example of this is inspecting the canvas during a draw looper. patch from issue 993863002 at patchset 20001 (http://crrev.com/993863002#ps20001) BUG=skia: TBR=kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/1034033004
* SkPMFloat::trunc()Gravatar mtklein2015-03-26
| | | | | | | | | | | | | Add and test trunc(), which is what get() used to be before rounding. Using trunc() is a ~40% speedup on our linear gradient bench. #neon #floats BUG=skia:3592 #n5 #n9 CQ_INCLUDE_TRYBOTS=client.skia.android:Test-Android-Nexus5-Adreno330-Arm7-Debug-Trybot;client.skia.android:Test-Android-Nexus9-TegraK1-Arm64-Release-Trybot Review URL: https://codereview.chromium.org/1032243002
* Android HWUI backend NanobenchGravatar tomhudson2015-03-26
| | | | | | | | | Uses filtering canvas from utils/android, shared with DM. Follow-up plans in https://skbug.com/3589, https://skbug.com/3595 R=djsollen@google.com Review URL: https://codereview.chromium.org/1029423010
* small fix for nanobench segfault when not running any testsGravatar joshualitt2015-03-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1030353004
* Remove unused HWAA flag and uniqueID field from GrDrawTargetCaps.Gravatar egdaniel2015-03-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1019303005
* Debugger: remove dead feature (SkPicture offset display) & fix bug ↵Gravatar robertphillips2015-03-26
| | | | | | | | | (unbalanced indents) Displaying the offset into an SkPicture hasn't worked for a while so this CL deletes the feature. When "Save Layer" was renamed to "SaveLayer" the code that computes the indent in the list view was broken. This CL patches the problem. Review URL: https://codereview.chromium.org/1034733004
* Silence PNG warnings from SkPngCodec.Gravatar scroggo2015-03-26
| | | | Review URL: https://codereview.chromium.org/1009633005
* use new faster/vector impl for chopping conicsGravatar reed2015-03-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1035943002
* Add support for using alternative backends (like DirectX) when creating a GrGpu.Gravatar egdaniel2015-03-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1038643002
* add legacy pathop enums; fix uninitialized warningGravatar caryclark2015-03-26
| | | | | | | | | | R=reed@google.com BUG=skia:3588 NOTREECHECKS=true NOTRY=true NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1034073004
* cumulative pathops patchGravatar caryclark2015-03-26
| | | | | | | | | | | | | | | | | | | | | Replace the implicit curve intersection with a geometric curve intersection. The implicit intersection proved mathematically unstable and took a long time to zero in on an answer. Use pointers instead of indices to refer to parts of curves. Indices required awkward renumbering. Unify t and point values so that small intervals can be eliminated in one pass. Break cubics up front to eliminate loops and cusps. Make the Simplify and Op code more regular and eliminate arbitrary differences. Add a builder that takes an array of paths and operators. Delete unused code. BUG=skia:3588 R=reed@google.com Review URL: https://codereview.chromium.org/1037573004
* remove slower scalar code in favor of vectorsGravatar reed2015-03-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1001833006
* Add a paint filter utility canvas (SkPaintFilterCanvas)Gravatar fmalita2015-03-26
| | | | | | | | | | Introduce a paint filter proxy base class as a SkDrawFilter replacement, and convert SkDebugCanvas to use the new approach. BUG=skia:3587 R=reed@google.com,mtklein@google.com,robertphillips@google.com,tomhudson@google.com Review URL: https://codereview.chromium.org/1032173002
* Use a wrapper for SkDebugf in SkCodec.Gravatar scroggo2015-03-26
| | | | | | | | | | | It can be silenced or not with one flag. Always print when building for the android framework. Also remove the meaningless define of override to override. BUG=skia:3257 Review URL: https://codereview.chromium.org/1032093004
* SkCodec: conditionally remove fInfoGravatar halcanary2015-03-26
| | | | Review URL: https://codereview.chromium.org/1029423005
* Add a go-fast button to Skia GYP configs.Gravatar mtklein2015-03-26
| | | | | | | | | | | | | | | | | | | | | | ./gyp_skia -Dskia_fast=1 will - always optimize for the current machine as much as possible - drop the frame pointer - optimize floating point arithmetic ignoring IEEE compliance This allows things like 3-argument VEX prefix SSE instructions and NEON autovectorization, and can give some seriously helpful clues about how to rearrange floating point math for speed. I've been having trouble with LTO linking, so I'll leave that out for now. I don't think we should set up bots with this mode. -ffast-math means I'm forced to run DM with --match ~Blend ~Path ~Rect ~Math ~Scalar ~Matrix ~Point before it passes, which is a disconcerting chunk of tests to disable (including all of PathOps). BUG=skia: Review URL: https://codereview.chromium.org/1036533003
* pdf skp tabl_worldjournal.skp took 5 days to run on ValgrindGravatar mtklein2015-03-26
| | | | | | | | | #notry BUG=skia: NOTRY=true Review URL: https://codereview.chromium.org/1030263003
* remove #if 0 codeGravatar reed2015-03-26
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1032273003
* use custom search for pathmeasureGravatar reed2015-03-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1037653002