aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* GIF: Better check for frame dependencyGravatar Leon Scroggins III2017-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a frame does not have a valid transparent index and it covers the prior frame, it does not really depend on that frame. Instead, it depends on the frame that the prior frame depends on. Determine this once we have parsed the local color map (if any), so a transparent index out of range of the color map is not considered valid. Share code that determines whether a frame has a transparent pixel. Add a test that we compute the dependencies correctly. randPixelsAnim.gif has 13 frames. After the first, the frames cover all combinations of - Whether the prior frame was keep, restoreBG or restoreToPrevious - Whether the new frame covers the prior frame - Whether the new frame has a transparent pixel (It only does so when using a global color table. It may make sense to expand the test to also cover using local color tables.) The test caught a bug where we incorrectly reused an existing SkColorTable for a different frame. Fix that bug by keeping track of the transparent index associated with the current SkColorTable. Change-Id: I3cf6be7f612990fa7a00d9e74d116d31bd227526 Reviewed-on: https://skia-review.googlesource.com/6402 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Force classic locale when parsing floats in skslc.Gravatar Ethan Nicholas2017-01-03
| | | | | | | | | | | atof is locale dependent, which can lead to bugs when a decimal separator is something other than a dot. BUG=skia: Change-Id: I6f161d686ddea86ce9968e46b632bc79a99ef656 Reviewed-on: https://skia-review.googlesource.com/6532 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* fix for Vulkan SPIR-V crash on some systemsGravatar Ethan Nicholas2017-01-03
| | | | | | | | | BUG=skia: Change-Id: I56113409901fcee7f6523e11b3f5721822830159 Reviewed-on: https://skia-review.googlesource.com/6490 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* trim another instruction off SkRasterPipeline overheadGravatar Mike Klein2017-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The overhead of a stage today is 3 x86 instructions, typically looking something like this: - movq (%rdi), %rax // Load the next stage function pointer. - addq $0x10, %rdi // Step our progress ahead 16 bytes to that next stage. - jmpq *%rax // Transfer control to that stage. But if we make sure the pointer's in esi/rsi, we can use lodsd/lodsq to do those first two steps in one instruction: - lodsq (%rsi), %rax (≈ movq (%rdi), %rax; addq $0x8, %rsi). - jmpq *%rax This CL rearranges things so that we can take advantage of this and generally trim off an instruction of overhead. Instead of a vector of {Fn, ctx} pairs, we'll flatten it down into a single interlaced program vector of void*, basically just ommitting any null context pointers. We pass the pointer to program as the second argument to Fn, putting it in rsi. These two changes together make getting the next Fn to call or the current context the same cheap lodsq instruction, encapsulated as load_and_increment(). Here's how the simple "modulate" blend stage changes: vmulps %ymm4, %ymm0, %ymm0 vmulps %ymm5, %ymm1, %ymm1 vmulps %ymm6, %ymm2, %ymm2 vmulps %ymm7, %ymm3, %ymm3 movq (%rdi), %rax addq $0x10, %rdi jmpq *%rax ~~~~~~~~> vmulps %ymm4, %ymm0, %ymm0 vmulps %ymm5, %ymm1, %ymm1 vmulps %ymm6, %ymm2, %ymm2 vmulps %ymm7, %ymm3, %ymm3 lodsq (%rsi), %rax jmpq *%rax This does make getting the current context a one-time, destructive operation. It's switched from referring to ctx as a void* directly to using ctx() as a thunk that returns a void*. No stage so far has ever referred to ctx twice, and it all appears to inline, so this seems harmless. "matrix_2x3" is a good example of what stages that use context pointers end up looking like: lodsq (%rsi), %rax vbroadcastss (%rax), %ymm9 vbroadcastss 0x8(%rax), %ymm10 vbroadcastss 0x10(%rax), %ymm8 vfmadd231ps %ymm10, %ymm1, %ymm8 vfmadd231ps %ymm9, %ymm0, %ymm8 vbroadcastss 0x4(%rax), %ymm10 vbroadcastss 0xc(%rax), %ymm11 vbroadcastss 0x14(%rax), %ymm9 vfmadd231ps %ymm11, %ymm1, %ymm9 vfmadd231ps %ymm10, %ymm0, %ymm9 lodsq (%rsi), %rax vmovaps %ymm8, %ymm0 vmovaps %ymm9, %ymm1 jmpq *%rax We can't do this with MSVC, as there's no intrinsic for it I can find, and they disallow inline assembly, and rsi is not used to pass arguments to functions there anyway. ARM doesn't need it... it does this in two instructions naturally anyway. We could do this for 32-bit x86 but I'd just rather focus on x86-64. It's unclear to me that this makes things any faster, but doesn't appear to make things any slower, and makes I think both the code and disassembly simpler. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: Ia7b543a6718c75a33095371924003c5402b3445a Reviewed-on: https://skia-review.googlesource.com/6271 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make C API compatible with -Wstrict-prototypesGravatar Brian Salomon2017-01-03
| | | | | | | Change-Id: I265605e769a12a319d672c491c9ba2d89c02de7e Reviewed-on: https://skia-review.googlesource.com/6477 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Increase "large" image size in DeferredTextureImage.Gravatar Brian Salomon2017-01-03
| | | | | | | | | | | | Reenable test on GTX10700 bot. BUG=skia:6080 Change-Id: Ieb4292e88fc337c226dad7ac82c6da84879e9522 Reviewed-on: https://skia-review.googlesource.com/6523 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* clean up non-ASCII commentsGravatar Hal Canary2017-01-03
| | | | | | | Change-Id: I07ad00133f6a938de70a94024a0ebe36c6c542bb Reviewed-on: https://skia-review.googlesource.com/6524 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Hal Canary <halcanary@google.com>
* fix fuzzerGravatar Cary Clark2017-01-03
| | | | | | | | | | | | abort if incoming data is out of range TBR=reed@google.com BUG=676866 Change-Id: I7d4850611654a399e32ea2012b23ca369dc53e70 Reviewed-on: https://skia-review.googlesource.com/6525 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Use nullptr instead of png_NULL in SkPNGImageEncoderGravatar Matt Sarett2017-01-03
| | | | | | | | | | | Also includes a few additional cleanups. BUG=skia: Change-Id: I50899bfef964a3391cc9ddf42c3c5a939e01ceae Reviewed-on: https://skia-review.googlesource.com/6497 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* remove debugging printf from resource cache test.Gravatar Brian Salomon2017-01-03
| | | | | | | Change-Id: Iec03961810c477d34e763ea4da3149b0788f4efd Reviewed-on: https://skia-review.googlesource.com/6522 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove ref counting from GrOp.Gravatar Brian Salomon2017-01-03
| | | | | | | | | Instead use std::unique_ptr to manage GrOp lifetime. Change-Id: Ic1dc1e0ffd7254c3994221f498677af5bbf66a71 Reviewed-on: https://skia-review.googlesource.com/6479 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Change GaussianBlur logic wrt color spacesGravatar Brian Osman2017-01-03
| | | | | | | | | | | | | I was using 'source' where I should have said 'input'. Also, to be consistent with other image filters, ensure that the input is in the destination gamut before we start blurring. BUG=skia: Change-Id: I751961b42a2a5d110ee8ea8916279c8fe0d5248e Reviewed-on: https://skia-review.googlesource.com/6486 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* BUILD.gn: skia_enable_pdfGravatar Hal Canary2017-01-03
| | | | | | | | | BUG=skia: Change-Id: Icf616bec73e81aad97815b519566ff5b9db611e3 Reviewed-on: https://skia-review.googlesource.com/6495 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Move two skia arrays to read-only data segmentGravatar Bruce Dawson2017-01-03
| | | | | | | | | | | | | | | | | The BCP47FromLanguageID and UnicodeFromMacRoman arrays are logically const but were not marked as such. Marking them as const lets the compiler/linker store them in the read-only data segment, which is strictly better than being in read/write memory. This change moves about 3,000 bytes from the .data to .rdata segment in both chrome.dll and chrome_child.dll. BUG=677351 Change-Id: I85ff44d61aa232cf29178833fd2bb2e004032b9e Reviewed-on: https://skia-review.googlesource.com/6424 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Disable msaa on IntelIris540 (new bot).Gravatar Ben Wagner2017-01-01
| | | | | | | | | BUG=skia:5792 Change-Id: I1b6140042ae74be455ffa04b0f2924e058e8f9be Reviewed-on: https://skia-review.googlesource.com/6492 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Update SKP versionGravatar UpdateSKPs2017-01-01
| | | | | | | | | | | | Automatic commit by the RecreateSKPs bot. TBR=update-skps@skia.org NO_MERGE_BUILDS Change-Id: I30cf8c2c92a62f83eb6d91a69df5d28d536a4cd5 Reviewed-on: https://skia-review.googlesource.com/6426 Reviewed-by: update-skps <update-skps@skia.org> Commit-Queue: update-skps <update-skps@skia.org>
* remove unused parameter in onNewimageSnapshotGravatar Mike Reed2016-12-30
| | | | | | | | | BUG=skia: Change-Id: I59b4cbace841489698fb22828c35b82a738d06b3 Reviewed-on: https://skia-review.googlesource.com/6494 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Update Win version for iHD530 after driver upgrade.Gravatar Ben Wagner2016-12-29
| | | | | | | | | BUG=skia: Change-Id: I92c0c4ca9ad3d8e0fa6e0063c47284fb819fe24c Reviewed-on: https://skia-review.googlesource.com/6417 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Stephan Altmueller <stephana@google.com>
* Omit failing test on GTX1070 (new bot).Gravatar Ben Wagner2016-12-29
| | | | | | | | | BUG=skia:6080 Change-Id: Ie6553470461a6a4a5c5602ca81074f7303d4786a Reviewed-on: https://skia-review.googlesource.com/6488 Reviewed-by: Stephan Altmueller <stephana@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Add ImageToColorSpace helper in SkImageFilterGravatar Brian Osman2016-12-29
| | | | | | | | | | | | | | Share this logic among a couple filters that need it. This also fixes a bug that showed up in the morhpology GM for GPU color space configs. Re-land of https://skia-review.googlesource.com/c/6475/ BUG=skia: Change-Id: If7b8d892cf89fa030bae68bdd3c03118f290f032 Reviewed-on: https://skia-review.googlesource.com/6484 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* remove unused ForceUnique option from makeImageSnapshotGravatar Mike Reed2016-12-29
| | | | | | | | | BUG=skia: Change-Id: I2555ceb86b597f7bb34c8fc48b3e07eb7115ea82 Reviewed-on: https://skia-review.googlesource.com/6481 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Fix typos in the sheriffing documentGravatar Yuqian Li2016-12-29
| | | | | | | | | | | | BUG=skia: NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=6470 Change-Id: Id80f5bb1a3f0279162b0397fd6822aec83eae322 Reviewed-on: https://skia-review.googlesource.com/6470 Reviewed-by: Stephan Altmueller <stephana@google.com> Commit-Queue: Stephan Altmueller <stephana@google.com>
* Revert "Add ImageToColorSpace helper in SkImageFilter"Gravatar Brian Osman2016-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e02d3caab823728d3106bcb1d4fbb674afc959fb. Reason for revert: New logic triggers out-of-date assert. Reverting until I can fix that, too. Original change's description: > Add ImageToColorSpace helper in SkImageFilter > > Share this logic among a couple filters that need it. This also fixes a > bug that showed up in the morhpology GM for GPU color space configs. > > BUG=skia: > > Change-Id: Ic686b07aff80e58e14a86108703bfbb3cf524979 > Reviewed-on: https://skia-review.googlesource.com/6475 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com,reviews@skia.org BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I00b444dfaaa9b5981f7b33b34419cf9795b52ddb Reviewed-on: https://skia-review.googlesource.com/6480 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Add ImageToColorSpace helper in SkImageFilterGravatar Brian Osman2016-12-29
| | | | | | | | | | | | Share this logic among a couple filters that need it. This also fixes a bug that showed up in the morhpology GM for GPU color space configs. BUG=skia: Change-Id: Ic686b07aff80e58e14a86108703bfbb3cf524979 Reviewed-on: https://skia-review.googlesource.com/6475 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* update pixel and pixelxl to NMF26QGravatar Kevin Lubick2016-12-28
| | | | | | | | | BUG=skia: Change-Id: I560fc9a7c50187897c9769d4f221d95919558a86 Reviewed-on: https://skia-review.googlesource.com/6476 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Add skia_enable_discrete_gpu argument to GNGravatar Brian Osman2016-12-28
| | | | | | | | | | | | This forces all of our testing tools to run with the discrete GPU in laptop systems that have that option. BUG=skia: Change-Id: Ibd7629d6de5f063cdf219b3c7469210af5085d90 Reviewed-on: https://skia-review.googlesource.com/6474 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Update Nexus 5 to M4B30ZGravatar Kevin Lubick2016-12-28
| | | | | | | | | BUG=skia: Change-Id: I6544be934f3ea84c67e0b0349e2467dd78292647 Reviewed-on: https://skia-review.googlesource.com/6473 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Add color space fallback for matrix convolution filterGravatar Brian Osman2016-12-27
| | | | | | | | | | | | | | | GrMatrixConvolutionFilter is used in two places right now. The GaussianBlur code ensures that we blur in the space of the source image, so no conversion is needed. This changes SkMatrixConvolutionImageFilter to give the same guarantee. BUG=skia: Change-Id: I1a6199d4893f2e579dc6fa809c59cd195bd62f90 Reviewed-on: https://skia-review.googlesource.com/6467 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Modify matrix convolution GM for sRGB testingGravatar Brian Osman2016-12-27
| | | | | | | | | | | | | | | Tag bitmap as sRGB, and adjust gain/bias in color-managed configs to produce results that are less blown out. Also added a colorized version of the GM, to validate that gamut conversion is working. BUG=skia: Change-Id: I333988dcdaa1272121e8aa731b4188c942fe19d8 Reviewed-on: https://skia-review.googlesource.com/6466 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Update SKP versionGravatar UpdateSKPs2016-12-25
| | | | | | | | | | | | Automatic commit by the RecreateSKPs bot. TBR=update-skps@skia.org NO_MERGE_BUILDS Change-Id: Ia0a857e5e1c7daa5c12fd9befd15014f1ba40d02 Reviewed-on: https://skia-review.googlesource.com/6421 Reviewed-by: update-skps <update-skps@skia.org> Commit-Queue: update-skps <update-skps@skia.org>
* Remove legacy matrix definesGravatar Matt Sarett2016-12-22
| | | | | | | | | | BUG=skia: Change-Id: Iaa9e402d687df6f24d94fc58d7edcf9fe47d913d Reviewed-on: https://skia-review.googlesource.com/6460 Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Remove render target unique ID virtual from GrOp.Gravatar Brian Salomon2016-12-22
| | | | | | | | | | | GrRenderTargetOpList now stores the IDs along side each op. This should put us closer to using proxy IDs and not forcing early render target instantiation as many comments point towards. Change-Id: I1ee82b01a0818a80d2bcac39fdf3a4ee7dccecc9 Reviewed-on: https://skia-review.googlesource.com/6403 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Fix iOS buildGravatar Matt Sarett2016-12-22
| | | | | | | | | BUG=skia: Change-Id: I914cd75c84bbe57401ab65352d4e8b3dc413dce1 Reviewed-on: https://skia-review.googlesource.com/6418 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Improve color space support in SkImage::readPixels()Gravatar Matt Sarett2016-12-22
| | | | | | | | | | | | Correct handling of kGray, k565, k4444 etc. is still a TODO. SkImage_Generator and SkImage_Gpu are still TODOs. BUG=skia:6021 Change-Id: Ib53d97d3a866b2b4934fd85c10100855743a8fab Reviewed-on: https://skia-review.googlesource.com/6396 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Change GPU read/write pixels API to support color space conversionGravatar Brian Osman2016-12-22
| | | | | | | | | | | | | GrContext still doesn't convert, but it has the source and destination color spaces, and call sites are supplying appropriate values where it makes sense. BUG=skia: Change-Id: Ia88733125b8090776cfc9b0dc8030cce365b0b8b Reviewed-on: https://skia-review.googlesource.com/6400 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Bot upgrades.Gravatar Ben Wagner2016-12-22
| | | | | | | | | | | | | | Upgrading most Windows bots in the Skolo to version 1607 (build number 14393). Adding IntelIris540 and GTX1070 bot. BUG=skia: Change-Id: Ide7a09a4061d1e387e1d2a22be31b14b13f2fa96 Reviewed-on: https://skia-review.googlesource.com/6357 Reviewed-by: Ravi Mistry <rmistry@google.com> Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
* Do not support index8 for generateScaledPixelsGravatar Leon Scroggins III2016-12-22
| | | | | | | | | | | | Since the in/out parameter is a const SkPixmap without the proper color table, there is no way to tell the client about it without modifying the const SkPixmap. Rather than cheating, just return false. Change-Id: I63fdf57febc59e1ee9af13aa6eb9b253d19bcb17 Reviewed-on: https://skia-review.googlesource.com/6414 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* remove SK_SUPPORT_LEGACY_PREROLL codeGravatar Mike Reed2016-12-22
| | | | | | | | | BUG=skia: Change-Id: I608a3250882708cefc37747b462d5fa08b1e28be Reviewed-on: https://skia-review.googlesource.com/6349 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Test CLGravatar Ravi Mistry2016-12-22
| | | | | | | | | | NOTRY=true BUG=skia: Change-Id: Ifc020282cfce791db66d90b0173294158b3e16ab Reviewed-on: https://skia-review.googlesource.com/6410 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* Revert "Revert "Fix issue in SkDebugCanvas where filter canvas prevents GrOp ↵Gravatar Ravi Mistry2016-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bounds from drawing"" This reverts commit 9bcda719e87140dcb541356fdb3f589e145c9b8e. Reason for revert: No idea why the bots failed with the original CL. Putting it back in. Original change's description: > Revert "Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds from drawing" > > This reverts commit 4bf98e7e802edf43effec93bea22fecb031f65f1. > > Reason for revert: Seems to have caused some compile bots to break- > https://chromium-swarm.appspot.com/task?id=333c47cadb764f10&refresh=10 > > Original change's description: > > Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds from drawing > > > > Change-Id: I3446bfc42c4cf521916a03aa0f367cd38b4fd370 > > Reviewed-on: https://skia-review.googlesource.com/6401 > > Reviewed-by: Ben Wagner <bungeman@google.com> > > Commit-Queue: Brian Salomon <bsalomon@google.com> > > > > TBR=bsalomon@google.com,bungeman@google.com,reviews@skia.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: I0a73fe8c13967233dec950c317693d13d738722a > Reviewed-on: https://skia-review.googlesource.com/6408 > Commit-Queue: Ravi Mistry <rmistry@google.com> > Reviewed-by: Ravi Mistry <rmistry@google.com> > TBR=bsalomon@google.com,bungeman@google.com,rmistry@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Iad544f883804d13f04640498b4b63f735d33840e Reviewed-on: https://skia-review.googlesource.com/6409 Commit-Queue: Ravi Mistry <rmistry@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com>
* Revert "Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds ↵Gravatar Ravi Mistry2016-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | from drawing" This reverts commit 4bf98e7e802edf43effec93bea22fecb031f65f1. Reason for revert: Seems to have caused some compile bots to break- https://chromium-swarm.appspot.com/task?id=333c47cadb764f10&refresh=10 Original change's description: > Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds from drawing > > Change-Id: I3446bfc42c4cf521916a03aa0f367cd38b4fd370 > Reviewed-on: https://skia-review.googlesource.com/6401 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,bungeman@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I0a73fe8c13967233dec950c317693d13d738722a Reviewed-on: https://skia-review.googlesource.com/6408 Commit-Queue: Ravi Mistry <rmistry@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com>
* Protect glyph sub-pixel placement against NaN and Inf.Gravatar Herb Derby2016-12-21
| | | | | | | | | BUG=chromium:675106 Change-Id: I3f8f2575ca3d1b02615be00d66cf7a123407c5a3 Reviewed-on: https://skia-review.googlesource.com/6404 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* Fix issue in SkDebugCanvas where filter canvas prevents GrOp bounds from drawingGravatar Brian Salomon2016-12-21
| | | | | | | Change-Id: I3446bfc42c4cf521916a03aa0f367cd38b4fd370 Reviewed-on: https://skia-review.googlesource.com/6401 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Cleanup GrBicubicEffectGravatar Brian Osman2016-12-21
| | | | | | | | | | | | | | | | | - The base class already stores a color space xform, so just forward our factory argument and use that one. - We had factories that took arbitrary coefficients, but they were only used in the unit test. Make the assumption of Mitchell's coefficients really hard-coded, which lets us skip transposing, storing, comparing, etc... BUG=skia: Change-Id: Ia1d4f72d32c201cba1da24d61b90250f383336d1 Reviewed-on: https://skia-review.googlesource.com/6394 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Add color space xform fallback to GrMorphologyEffectGravatar Brian Osman2016-12-21
| | | | | | | | | | | | | | 99% of the time (or maybe 100%?) morphology will trigger pad_image, so the input texture will already be in the destimation color space. If that doesn't happen, then just force the source to be converted, which keeps the morphology effect and driver code simple. BUG=skia: Change-Id: I98876af4f9e9a5da031973213ed76349752ce68f Reviewed-on: https://skia-review.googlesource.com/6388 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Implement scaling in SkCodecImageGeneratorGravatar Leon Scroggins III2016-12-21
| | | | | | | | | | | Plumb calls down to SkCodec. Add a gm Change-Id: I16da24eb739295ab72f487df02f19968151443f3 Reviewed-on: https://skia-review.googlesource.com/6287 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Clean up SkFontHost_Mac ownership.Gravatar bungeman2016-12-21
| | | | | | | | | | | | This clarifies ownership rules throughout SkFontHost_Mac.cpp, as well as tidying up various bits of code. Clarifying ownership means replacing AutoCFRelease with UniqueCFRef which is based on std::unique_ptr. Most of the cleanup is removing now dead code and properly indenting. Change-Id: I6d3a225d62b5d0f2f48a9e70c1a24317faa06747 Reviewed-on: https://skia-review.googlesource.com/6297 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* helper to convert CGImage -> SkImageGravatar Mike Reed2016-12-21
| | | | | | | | | BUG=skia: Change-Id: I07e0b8fe510d34ab541de7572cb6775478527624 Reviewed-on: https://skia-review.googlesource.com/6386 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Rename GrOp::draw to GrOp::executeGravatar Brian Salomon2016-12-21
| | | | | | | Change-Id: I36b8532c57d0b6004a5fd283e30a506df89a4fa6 Reviewed-on: https://skia-review.googlesource.com/6387 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Misc batch->op cleanup Part 2 of 2Gravatar Brian Salomon2016-12-21
| | | | | | | Change-Id: Iedfe5bd019ca1171ab09de569f74c57975aa54c9 Reviewed-on: https://skia-review.googlesource.com/6384 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>