aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* Specialize boxBlur(Interp) based on 'transpose' parameterGravatar Hans Wennborg2017-04-06
| | | | | | | | | | | | | | | | | boxBlurInterp showed up hot when running Speedometer. I noticed that BoxBlur calls boxBlurInterp repeatedly, the call does not get inlined, and the function could be simplified a bit if 'transpose' is a compile-time constant. In particular, dst_x_stride or dst_y_stride now become a constant 1, which simplifies the dptr updates. Bug: skia:none Change-Id: I8782e5b133a2195328e13878aca8a749af150b86 Reviewed-on: https://skia-review.googlesource.com/11362 Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Manual revert: Add support for writing ICC profiles to webp encoder"Gravatar Matt Sarett2017-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4293a1e5f259cf12560d6e794c1a05ad4dbc0b32. Reason for revert: Relanding, libwebp updated in Android master Original change's description: > Manual revert: Add support for writing ICC profiles to webp encoder > > Bug: skia: > Change-Id: I4e70bee8c2ea8dbd5ae1e84aa097f5a7e2e62721 > Reviewed-on: https://skia-review.googlesource.com/11444 > Reviewed-by: Matt Sarett <msarett@google.com> > Reviewed-by: Leon Scroggins <scroggo@google.com> > Commit-Queue: Matt Sarett <msarett@google.com> > TBR=msarett@google.com,scroggo@google.com,reviews@skia.org,jzern@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I73aa9e8183241ada4ec6451567bce3d3d18995cc Reviewed-on: https://skia-review.googlesource.com/11523 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* jumper, gather_8888Gravatar Mike Klein2017-04-06
| | | | | | | Change-Id: I70bd64d114a2460534bcb51d356e13d9bc3b8603 Reviewed-on: https://skia-review.googlesource.com/11491 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make GrCopySurfaceOp friendlier to GrSurfaceProxyGravatar Robert Phillips2017-04-06
| | | | | | | Change-Id: Iba8c068bd96ab154d466e485a9db31dd552138de Reviewed-on: https://skia-review.googlesource.com/11325 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* tweaks to make gather_* easier in SkJumperGravatar Mike Klein2017-04-06
| | | | | | | | | | | | | | This moves all the values that gather_8888, gather_a8, etc. need to the front of SkImageShaderContext, and dereferences the color table. This should be a no-op, but will make these stages easier to write in SkJumper. Change-Id: I0dff97d5113d14e941e7b717cd85f0036764eb88 Reviewed-on: https://skia-review.googlesource.com/11492 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* jumper, turn off a few fancy featuresGravatar Mike Klein2017-04-06
| | | | | | | | | | | | | | | | | | | | | | | This doesn't change any of the generated .S files, but it does cut a few misc. sections from the intermediate .o files. It's nice to get those sections out of the way, and one day we might be able to find ways to cut everything but .text... that'd allow us to switch the supicious section sniffing code from a blacklist (no .const, no .literal, etc.) to a more foolproof whitelist (.text or bust). The remaining sections are only in ELF objects (aarch64.o, vfp4.o): .comment (notes the version of Clang/LLVM that compiled it) .note.GNU-stack (we manually add this back in build_stages.py) and vfp4.o has two more sections that I don't understand yet: .ARM.exidx (I'd have thought -fno-unwind-tables would cut this) .ARM.attributes While doing this, I've tried to make the ARM flags a bit more compact. Change-Id: I30ef6acb2a917ec938c5358c3f970fe04b6d7afa Reviewed-on: https://skia-review.googlesource.com/11485 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* make copyTo_with_allocator android onlyGravatar Mike Reed2017-04-06
| | | | | | | | | Bug: skia:6464 Change-Id: I3d95daae2ae854671e6231e62f200913ce3586d0 Reviewed-on: https://skia-review.googlesource.com/11486 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Factor out common work in readSurfacePixels and writeSurfacePixelsGravatar Brian Osman2017-04-06
| | | | | | | | | | | | Use more consistent structure between the two functions. BUG=skia:5853 Change-Id: I82465bee30025574d0d6fad9e287b187d75fff8d Reviewed-on: https://skia-review.googlesource.com/10042 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* handle odd-index-count in encode/decodeGravatar Mike Reed2017-04-06
| | | | | | | | Bug: skia: Change-Id: Iffb123001a77049c6581f63bbc69c62f241a87f8 Reviewed-on: https://skia-review.googlesource.com/11405 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* fix 36605271Gravatar Cary Clark2017-04-06
| | | | | | | | | | | | | typo in function header makes it appear that a buffer overflow may occur R=djsollen@google.com Bug: b/36605271 Change-Id: Iab6d08ae71f49c46736dc025791faefdeb74df5e Reviewed-on: https://skia-review.googlesource.com/11454 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Eric Boren <borenet@google.com>
* jumper, add load_f32()Gravatar Mike Klein2017-04-06
| | | | | | | Change-Id: I71d85ffe29bc11678ff1e696fa4a2c93d0b4fcbe Reviewed-on: https://skia-review.googlesource.com/11446 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* jumper, kill off F4Gravatar Mike Klein2017-04-06
| | | | | | | | | | | | | | | | Its alignment (sometimes 4, sometimes 16) has proven to be error-prone. This also means we don't really need LazyCtx::load(). I think I only had it there to make sure we were doing unaligned loads of F4; the better way is to just never declare the data as aligned... The generated code isn't quite as good, but I can live with it. Change-Id: I5d57a580ca12c94ca84a5e8b72a66cf8d0c829eb Reviewed-on: https://skia-review.googlesource.com/11406 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* jumper, only print non-zero countsGravatar Mike Klein2017-04-06
| | | | | | | | | This makes it easier for me to read. Change-Id: I6936c31981a2af6b7d3d7db9e60d36010fefa7ec Reviewed-on: https://skia-review.googlesource.com/11445 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Manual revert: Add support for writing ICC profiles to webp encoderGravatar Matt Sarett2017-04-06
| | | | | | | | | Bug: skia: Change-Id: I4e70bee8c2ea8dbd5ae1e84aa097f5a7e2e62721 Reviewed-on: https://skia-review.googlesource.com/11444 Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* remove legacy vertices flag and codeGravatar Mike Reed2017-04-06
| | | | | | | | Bug: skia:6366 Change-Id: Ibea5f71c5ff570e4f3ccec7d064893602c3335cf Reviewed-on: https://skia-review.googlesource.com/11359 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove SK_SUPPORT_LEGACY_BITMAP_SETPIXELREF flag and codeGravatar Mike Reed2017-04-06
| | | | | | | | Bug: skia: Change-Id: I234d221d685a6feab891cbca84869177b4a954bb Reviewed-on: https://skia-review.googlesource.com/11404 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* add guard for obsolete (non-functioning) replayClipsGravatar Mike Reed2017-04-06
| | | | | | | | | | | | replayClips has been disabled (broken) for a while. This CL just attempts to hide the api (will remove once android's callsite is removed) Bug: skia: Change-Id: I35b412addfc0a08ea888a62609888b9b54dce2a6 Reviewed-on: https://skia-review.googlesource.com/11401 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv ↵Gravatar Robert Phillips2017-04-06
| | | | | | | | | | | | | (take 3) This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling. This is a re-reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv) Change-Id: Icfb9dd223418dd460405efd2bfd9d1c356beed1a Reviewed-on: https://skia-review.googlesource.com/11412 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Fix the size check for the drawBitmap fast-path in ↵Gravatar lsalzman2017-04-05
| | | | | | | | | | | SkBitmapDevice::drawBitmapRect. It would fail when the source rectangle had a non-zero offset, in which case it would compare the source rectangle with the offset to the extracted bitmap size, which always fails. The only thing that should matter is that the source rectangle and extract bitmap have the same size, since the offset gets added onto the matrix. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2089583002 Review-Url: https://codereview.chromium.org/2089583002 Committed: https://skia.googlesource.com/skia/+/ea9bc0c07b5dae78a9a449d7d7a07fc79262d41a Review-Url: https://codereview.chromium.org/2089583002
* SkImageEncoder: Be more lenient on inputsGravatar Matt Sarett2017-04-05
| | | | | | | | | | | | | | | | | | | | (1) Some clients want us to write ICC profiles, even though they have not opted into linear unpremultiplication. This CL allows that behavior. (2) We should not assert that the transfer function must be linear or srgb. Particularly in non-linear blending modes, skia is willing to support a larger set of transfer functions. (3) We still need to require linear or srgb when in kRespect transfer function mode. We have not yet implemented linear unpremultiplies for arbitrary transfer functions. Bug: skia: Change-Id: Idce9f07c3d36eca4d78ede5e2650b2cab412904c Reviewed-on: https://skia-review.googlesource.com/11349 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Revert "Revert "Add support for writing ICC profiles to webp encoder""Gravatar Matt Sarett2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e87d7781db75a7ec22a103eda0886c2ca8dc4d9d. Reason for revert: Not the cause of the crashes. Original change's description: > Revert "Add support for writing ICC profiles to webp encoder" > > This reverts commit 0c9d0b4e03b6c10778329e995b5dfdcb97954b28. > > Reason for revert: Looks like it's breaking a number of bots. > > Original change's description: > > Add support for writing ICC profiles to webp encoder > > > > Bug: skia: > > Change-Id: If0a8f84ed88da96924370b841f2283c0ff8e32ab > > Reviewed-on: https://skia-review.googlesource.com/10212 > > Commit-Queue: Matt Sarett <msarett@google.com> > > Reviewed-by: Leon Scroggins <scroggo@google.com> > > > > TBR=msarett@google.com,scroggo@google.com,reviews@skia.org,jzern@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: Ic06ad9f19a4d743b34f8d3bd33f171b9d74badcb > Reviewed-on: https://skia-review.googlesource.com/11408 > Reviewed-by: Jim Van Verth <jvanverth@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> > TBR=jvanverth@google.com,msarett@google.com,scroggo@google.com,reviews@skia.org,jzern@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I42f6ddefaf87c87b155640950b52a456952130ec Reviewed-on: https://skia-review.googlesource.com/11410 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Revert "Add support for writing ICC profiles to webp encoder"Gravatar Jim Van Verth2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 0c9d0b4e03b6c10778329e995b5dfdcb97954b28. Reason for revert: Looks like it's breaking a number of bots. Original change's description: > Add support for writing ICC profiles to webp encoder > > Bug: skia: > Change-Id: If0a8f84ed88da96924370b841f2283c0ff8e32ab > Reviewed-on: https://skia-review.googlesource.com/10212 > Commit-Queue: Matt Sarett <msarett@google.com> > Reviewed-by: Leon Scroggins <scroggo@google.com> > TBR=msarett@google.com,scroggo@google.com,reviews@skia.org,jzern@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ic06ad9f19a4d743b34f8d3bd33f171b9d74badcb Reviewed-on: https://skia-review.googlesource.com/11408 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Add support for writing ICC profiles to webp encoderGravatar Matt Sarett2017-04-05
| | | | | | | | Bug: skia: Change-Id: If0a8f84ed88da96924370b841f2283c0ff8e32ab Reviewed-on: https://skia-review.googlesource.com/10212 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* jumper, to_2dot2 and from_2dot2Gravatar Mike Klein2017-04-05
| | | | | | | | | Nothing too tricky here. Change-Id: I2a10548efc75a6fd875fcb242790880d9b9a28fd Reviewed-on: https://skia-review.googlesource.com/11388 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Matt Sarett <msarett@google.com>
* Fix various SkBitmap::copyTo() bugsGravatar Matt Sarett2017-04-05
| | | | | | | | | | | | | | | | | | | | I believe that the best fix is to move this entire function into the framework and call SkPixmap::readPixels() from there. Given that, we have already branched, I think this is the simplest fix. (1) We never added F16 support. Enable F16. This involves assigning color spaces to src and dst pixmaps so that the conversion makes sense. (2) SkPixmap::readPixels() does not support parametric transfer functions. Fortunately, the framework never uses copyTo() to do color space conversions. We should at least support the case where the src color space matches the dst color space. Bug: skia: Change-Id: I129b7c02249eed34a9ec4aa0ca736aadccc19777 Reviewed-on: https://skia-review.googlesource.com/11387 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* remove trace and registers stagesGravatar Mike Klein2017-04-05
| | | | | | | | | These can't really be done with SkJumper. Change-Id: Ic357f00695eacd2766f6dfb9a3be13b0c07c3650 Reviewed-on: https://skia-review.googlesource.com/11386 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* jumper, load_u16_be and store_u16_beGravatar Mike Klein2017-04-05
| | | | | | | Change-Id: I2d58538ab071b217d8dbbf2d802493d9045eabf2 Reviewed-on: https://skia-review.googlesource.com/11384 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Rm readPixels from GrSurface & move read/writeSurfacePixels to ↵Gravatar Robert Phillips2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrContextPriv (take 2)" This reverts commit aaee31f18c0845417103d84285e365575def3c40. Reason for revert: possible valgrind leak Original change's description: > Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv (take 2) > > This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling. > > This is a reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv) > > Change-Id: Icd0a90d2beb483dc24ed87c3bace9c817019e148 > Reviewed-on: https://skia-review.googlesource.com/11326 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ia0b92bf6402cb5f9607310d356f43bff2e3e75eb Reviewed-on: https://skia-review.googlesource.com/11361 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Delete SkPixelRef::readPixels()Gravatar Matt Sarett2017-04-05
| | | | | | | | | | Nobody calls this or overrides this. Bug: skia: Change-Id: I6235e4c7bcdc45523ce7f63842635c79e00d2dc4 Reviewed-on: https://skia-review.googlesource.com/11357 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Refactor Vulkan support to support FuchsiaGravatar Michael Jurka2017-04-05
| | | | | | | | | | | | | | | | | - Refactor runtime lookup of Vulkan functions - Support Magma surfaces - Add build flags to toggle Vulkan support BUG=skia: Change-Id: Ic71965c453507882521443006c4155c7481a9a3f Reviewed-on: https://skia-review.googlesource.com/9342 Commit-Queue: Greg Daniel <egdaniel@google.com> Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Michael Jurka <mikejurka@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Use the rounded text size for gasp.Gravatar Ben Wagner2017-04-05
| | | | | | | | | | | | | When comparing against gasp ranges always use the rounded (gdi) size. Previously the truncated size was used, but it appears other implementations are using the rounded size. BUG=chromium:706693 Change-Id: I185cdf5b905261038e5150a04eef1b99bf73d875 Reviewed-on: https://skia-review.googlesource.com/11354 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* hide most details of SkPatchUtilsGravatar Mike Reed2017-04-05
| | | | | | | | | | relies on https://googleplex-android-review.git.corp.google.com/#/c/2060523/ landing first Bug: skia: Change-Id: Ic6dc8e53656a7190a32cfb3b0b2abd9ee6dbebf0 Reviewed-on: https://skia-review.googlesource.com/11351 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Remove texture sampling from GrConfigConversionEffectGravatar Brian Osman2017-04-05
| | | | | | | | | | | | | | | | Elevates default precision for the entire fragment program to maintain precision on some ES implementations. Re-land fixed version of: https://skia-review.googlesource.com/10026/ https://skia-review.googlesource.com/10056 BUG=skia: Change-Id: Ibe43dba9c223e430b2f9f8ed5cb97ed7a049e6c2 Reviewed-on: https://skia-review.googlesource.com/10160 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv ↵Gravatar Robert Phillips2017-04-05
| | | | | | | | | | | | | (take 2) This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling. This is a reland of: https://skia-review.googlesource.com/c/11200/ (Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv) Change-Id: Icd0a90d2beb483dc24ed87c3bace9c817019e148 Reviewed-on: https://skia-review.googlesource.com/11326 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Add SkImage::makeColorSpace() to public APIGravatar Matt Sarett2017-04-05
| | | | | | | | | | | | | Gives Chrome the flexibility to xform and cache SkImages before they reach the SkColorSpaceXformCanvas. Bug: skia: Change-Id: I1f188f385b953b5a958c15578ea66deffb4dc6c5 Reviewed-on: https://skia-review.googlesource.com/11290 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Avoid trans-coding images with gamma 2.2Gravatar Brian Osman2017-04-05
| | | | | | | | | | | | | Previously, these were decoded "AsIs". That feature went away (for simplicity). Unfortunately, that means that images with gamma 2.2 were being asked to decode to sRGB, incurring a costly (and destructive) conversion. Bug: skia: Change-Id: I6c8cdfefc052c82a4de37c697c2f659dcdd38d4d Reviewed-on: https://skia-review.googlesource.com/11352 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* finish up load4/store4 refactoringGravatar Mike Klein2017-04-05
| | | | | | | | | | | | | | I saved the easiest for last. No generated code diff for store_f32. This just moves the platform-specific code over to SkJumper_vectors.h Also clarify types in the existing load4()/store4() functions. SkJumper_stages.cpp looks good to start growing again! Change-Id: I6a8599d090b4e17663703b0c0325dbe550a6cdd8 Reviewed-on: https://skia-review.googlesource.com/11348 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Allow FPs to elevate default precision for the entire fragment programGravatar Brian Osman2017-04-05
| | | | | | | | | | | | | | | | | Currently, GrConfigConversionEffect is able to round-trip on many mobile GPUs because it uses highp for all intermediate variables (including the texture fetch result). Separating the texture sample into a different processor breaks that. This is a blunt instrument, not to be used lightly. This reverts commit dffe9827b18444d1426859d9035f9f0087201f44. Bug: skia: Change-Id: I940af3256c47e6672a008d516db9e55669672ca3 Reviewed-on: https://skia-review.googlesource.com/11345 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Rm readPixels from GrSurface & move read/writeSurfacePixels to ↵Gravatar Robert Phillips2017-04-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrContextPriv" This reverts commit fb0bd98a43fa11e09705837418167dd72bb4a361. Reason for revert: ANGLE failures Original change's description: > Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPriv > > This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling. > > Change-Id: If57a7de47edc0853dae7bc61337d9acdc03d63b0 > Reviewed-on: https://skia-review.googlesource.com/11200 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I7241070dc1f9df47181061e07adab141f9857974 Reviewed-on: https://skia-review.googlesource.com/11324 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Rm readPixels from GrSurface & move read/writeSurfacePixels to GrContextPrivGravatar Robert Phillips2017-04-05
| | | | | | | | | This is in service of: https://skia-review.googlesource.com/c/11125/ (Add parallel proxyID to StencilOps & RenderTargetOpList) where I want a better choke point for texture creation to improve discard handling. Change-Id: If57a7de47edc0853dae7bc61337d9acdc03d63b0 Reviewed-on: https://skia-review.googlesource.com/11200 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* remove legacy canvas helpersGravatar Mike Reed2017-04-05
| | | | | | | | Bug: skia: Change-Id: I79e08adb49556be506e6198d9fadda684bcb08f2 Reviewed-on: https://skia-review.googlesource.com/11321 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert incorrect change to GrCoverageSetOp test factoryGravatar Brian Salomon2017-04-04
| | | | | | | Change-Id: I7d2c9f4e5c2cded2eb06b9a18b73700726103f15 Reviewed-on: https://skia-review.googlesource.com/11292 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Support Canvas Clip on Blit FramebufferGravatar Eric Karl2017-04-04
| | | | | | | | | | | | The previous fix to blit framebuffer didn't take cases where the canvas had a clip applied into account. Fix and update the unit test to add this case. Bug: 658277 Change-Id: If3a9d2c8ddf955164cf529c9d6036618f957e426 Reviewed-on: https://skia-review.googlesource.com/11300 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Finish up mip opts: 2x3 and 3x2"Gravatar Matt Sarett2017-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 88ec28e3d7567ec2c3e26fed66c16a68a8f8ae64. Reason for revert: <INSERT REASONING HERE> Original change's description: > Finish up mip opts: 2x3 and 3x2 > > mipmap_build_2048x2047 (2x3): > sRGB Float Impl (old): 82.9ms (reference) > 8888 : 12.3ms (reference) > sRGB Before : 61.9ms > sRGB After : 53.1ms > > mipmap_build_2047x2048 (3x2): > sRGB Float Impl (old): 65.9ms (reference) > 8888 Before : 10.3ms > 8888 After : 8.81ms > sRGB Before : 47.8ms > sRGB After : 43.5ms > > BUG=skia: > > Change-Id: I53ef01e8b8344f018aa940d6c80cf2cf048bf7fa > Reviewed-on: https://skia-review.googlesource.com/10028 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Matt Sarett <msarett@google.com> > TBR=mtklein@google.com,msarett@google.com,brianosman@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: I3153b75f7f9473057e44ee47ab37421919edaeed Reviewed-on: https://skia-review.googlesource.com/11289 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Use sk_sp with GrXferProcessor and use a static factory to handle the ↵Gravatar Brian Salomon2017-04-04
| | | | | | | | | | nullptr==srcover case. Bug: skia: Change-Id: I9c07069fc2aae24fc2884c18939e3a649afc27e7 Reviewed-on: https://skia-review.googlesource.com/11282 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Move GrPipelineBuilder into GrRenderTargetContext::addLegacyDrawOpGravatar Brian Salomon2017-04-04
| | | | | | | | | This makes the legacy code use GrProcessorSet::Analysis in the same manner as the non-GrLegacyMeshDrawOps which enables changes to how analysis works. Change-Id: I8171e285ac8930beb3ac33cd3c4ee88f217b9e40 Reviewed-on: https://skia-review.googlesource.com/11205 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* jumper, split store_f16 into to_half, store4Gravatar Mike Klein2017-04-04
| | | | | | | | | | | | | | | | | | | Pretty much the same deal as the last CL going the other direction: split store_f16 into to_half() and store4(). Platforms that had fused strategies here get a little less optimal, but the code's easier to follow, maintain, and reuse. Also adds widen_cast() to encapsulate the fairly common pattern of expanding one of our logical vector types (e.g. 8-byte U16) up to the width of the physical vector type (e.g. 16-byte __m128i). This operation is deeply understood by Clang, and often is a no-op. I could make bit_cast() do this, but it seems clearer to have two names. Change-Id: I7ba5bb4746acfcaa6d486379f67e07baee3820b2 Reviewed-on: https://skia-review.googlesource.com/11204 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setupGravatar Eric Karl2017-04-04
| | | | | | | | | | | | | | | Crurently, when preparing a texture for blitFramebuffer, we ignore the kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to copy from one src rect to a different dst rect. This change updates initDescForDstCopy and setupDstTexture to allocate larger textures if necessary and accomodate this flags requirements. Bug: 658277 Change-Id: If4489ac3192dcf6f9996494c63821279721d0a12 Reviewed-on: https://skia-review.googlesource.com/11141 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Move the ability to access textures, buffers, and image storages out from ↵Gravatar Brian Salomon2017-04-04
| | | | | | | | | | | GrProcessor. GrXferProcessor can no longer use this functionality so it is moved to a new intermediate class inherited by GrFragmentProcessor and GrPrimitiveProcessor. Change-Id: I4f30c89bdceb2d77b602bf0646107e0780881c26 Reviewed-on: https://skia-review.googlesource.com/11202 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* 565 codec color xform support: fix colortable / incomplete image behaviorGravatar Matt Sarett2017-04-04
| | | | | | | | | | | | | | | | | | This fixes a bug that was exposed when I added color space support for 565 decodes. Before this CL, we would sometimes fill incomplete images with R and B swapped. This fixes that issue. Part of the fix is the decision to do 565 xforms when building the color table (then just swizzle to 565), rather than do them per pixel after swizzling. Bug: skia: Change-Id: I09e1ec75aba09a4e288015ea746465d0c3f7d59f Reviewed-on: https://skia-review.googlesource.com/11137 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Matt Sarett <msarett@google.com>