aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* Avoid creating std::function in run_pipeline().Gravatar Mike Klein2016-12-01
| | | | | | | | | | | | | | | | | This avoids a malloc/free per SkRasterPipeline::run(), with no downside. $ out/nanobench --benchType skcolorcodec --colorImages images/colorspace/201293.jpg --skps noskps --xform_only --srgb --ms 10000 target: 273µs current: 395µs this CL: 375µs CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: Icd62f505f555ebf4ca66ee77a476f59cab68433d Reviewed-on: https://skia-review.googlesource.com/5447 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Matt Sarett <msarett@google.com>
* Added CMYK support for ICC profiles.Gravatar raftias2016-12-01
| | | | | | | | | | | | | | Changed ICC parsing/SkGammas/SkColorLookUpTable to handle non-3-channel inputs. Parsed CMYK A2B ICC profiles. Integrated this with SkJpegCodec (the only file that supports CMYK) and SkColorSpaceXform_A2B to allow parsing and color xforming of ICC CMYK images. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I11e3d17180244281be3eb43fd608609925a7f71e Reviewed-on: https://skia-review.googlesource.com/5444 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Revert "Add RasterPipeline implementation for SkColorSpaceXform"Gravatar Brian Osman2016-12-01
| | | | | | | | | | | This reverts commit dd19ac7d10c7c00dd6e9b1f4c4c6aae729c7e6d4. Reason for revert: ASAN Change-Id: I59aacc092398c4db40696a8343d657a5ad7c0f66 Reviewed-on: https://skia-review.googlesource.com/5448 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Remove use of makeDeferredRenderTargetContextWithFallbackGravatar Robert Phillips2016-12-01
| | | | | | | | | | | | | This is a partial revert of https://codereview.chromium.org/2514543002 (Defer more renderTargetContexts in the GPU image filter paths - take 2) I have been unable to reproduce the performance regression in crbug.com/668179 locally so intend to revert the above CL piecemeal. BUG=668179 Change-Id: Idf3d66d71c452f5718d7b1d8d945ca7ff46b75d8 Reviewed-on: https://skia-review.googlesource.com/5441 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert of Enable sRGB on iOS, make sRGB decode support optional (patchset ↵Gravatar brianosman2016-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #11 id:200001 of https://codereview.chromium.org/2539993002/ ) Reason for revert: ANGLE tests are failing Original issue's description: > Two (related) changes here: > > 1) Our older iOS devices failed our sRGB tests, due to precision issues > with alpha. At this point, we only test on iPadMini 4, and that appears > not to have any problems. > > 2) iOS devices still don't have the sRGB texture decode extension. But, > some clients have no interest in mixing legacy/color-correct rendering, > and would like to use sRGB on these devices. This GrContextOptions flag > enables sRGB support in those cases. > > Adjust the test code to produce sRGB capable contexts on these devices, > but only for configs that have a color space. (See comment). > > BUG=skia:4148 > > Committed: https://skia.googlesource.com/skia/+/9db12d2341f3f8722c8b90b11dd4cce138a8a64e TBR=bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4148 Review-Url: https://codereview.chromium.org/2547603002
* Add RasterPipeline implementation for SkColorSpaceXformGravatar Matt Sarett2016-12-01
| | | | | | | | | | | | | | | | | | | This is initially turned on for Linux debug builds, which allows us to start testing. Chrome for Android is a really good candidate for this (will appreciate the code size savings), but I'd first like to run some tests to understand the performance/size tradeoffs a little better. BUG:660416 CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I0fb2512216dfc0bda2e5388f9865318eec22291e Reviewed-on: https://skia-review.googlesource.com/5348 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkNoDrawCanvas - a public non-drawing canvas base classGravatar Florin Malita2016-12-01
| | | | | | | | | | | | | | | TODO: - convert SkDeferredCanvas, SkLiteRecorder, etc. to the new base - remove unused SkNoSaveLayerCanvas BUG=chromium:668925 R=reed@google.com,mtklein@google.com Change-Id: Ie9af577477a6b9eaa5ef55523287ad1635dca116 Reviewed-on: https://skia-review.googlesource.com/5349 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Two (related) changes here:Gravatar brianosman2016-12-01
| | | | | | | | | | | | | | | | | | 1) Our older iOS devices failed our sRGB tests, due to precision issues with alpha. At this point, we only test on iPadMini 4, and that appears not to have any problems. 2) iOS devices still don't have the sRGB texture decode extension. But, some clients have no interest in mixing legacy/color-correct rendering, and would like to use sRGB on these devices. This GrContextOptions flag enables sRGB support in those cases. Adjust the test code to produce sRGB capable contexts on these devices, but only for configs that have a color space. (See comment). BUG=skia:4148 Review-Url: https://codereview.chromium.org/2539993002
* Rename GrDrawBatch->GrDrawOpGravatar Brian Salomon2016-12-01
| | | | | | | Change-Id: I18f520924b8a2548566fd61dbea4e3e12bd253dd Reviewed-on: https://skia-review.googlesource.com/5411 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Added CMYK support for ICC profiles."Gravatar Mike Klein2016-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 51c3fcd376c5c9972d9476b5532f6164375a38d1. Reason for revert: ASAN, MSAN both take issue with parse_and_load_gamma() Original change's description: > Added CMYK support for ICC profiles. > > Changed ICC parsing/SkGammas/SkColorLookUpTable to handle non-3-channel > inputs. Parsed CMYK A2B ICC profiles. Integrated this with SkJpegCodec > (the only file that supports CMYK) and SkColorSpaceXform_A2B to allow > parsing and color xforming of ICC CMYK images. > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5197 > CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD > > > Change-Id: Id6619f63f04071f79cd2d84321857dfa269ad3aa > Reviewed-on: https://skia-review.googlesource.com/5197 > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Matt Sarett <msarett@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > Reviewed-by: Leon Scroggins <scroggo@google.com> > TBR=mtklein@chromium.org,mtklein@google.com,msarett@google.com,scroggo@google.com,brianosman@google.com,raftias@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ib43fef00bc233c0b4fa47ed29040d69601def267 Reviewed-on: https://skia-review.googlesource.com/5423 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Added CMYK support for ICC profiles.Gravatar raftias2016-12-01
| | | | | | | | | | | | | | | | | | | | Changed ICC parsing/SkGammas/SkColorLookUpTable to handle non-3-channel inputs. Parsed CMYK A2B ICC profiles. Integrated this with SkJpegCodec (the only file that supports CMYK) and SkColorSpaceXform_A2B to allow parsing and color xforming of ICC CMYK images. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5197 CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: Id6619f63f04071f79cd2d84321857dfa269ad3aa Reviewed-on: https://skia-review.googlesource.com/5197 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Leon Scroggins <scroggo@google.com>
* move all memset() logic into blitterGravatar Mike Klein2016-12-01
| | | | | | | | | | | It's cute in compile_pipeline(), but as before, clearer and simpler in the blitter. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: Ib83ff097e4e057e72aed785797e6ac0029ca5dbf Reviewed-on: https://skia-review.googlesource.com/5399 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Rename GrBatch to GrOpGravatar Brian Salomon2016-12-01
| | | | | | | Change-Id: I27b6324f8040899fafeda23ca524bc54a4dbf090 Reviewed-on: https://skia-review.googlesource.com/5392 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Remove pipeline info dump from GrDrawBatchGravatar Brian Salomon2016-12-01
| | | | | | | | | | | Also adds more overrides of GrBatch::dumpInfo. This removes a use case of the GrPipeline member of GrDrawBatch. Change-Id: I93f5f2993be41ffa290122f12a683d2bac453e1d Reviewed-on: https://skia-review.googlesource.com/5354 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* No SkEncodeImageAsKTX for ANDROID_FRAMEWORKGravatar Hal Canary2016-12-01
| | | | | | | | | | BUG=skia: Change-Id: Ia2925eb6aecd576d078256013fe122a468c30a5a Reviewed-on: https://skia-review.googlesource.com/5421 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* SkColorSpaceXform bug fixesGravatar Matt Sarett2016-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (1) Clamp properly! Finally came to this realization: clamping in the store functions (after gamma encoding) is ridiculous. It is impossible to know how to clamp premul values to alpha when they are already gamma encoded. I've moved the clamp out of the store function. Whew, this actually makes the code look simpler. And I expect this to fix some buggy images on Gold! (2) Correctly handle the memcpy() case. Looks like this only ever worked for RGBA inputs, never got updated when we added BGRA inputs. This probably flew under the radar because the clients are smart enough to avoid performing a color xform altogether when the color spaces match. BUG=skia: Change-Id: I4870048105efcbecc70b4bd5f77c39537006363e Reviewed-on: https://skia-review.googlesource.com/5389 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* support medium and high qualityGravatar Mike Klein2016-11-30
| | | | | | | Change-Id: I4ed750932cd6c768e21ca9f4a9e7f5f2408cfa4d Reviewed-on: https://skia-review.googlesource.com/5323 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkEncodeImage: no more link-time registrationGravatar Hal Canary2016-11-30
| | | | | | | | | | | | | | | Also, no more SkImageEncoder class. SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS now only guards some old API shims. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5006 Change-Id: I3797f584f3e8e12ade10d31e8733163453725f40 Reviewed-on: https://skia-review.googlesource.com/5006 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Remove GrBatch::renderTarget() and use GrBatch::renderTargetUniqueID() instead.Gravatar Brian Salomon2016-11-30
| | | | | | | Change-Id: I621ed38955e374c79a4d44c0020f9bae9655f001 Reviewed-on: https://skia-review.googlesource.com/5344 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Remove unused copySurfaceAsDraw code from GrVkGpuGravatar Brian Osman2016-11-30
| | | | | | | | | | | The actual implementation of this lives in GrVkCopyManager now BUG=skia: Change-Id: I8b0577acef3ac3b9e835605d4044336975a96ee5 Reviewed-on: https://skia-review.googlesource.com/5390 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* fold more in SkRasterPipelineBlitterGravatar Mike Klein2016-11-30
| | | | | | | | | | | No change in behavior. This just moves the responsibility for this optimization to the blitter (which knows what it's doing) rather than to compile_pipeline(), which sort of has to guess. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I93ad0ac896075deab995b865b188b42de637f0f7 Reviewed-on: https://skia-review.googlesource.com/5398 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* constant means constantGravatar Mike Klein2016-11-30
| | | | | | | | | | | Strip all the "constant" verbiage out of stages that really just mean 1, single, scalar. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I3d71202b348fadc3ced8ecb6c18c939cf92d7243 Reviewed-on: https://skia-review.googlesource.com/5396 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Remove batch bounds drawing debug optionGravatar Brian Salomon2016-11-30
| | | | | | | Change-Id: I6b8ffc81a1255974f8acd1dfc47cfd406fd4b0bf Reviewed-on: https://skia-review.googlesource.com/5335 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Show constant-foldable runs in SkRasterPipeline::dump()."Gravatar Mike Klein2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9ac7b2c545769a6b7c863b8e4c7f88096c9a9969. Reason for revert: misguided. Original change's description: > Show constant-foldable runs in SkRasterPipeline::dump(). > > Change-Id: I2f85249a09163dd21a8008f50340b8463718ada2 > Reviewed-on: https://skia-review.googlesource.com/5350 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I3ae6c8ec11853592b332a17aefd611dc238e6c26 Reviewed-on: https://skia-review.googlesource.com/5394 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Fix error: ‘access’ may be used uninitialized in this functionGravatar Joe Gregorio2016-11-30
| | | | | | | | | | | | | | | [-Werror=maybe-uninitialized] in GrGLGpu::bindImageStorage. Found because this broke the compiles for the debugger, imageinfo, and fiddle, but apparently not any bots? BUG=skia: Change-Id: Id8f964bca4f6493428b35c1b64df468b9d1419db Reviewed-on: https://skia-review.googlesource.com/5380 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Joe Gregorio <jcgregorio@google.com>
* Make GrGpuCommandBuffer infer its render target from first drawGravatar Brian Salomon2016-11-30
| | | | | | | | | This is a temporary workaround to allow removal of GrBatch::renderTarget(). Change-Id: Ic14710a369802064cf6446e8191a98ea3595556d Reviewed-on: https://skia-review.googlesource.com/5342 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Bring back SkRasterPipeline::run() for one-off uses.Gravatar Mike Klein2016-11-30
| | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I308b6d75f2987a667eead9a55760a2ff6aec2984 Reviewed-on: https://skia-review.googlesource.com/5353 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Disable mipmap pre-generation pathGravatar Eric Karl2016-11-30
| | | | | | | | | | | | There is a bug in the mipmap pre-generation logic in use in getDeferredTextureImageData. This can cause runaway memory leaks, so we are disabling this path until we can investigate further. BUG=669775 Change-Id: I2027f6f7994e089edd4f3452284e894752b31779 Reviewed-on: https://skia-review.googlesource.com/5357 Reviewed-by: Brian Salomon <bsalomon@google.com>
* Show constant-foldable runs in SkRasterPipeline::dump().Gravatar Mike Klein2016-11-30
| | | | | | | Change-Id: I2f85249a09163dd21a8008f50340b8463718ada2 Reviewed-on: https://skia-review.googlesource.com/5350 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* restore sRGB memset optimizationGravatar Mike Klein2016-11-30
| | | | | | | | | | | | | | | https://skia-review.googlesource.com/c/5275/ removed it, and perf noticed. This is obviously not very pretty or scalable. I plan to folow up with a more thorough and principled way to do this sort of constant-color + invariant-stage == constant-color optimization. BUG=skia:6013 CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I377386f67e66169cce6e0cb0831f3b7154496840 Reviewed-on: https://skia-review.googlesource.com/5338 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add additional guard to the Analytic AA changeGravatar Yuqian Li2016-11-29
| | | | | | | | | | | This shall fix the DEPS roll. BUG=skia: Change-Id: I3ac208a8025c3408729b9e24e9c01e9f007a1799 Reviewed-on: https://skia-review.googlesource.com/5329 Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Make pipeline getter a GrDrawBatch::pipeline() a protected method.Gravatar Brian Salomon2016-11-29
| | | | | | | | | This is a baby step towards making getting GrPipeline off GrDrawBatch. Change-Id: I7e0331f3bcd45d1920a150fefb91e307efeeced1 Reviewed-on: https://skia-review.googlesource.com/5327 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Fixes for SkColorLookUpTable::interp3DGravatar Matt Sarett2016-11-29
| | | | | | | | | | | | | (1) Fix subtle comparison bug so we interpolate the proper tetrahedral. (2) Add new comments - the clamp is necessary. (3) SkCSXformPrintf requires an extra friend class to compile. BUG:668784 Change-Id: Id1a5c561f23ccfe25e141b8490cddee4c2482326 Reviewed-on: https://skia-review.googlesource.com/5238 Reviewed-by: Robert Aftias <raftias@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* support a8Gravatar Mike Klein2016-11-29
| | | | | | | | | | | Most of this is plumbing through the full paint to shaders instead of just the filter quality. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I6afde07566afa3a4391c24dca7017a9a4f5ec700 Reviewed-on: https://skia-review.googlesource.com/5317 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* Fuzzer assert in GradientShaderBase4fContext::TSamplerGravatar Florin Malita2016-11-29
| | | | | | | | | | | | | | | Similar to https://codereview.chromium.org/2472763002, we also need to clamp the tiled value in kRepeat mode, to avoid snapping to 1.0f. R=reed@google.com,herb@google.com BUG=skia:5975 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5079 Change-Id: I8fdac36c0d112d5eb76e47c3e4156a79a4d13b36 Reviewed-on: https://skia-review.googlesource.com/5079 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Remove caps image storage caps hack.Gravatar Brian Salomon2016-11-29
| | | | | | | | | This was necessary because the number of fragment image storages couldn't be queried in shading language neutral code. We are no longer shading language neutral and this can be queried. Change-Id: I065a38688919e7cdb1482877a232cb004c8f1511 Reviewed-on: https://skia-review.googlesource.com/5315 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rename SkSL::GLSLCapsFactory to SkSL::ShaderCapsFactoryGravatar Brian Salomon2016-11-29
| | | | | | | Change-Id: Ibc478f1a24d9d96e4d67a907c756389d184857de Reviewed-on: https://skia-review.googlesource.com/5316 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Make SkNWayCanvas use conservative clipping.Gravatar Mike Klein2016-11-29
| | | | | | | | | | | | Like most other canvas subclasses, its clips don't need to be perfect. BUG=chromium:668925 Change-Id: I107f8ed6fa60654426fd52c066b1018d5801850d Reviewed-on: https://skia-review.googlesource.com/5308 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Add the missing shift to the dyGravatar Yuqian Li2016-11-29
| | | | | | | | | | | | | | This is identical to https://skia-review.googlesource.com/c/5266/ except for the SK_ANALYTIC_AA_GUARD flag. BUG=chromium:668907 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5302 Change-Id: I3fc225a925d21fe615c46a4a0be7fe33c5790766 Reviewed-on: https://skia-review.googlesource.com/5302 Commit-Queue: Yuqian Li <liyuqian@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* Rename vars and functions from 'glslcaps'->'shadercaps'Gravatar Brian Salomon2016-11-29
| | | | | | | Change-Id: I34d226d866dd4ba8e5f33f95cb8cbf01292f9314 Reviewed-on: https://skia-review.googlesource.com/5312 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* teach MSAN about maskloadGravatar Mike Klein2016-11-29
| | | | | | | | | | | | | | | There is a very telling FIXME in the MSAN source code: // FIXME: detect and handle SSE maskstore/maskload For now, just tell MSAN (correctly) that it's initialized. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I6aec67b99e4d930cb72e438458b33ed116535009 Reviewed-on: https://skia-review.googlesource.com/5311 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com>
* Merge GrGLSLCaps into GrShaderCapsGravatar Brian Salomon2016-11-29
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5121 Change-Id: If8d13638f80f42161cbc766a2666c5789e5772c8 Reviewed-on: https://skia-review.googlesource.com/5121 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Delete unnecessary SkSurface_Base APIGravatar Matt Sarett2016-11-29
| | | | | | | | | BUG=skia: Change-Id: I1263d390ffc1660a561b03c9dd866390754e59af Reviewed-on: https://skia-review.googlesource.com/5231 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* Remove duplicate storage of fCanvas in SkOverdrawCanvasGravatar Matt Sarett2016-11-29
| | | | | | | | | BUG=skia: Change-Id: I06827e286b13823fdd89090a75fc63467c9a74e9 Reviewed-on: https://skia-review.googlesource.com/5294 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* gather_i8Gravatar Mike Klein2016-11-29
| | | | | | | | | CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: Ia7a133f515e29e16700aabc0633c77a703425f41 Reviewed-on: https://skia-review.googlesource.com/5239 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Rm assert that image texture array is null unless GrCaps has images support.Gravatar Brian Salomon2016-11-29
| | | | | | | | Change-Id: I4da01a533d2db3fab5b2fe1128eb8a7c8e09cc01 Reviewed-on: https://skia-review.googlesource.com/5309 Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Use AdditiveBlitter for partial rowsGravatar Yuqian Li2016-11-29
| | | | | | | | | | | | Previously, we forgot to use AdditiveBlitter in two places where partial rows are blitterred. That causes SkAAClip to complain as in skia:6003. BUG=skia:6003 Change-Id: I4f4a896072448bdb3f287a2eb61cb64b1256ea78 Reviewed-on: https://skia-review.googlesource.com/5273 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Add #define for Nsight compatibilityGravatar Jim Van Verth2016-11-29
| | | | | | | | | | | | NVIDIA's Nsight tool is not compatible with certain GL calls. This change places them behind a #define in GrGLGpu.cpp. BUG=skia: Change-Id: Id80ed291b6fe4fd777c5690b25d4fbb47de3c187 Reviewed-on: https://skia-review.googlesource.com/5281 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Compute slope using fSnappedYGravatar Yuqian Li2016-11-29
| | | | | | | | | | | | | | If we use the oldy and dy directly as we did previously, the slope could be very different from (newSnappedX - fSnappedX) / (newSnappedY - fSnappedY) in the updateLine when the edge made a lot of updates with small dy but large dx. That will cause bug skia:5995 BUG=skia:5995 Change-Id: If521976ed87195dfea5961afd58bedb98447c568 Reviewed-on: https://skia-review.googlesource.com/5269 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Make gather() look and work more like load().Gravatar Mike Klein2016-11-29
| | | | | | | | | | | | | | | | | They're really similar, so let's make them look that way. Finally use mask load, mask store, and gather instructions for 8888. We avoid mask load and store when tail == 0. It's faster (one memory load instead of two) and a cheap test. For gather, the intrinsics make it look like we could do the same, but it really all boils down to the same masked instruction in the end. There's probably a better way to implement mask() with math instead of memory loads, but this works for now. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I578f47d4562ea19d983057bf2f4c3e21d0ab9a0e Reviewed-on: https://skia-review.googlesource.com/5234 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>