aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Add utilities to create GrSurfaceProxy & GrSurfaceContext from backend descsGravatar Robert Phillips2017-01-27
| | | | | | | Change-Id: Iff2278de8ddd6c0dff74e5cf1996702bad31217b Reviewed-on: https://skia-review.googlesource.com/7647 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Raster pipeline support for SkLocalMatrixShader compositionGravatar Florin Malita2017-01-27
| | | | | | | | | | Plumb a local matrix arg to onAppendStages, similar to onCreateContext's ContextRec::fLocalMatrix. Change-Id: I6db3706918733b35eb7a3ae2cc65503223d0cf2d Reviewed-on: https://skia-review.googlesource.com/7653 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Add offset to uniform blocks in VulkanGravatar Greg Daniel2017-01-27
| | | | | | | | | | | This is the first step to being able to use push constants. BUG=skia:5039 Change-Id: I49edea8faacf78814036ce3b3f9f2814974cf2c7 Reviewed-on: https://skia-review.googlesource.com/7448 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "Revert "Start of rewrite of GrFragmentProcessor optimizations.""Gravatar Brian Salomon2017-01-27
| | | | | | | | | | | This reverts commit 052fd5158f7f85e478a9f87c45fecaacf7d0f5f3. Disables the test (of unused code) until platform-specific issues are addressed. Change-Id: I7aa23a07954fccf382aa07d28afcbffb0bebcd6d Reviewed-on: https://skia-review.googlesource.com/7656 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Start of rewrite of GrFragmentProcessor optimizations."Gravatar Ethan Nicholas2017-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 85eb4226a4cd8c10a0e3f3ba2f3a60efbb2dd61b. Reason for revert: test failures on Windows, e.g. https://chromium-swarm.appspot.com/task?id=33f9527484414110&refresh=10 Original change's description: > Start of rewrite of GrFragmentProcessor optimizations. > > This adds a replacement for computeInvariantOutput buts does not use it yet. The replacement allows for three types of optimizations: > > * known input color -> known output color for GrFP elimination > * tracking of whether all color processors modulate their input for the "tweak alpha" optimziation > * opaqueness tracking > > This loses some of the generality of computInvariantOutput. It does not track the known output status of individual color components (other than opaque alpha). It does not track whether GrFragmentProcessors read their input color. It doesn't allow a processor that will receive non-constant output to advertise that it produces a constant output. These could probably be added back in the unlikely case that they prove valuable. > > Unlike computeInvariantOutput the optimizations are decided at instantiation time and constant colors are expressed as GrColor4f rather than GrColor. > > Change-Id: I684d3f9050693dde2d28154fa695e049ed8cf61a > Reviewed-on: https://skia-review.googlesource.com/7481 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> > TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I2390df257456013fa74137cb5d7b5a93820c291e Reviewed-on: https://skia-review.googlesource.com/7652 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Start of rewrite of GrFragmentProcessor optimizations.Gravatar Brian Salomon2017-01-27
| | | | | | | | | | | | | | | | | This adds a replacement for computeInvariantOutput buts does not use it yet. The replacement allows for three types of optimizations: * known input color -> known output color for GrFP elimination * tracking of whether all color processors modulate their input for the "tweak alpha" optimziation * opaqueness tracking This loses some of the generality of computInvariantOutput. It does not track the known output status of individual color components (other than opaque alpha). It does not track whether GrFragmentProcessors read their input color. It doesn't allow a processor that will receive non-constant output to advertise that it produces a constant output. These could probably be added back in the unlikely case that they prove valuable. Unlike computeInvariantOutput the optimizations are decided at instantiation time and constant colors are expressed as GrColor4f rather than GrColor. Change-Id: I684d3f9050693dde2d28154fa695e049ed8cf61a Reviewed-on: https://skia-review.googlesource.com/7481 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Delete SkAutoTime from jpeg encoderGravatar Matt Sarett2017-01-26
| | | | | | | | | | | We use nanobench instead to measure encode performance. BUG=skia: Change-Id: I4f0b43b7e09f99967889e941cb6947433033006a Reviewed-on: https://skia-review.googlesource.com/7640 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Implement getFamilyName for stream fonts on Linux.Gravatar Ben Wagner2017-01-26
| | | | | | | | | | | | | | When SkFontMgr_fontconfig and SkFontMgr_FontConfigInterface create a typeface from data they do not store the default font name and getFamilyName will return the empty string. All of the code to handle this properly now exists, it just needs to be hooked up. BUG=skia:1508 Change-Id: I75f2a598a5451babb4a9ceb5e9a9e9d3daa41d60 Reviewed-on: https://skia-review.googlesource.com/7506 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* Simplify SkShader::ContextRec::fLocalMatrix handlingGravatar Florin Malita2017-01-26
| | | | | | | | | | | Minor cleanup. R=robertphillips@google.com,reed@google.com Change-Id: I1a27af61e3e3bb5e895c9a3265da6b0408234165 Reviewed-on: https://skia-review.googlesource.com/7632 Commit-Queue: Florin Malita <fmalita@chromium.org> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Really use vpmaddwd in hsw::convolve_vertical().Gravatar Mike Klein2017-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No pixel diffs. Performance on 8888 looks like an overall win. Before: micros bench 222.41 bitmap_scale_filter_64_256 40.06 bitmap_scale_filter_256_64 8.17 bitmap_scale_filter_90_10 10.32 bitmap_scale_filter_90_30 22.50 bitmap_scale_filter_90_80 1.80 bitmap_scale_filter_90_90 57.51 bitmap_scale_filter_80_90 41.99 bitmap_scale_filter_30_90 31.51 bitmap_scale_filter_10_90 After: micros bench 193.60 bitmap_scale_filter_64_256 46.26 bitmap_scale_filter_256_64 7.81 bitmap_scale_filter_90_10 9.99 bitmap_scale_filter_90_30 22.05 bitmap_scale_filter_90_80 1.96 bitmap_scale_filter_90_90 52.07 bitmap_scale_filter_80_90 37.73 bitmap_scale_filter_30_90 27.63 bitmap_scale_filter_10_90 Change-Id: I2f29366b0fd503176c5af4d825fa524e632da21b Reviewed-on: https://skia-review.googlesource.com/7630 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Graceful degredation for SkOpts_hsw.Gravatar Mike Klein2017-01-26
| | | | | | | | | | | | | __AVX2__ will not be defined if you omit -mavx2. Android does this intentionally for x86 builds. (No mobile CPU supports AVX2 AFAIK.) This should fix the Android roll. Change-Id: Ib94c862641abc11fbb46863afc53bcc049f362ad Reviewed-on: https://skia-review.googlesource.com/7633 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Matt Sarett <msarett@google.com>
* Fix variable names in convolve_vertical().Gravatar Mike Klein2017-01-26
| | | | | | | | | These new names reflect the actual pixels stored in each register. Change-Id: I8e626196cd8bcbef622e4fb87ac3566a79d3573a Reviewed-on: https://skia-review.googlesource.com/7624 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Matt Sarett <msarett@google.com>
* extend clipper for lines, for uniformity, and so curves can call itself with ↵Gravatar Mike Reed2017-01-26
| | | | | | | | | | | lines BUG=skia: Change-Id: Id8c1fba6fcd2496802d3d17afe3f5c91bf5dfc33 Reviewed-on: https://skia-review.googlesource.com/7621 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add SkICC::rawTransferFnData()Gravatar Matt Sarett2017-01-26
| | | | | | | | | BUG=skia: Change-Id: I912b044a0091a4d396c954d1ad1d84f5f8d50f56 Reviewed-on: https://skia-review.googlesource.com/7366 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* SkOpts_hsw ODR paranoiaGravatar Mike Klein2017-01-26
| | | | | | | | | | | | | | | | | | I'm warming back up to the idea of very careful use of SkOpts_hsw. But if we're going to do that, we need a strict header discipline. No header can be assumed to be safe without vetting, and most aren't. Today there's only one function defined in SkOpts_hsw, so this CL mostly rewrites that convolve_vertically() to use no headers beyond immintrin.h and stdint.h, both safe. It shared very little code with the others anyway, so we're not losing anything by putting it directly into SkOpts_hsw.cpp. I have also streamlined the implementation considerably to improve maintainability and readability. Change-Id: Ia03daae660e54125a0d2e2988464cfc930349e80 Reviewed-on: https://skia-review.googlesource.com/7611 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove SkBlitter::getShaderContext()Gravatar Florin Malita2017-01-26
| | | | | | | | | | | Unused. Also ComposeShaderContext::getShaderContext{A,B}. R=reed@google.com,mtklein@google.com Change-Id: I36a8346f0c7e842455774339f388c04920db0040 Reviewed-on: https://skia-review.googlesource.com/7613 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Fix extension suffic for getting procs from GL_EXT_debug_marker on ESGravatar Brian Salomon2017-01-26
| | | | | | | Change-Id: I483fbf7c5f6d4489802def78fa855f70313e4a19 Reviewed-on: https://skia-review.googlesource.com/7602 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Move SkGammaColorFilter to tools, limit to sRGBGravatar Brian Osman2017-01-26
| | | | | | | | | | | Similarly, limit GrGammaEffect to sRGB (and rename it). BUG=skia: Change-Id: I88feef11ab7040bca2fa4c2eed71923ded87a0d0 Reviewed-on: https://skia-review.googlesource.com/7375 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Move GrDrawingManager pointer to GrSurfaceContextGravatar Robert Phillips2017-01-26
| | | | | | | | Change-Id: Ic285b24b384bbf284cc680fe770433dd4d643833 Reviewed-on: https://skia-review.googlesource.com/7561 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Check that the upper bits are correct in the SkArenaAlloc footer.Gravatar herb2017-01-26
| | | | | | | | | TBR=mtklein@google.com Change-Id: I8dc21778d1b8b24dd9d7b6919bb7e2bcfe090e82 Reviewed-on: https://skia-review.googlesource.com/7588 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Remove redundant caps field from GrProcessorTestDataGravatar Brian Salomon2017-01-25
| | | | | | | Change-Id: Ic31338f08d1bd5b55ffab75d30c0f54436c8b917 Reviewed-on: https://skia-review.googlesource.com/7510 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Simplify Footers in SkArenaAlloc to 64-bit values using pointers.Gravatar Herb Derby2017-01-25
| | | | | | | | | TBR=mtklein@google.com Change-Id: I72c6cf6857b2bb00f4259cc9c4de2d51d454e6ab Reviewed-on: https://skia-review.googlesource.com/7582 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Switch GrConfigConversionEffect over to taking GrTextureProxiesGravatar Robert Phillips2017-01-25
| | | | | | | Change-Id: Ic8be773e210e1ac05dcb9aad6c89dcd63e9e4ba2 Reviewed-on: https://skia-review.googlesource.com/7521 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* utils/win/SkTScopedComPtr<T>: Add C++11ish move semanticsGravatar Hal Canary2017-01-25
| | | | | | | Change-Id: I026ffa81d583fddc4a2c7238a176232ef98fcd89 Reviewed-on: https://skia-review.googlesource.com/7434 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Use GrSurfaceContext::read/write-Pixels moreGravatar Robert Phillips2017-01-25
| | | | | | | | Change-Id: I04bcaf91aa7a43e0563e332c1fe2836d762a04d4 Reviewed-on: https://skia-review.googlesource.com/7520 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Move SkShadowTessellator to GrShadowTessellatorGravatar Jim Van Verth2017-01-25
| | | | | | | | | BUG=skia:6119 Change-Id: I9756b5aeaced1f21a65063470ccb013c7b856f28 Reviewed-on: https://skia-review.googlesource.com/7505 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Add geometric implementation for ambient shadowsGravatar Jim Van Verth2017-01-25
| | | | | | | | | | | Original: https://skia-review.googlesource.com/7273 BUG=skia:6119 Change-Id: Ie7debd7727768f55dafad922a2b8b9fd3a638fda Reviewed-on: https://skia-review.googlesource.com/7500 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Remove SkImage::MakeTextureFromPixmap"Gravatar Brian Osman2017-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8ccbbb455c6ef194920c47e846b95b50f5017138. Reason for revert: Chrome perf regression BUG=chrome:684483 Original change's description: > Remove SkImage::MakeTextureFromPixmap > > Another step towards reducing the number of texture upload paths. > > BUG=skia: > > Change-Id: Ica185e7334f52dc9ebf87e21fe6f60589ef87bb3 > Reviewed-on: https://skia-review.googlesource.com/7346 > Commit-Queue: Brian Osman <brianosman@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,cblume@google.com # Not skipping CQ checks because original CL landed > 1 day ago. BUG=skia: Change-Id: I8bf6970b764018f3ebcac8123e4d6a8ad05317ff Reviewed-on: https://skia-review.googlesource.com/7484 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Add geometric implementation for ambient shadows"Gravatar Ethan Nicholas2017-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fdb1bdf1aa4e7f14befcb3acc3f586e7734190ea. Reason for revert: Breaking the roll (see e.g. https://codereview.chromium.org/2652833006) Original change's description: > Add geometric implementation for ambient shadows > > BUG=skia:6119 > > Change-Id: I3140522f223c35fc059a33b593064897485dff7c > Reviewed-on: https://skia-review.googlesource.com/7273 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> > TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com,reviews@skia.org,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:6119 Change-Id: I307f6084c40e5ba305c38d15b6b433465295553c Reviewed-on: https://skia-review.googlesource.com/7480 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Add geometric implementation for ambient shadowsGravatar Jim Van Verth2017-01-24
| | | | | | | | | BUG=skia:6119 Change-Id: I3140522f223c35fc059a33b593064897485dff7c Reviewed-on: https://skia-review.googlesource.com/7273 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Allow GrSingleTextureEffect to take GrTextureProxiesGravatar Robert Phillips2017-01-24
| | | | | | | Change-Id: I1dd441a5838f665c6815a5c629f5763f43f66e09 Reviewed-on: https://skia-review.googlesource.com/7429 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Use appropriate options in SkJpegCodec readRows()Gravatar Matt Sarett2017-01-24
| | | | | | | | | b/34637813 Change-Id: Ibebac2ef8cfe004beb2272c266b580946cedcb08 Reviewed-on: https://skia-review.googlesource.com/7451 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Make the footer big to handle bug 684061.Gravatar Herb Derby2017-01-24
| | | | | | | | | | | | R=mtklein@google.com BUG=chromium:684061 Change-Id: I210ca93e00ec6fa5d166c0fde5cdcff0f60c26ca Reviewed-on: https://skia-review.googlesource.com/7450 Commit-Queue: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkPixelInfo::CopyPixels() refactor part 0: only one memcpy() caseGravatar Matt Sarett2017-01-24
| | | | | | | | | | | | | | | I envision this eventually looking like the following: Fast Path 1: memcpy Fast Path 2: Legacy RGBA/BGRA unpremul/premul Fast Path 3: SkColorSpaceXform Fallback: Raster pipeline BUG=skia:6021 Change-Id: I3f0e36b08b051ab4ba3949f04474f20d0c20a963 Reviewed-on: https://skia-review.googlesource.com/7435 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>
* move sk_memset16,32,64 out-of-lineGravatar Mike Klein2017-01-24
| | | | | | | | | | | | | This helps pick it out on profiles and when debugging. This will have a negligible impact on speed in most cases (small memsets are always fast, large memsets dwarf function call overhead), and clients like Chrome that use link-time optimization should see exactly zero impact. This does however affect code size: it makes libskia 43K smaller on my laptop. Change-Id: I55bdc75b7429a63024ab3b7d55dc1f886bde102a Reviewed-on: https://skia-review.googlesource.com/6589 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Make GrConvolutionEffect only support Gaussian kernels and rename.Gravatar Brian Salomon2017-01-24
| | | | | | | Change-Id: Ia874ad5bacc550b7ecec579719242e3354dca34b Reviewed-on: https://skia-review.googlesource.com/7432 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove SkTDict and calls from SkView.Gravatar Herb Derby2017-01-24
| | | | | | | | | | R=reed@google.com Change-Id: Iebfddf752a2ac210a3f5c69de8decd06d0c35617 Reviewed-on: https://skia-review.googlesource.com/7436 Commit-Queue: Herb Derby <herb@google.com> Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Do not embed glyph image data in SkGlyphCache.Gravatar Herb Derby2017-01-24
| | | | | | | | | | | | | | Instead of allocating memory for glyph images eagerly by embedding the memory in the glyph cache, allocate memory dynamically on need. TBR=bungeman@google.com BUG=chromium:684366 Change-Id: If32bbc4d2608c976b93868feb519dcfa1212ce59 Reviewed-on: https://skia-review.googlesource.com/7433 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Add F16 and gamma correct support to webp encoderGravatar Matt Sarett2017-01-24
| | | | | | | | | BUG=skia: Change-Id: Ib788466fa1e2bed26e7ffd8f03bee42930eae1d6 Reviewed-on: https://skia-review.googlesource.com/7425 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* restore bool version of clip-boundsGravatar Mike Reed2017-01-24
| | | | | | | | | BUG=skia: Change-Id: I94e35566cf5bcd250515c71a566dd79030e2acb4 Reviewed-on: https://skia-review.googlesource.com/7430 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Reenable index8 dstsGravatar Matt Sarett2017-01-24
| | | | | | | | | | | | | | | | | | | This is causing problems with image-cacherator-from-ctable gm. In that gm, we use an index8->index8 readPixels() to take a subset. I think we need to keep this as long as we support index8 in the generator/cacherator. Though it's really strange because we don't really bother to verify that color tables are the same and we don't try to overwrite the dst color table... BUG=skia: Change-Id: Icf008caa571c4b81a52a23b8b7d9226789626ef5 Reviewed-on: https://skia-review.googlesource.com/7424 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Make GrYUVEffect take GrTextureProxiesGravatar Robert Phillips2017-01-24
| | | | | | | | | This opens the door for swapping all the effects over to taking GrTextureProxies. Change-Id: I3b03ba93a68f9945c9a8fee008fd170ed57616eb Reviewed-on: https://skia-review.googlesource.com/7344 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix comparison that overflows for addresses near uint max.Gravatar Herb Derby2017-01-23
| | | | | | | | | | | | - Fix Assert TBR=mtklein@google.com BUG=chromium:683578 Change-Id: Iba503d1febace367c71f79a3b9accc0ec3e50f11 Reviewed-on: https://skia-review.googlesource.com/7418 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Herb Derby <herb@google.com>
* make SkPath::conservativelyContainsRect consume degenerate segmentsGravatar Lee Salzman2017-01-23
| | | | | | | | | BUG=skia: Change-Id: I3a39318bceaf6c95a50d84961d93af4ba62550e3 Reviewed-on: https://skia-review.googlesource.com/6900 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* rename virtuals for clipbounds, and deprecate older bool/var-arg patternGravatar Mike Reed2017-01-23
| | | | | | | | | BUG=skia: Change-Id: I08bcc2d0559e02838772538816b928e0716dd3aa Reviewed-on: https://skia-review.googlesource.com/7412 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Stop tracking whether GrFragmentProcessors read their inputGravatar Brian Salomon2017-01-23
| | | | | | | Change-Id: Id5338901978b97289798eaef873527597bd8dfd6 Reviewed-on: https://skia-review.googlesource.com/7414 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Move shader register setup to SkRasterPipelineBlitter.Gravatar Mike Klein2017-01-23
| | | | | | | | | | | | | | | | | | | | | We've been seeding the initial values of our registers to x+0.5,y+0.5, 1,0, 0,0,0,0 (useful values for shaders to start with) in all pipelines. This CL changes that to do so only when blitting, and only when we have a shader. The nicest part of this change is that SkRasterPipeline itself no longer needs to have a concept of y, or what x means. It just marches x through [x,x+n), and the blitter handles y and layers the meaning of "dst x coordinate" onto x. This ought to make SkSplicer a little easier to work with too. dm --src gm --config f16 srgb 565 all draws the same. Change-Id: I69d8c1cc14a06e5dfdd6a7493364f43a18f8dec5 Reviewed-on: https://skia-review.googlesource.com/7353 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Fix comparison that overflows for addresses near uint max."Gravatar Ethan Nicholas2017-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit db8b8376b09cec9656b0ab864413b7911d81a84c. Reason for revert: Assertion failure, see https://luci-milo.appspot.com/swarming/task/33e5ae4d2bb25210/steps/dm/0/stdout Original change's description: > Fix comparison that overflows for addresses near uint max. > > BUG=chromium:683578 > > Change-Id: I3f9b79eeeba3c68cccb72bd6423811c8ff8f2067 > Reviewed-on: https://skia-review.googlesource.com/7410 > Commit-Queue: Herb Derby <herb@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,mtklein@google.com,herb@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:683578 Change-Id: I198ea4c7209d060d0d15dfa3f6e555fa06e1a632 Reviewed-on: https://skia-review.googlesource.com/7415 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* SkRasterPipeline: implement support for SkTableColorFilterGravatar Mike Klein2017-01-23
| | | | | | | | | | | | | This adds and uses a byte_tables stage that converts to bytes, looks up in the tables, then converts back to floats. We treat this as color filter as pure math, not considering anything colorspace related: no transfer functions, no gamut to change, etc. Change-Id: If5fefc1bcef61a0fb0ae279002a0dd1547e429ea Reviewed-on: https://skia-review.googlesource.com/7413 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix comparison that overflows for addresses near uint max.Gravatar Herb Derby2017-01-23
| | | | | | | | | | BUG=chromium:683578 Change-Id: I3f9b79eeeba3c68cccb72bd6423811c8ff8f2067 Reviewed-on: https://skia-review.googlesource.com/7410 Commit-Queue: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>