aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Tweak gradient shader code to avoid hangs on Tegra3Gravatar Brian Osman2017-10-26
| | | | | | | | | Bug: skia: Change-Id: I07d638d5f7b399d279f445c8f2b490ea55414e2f Reviewed-on: https://skia-review.googlesource.com/64101 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* workaround for VkWrapTests crashGravatar Ethan Nicholas2017-10-26
| | | | | | | | Bug: skia: Change-Id: I60abda0bcbfbe9f8918f4a8d0a714c0e877e7cad Reviewed-on: https://skia-review.googlesource.com/64062 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Re-land "converted OverdrawColorFilter to SkSL"Gravatar Ethan Nicholas2017-10-26
| | | | | | | | | | This reverts commit 2d3cac58fcc8f2d398a421b0341c36479a6ba324. Bug: skia: Change-Id: I6607d419f6b30c3e17b52ec5ce67d489bd1ad1dc Reviewed-on: https://skia-review.googlesource.com/64080 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Delete GradientShaderCacheGravatar Florin Malita2017-10-26
| | | | | | | | | Dead code. Change-Id: If415e603b8e898da72ad95f32596445900794d23 Reviewed-on: https://skia-review.googlesource.com/63562 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Consistently round fOffset in SkOffsetImageFilterGravatar Fredrik Söderquist2017-10-26
| | | | | | | | | | | | Since SkScalarRoundToInt rounds differently depending on the sign of the value, care must be taken to perform rounding before any potential change to the sign - like in SkOffsetImageFilter::onFilterNodeBounds. Bug: chromium:778204 Change-Id: I3debff7565f45022c7b8566662927149850b1bea Reviewed-on: https://skia-review.googlesource.com/64020 Reviewed-by: Stephen White <senorblanco@chromium.org> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert "converted OverdrawColorFilter to SkSL"Gravatar Ethan Nicholas2017-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8aa4dc9052a64d84cfd0a4330910057bd37b6bf7. Reason for revert: strncmp getting mad Original change's description: > converted OverdrawColorFilter to SkSL > > Bug: skia: > Change-Id: Idcc0502758df1e60ed131a168b5c9a65a4d834a1 > Reviewed-on: https://skia-review.googlesource.com/63840 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,ethannicholas@google.com Change-Id: Ib78d7c878c4597918d059bddb4d61f6a7f59a511 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/63561 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Stop using GradientShaderCache for gradient texturesGravatar Florin Malita2017-10-25
| | | | | | | | | | | | | | | | | Ganesh uses GradientShaderCache for generating legacy gradient textures, and a custom helper (initLinearBitmap) for all other cases. Now that GradientShaderCache no longer supports dithering, there is little difference between the two implementantions. And sice the result is also cached in a separate bitmap cache, we might as well consolidate the implementation and always use initLinearBitmap. This allows us to completely remove GradientShaderCache in a follow up. Change-Id: Ie05d15132a6116d2f139f066b81fcfbc9e22d7b6 Reviewed-on: https://skia-review.googlesource.com/63741 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* converted OverdrawColorFilter to SkSLGravatar Ethan Nicholas2017-10-25
| | | | | | | | Bug: skia: Change-Id: Idcc0502758df1e60ed131a168b5c9a65a4d834a1 Reviewed-on: https://skia-review.googlesource.com/63840 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Pass GrRenderTargetContext's GrColorSpaceInfo to SkShader and SkColorFilter.Gravatar Brian Salomon2017-10-25
| | | | | | | | | | | | | | Also to SkColorTo(Premul|Unpremul)GrColor4f. This can avoid cache lookups to find GrColorSpaceXforms as the xform pointer is stored in GrColorSpaceInfo after the first lookup. Also uses GrColorSpaceInfo to construct GrTextUtils::Paint. Bug: skia: Change-Id: Idf19d512a60d2269e6921c7fb54d93aee499a70d Reviewed-on: https://skia-review.googlesource.com/63660 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Remove unused (?) gradient context classGravatar Brian Osman2017-10-25
| | | | | | | | Bug: skia: Change-Id: Id8a561e8d95fb0405cba2f2a5c3165667344579e Reviewed-on: https://skia-review.googlesource.com/63860 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Some more clipped text optimizations.Gravatar Jim Van Verth2017-10-25
| | | | | | | | | | | | * Limit size of text batches to keep inside default vertex buffer size * Expand geodata allocation by 1.5x rather than 2x * Don't add text subruns that lie outside the clip rect Bug: skia:3990 Change-Id: I2b8f8bc5599d14c43e0a98e9633bc51980a7619c Reviewed-on: https://skia-review.googlesource.com/62861 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove GrColorSpaceXform from GrGradientEffectGravatar Brian Osman2017-10-25
| | | | | | | | | | | | | | Use a local xform to convert color stops for analytic gradients. For texture-based gradients, wrap the FP with an xform effect. To simplify this code, add a new AdjustFP helper to do the color xform, and also add the MulOutputByInputAlpha stage. Bug: skia: Change-Id: Icde19b5ec1c66aae76f894e9978c90a5f00c852e Reviewed-on: https://skia-review.googlesource.com/62500 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove GradientShaderCache dither and paint alpha supportGravatar Florin Malita2017-10-25
| | | | | | | | | | | | The gradient cache is only used for complex GPU gradients, and is always initialized with no dithering and opaque alpha. Remove the (now-dead) code supporing ditherning and non-opaque alpha. Change-Id: Iad694fa760e9a236efadd4cf92fbc7f8bcacadbe Reviewed-on: https://skia-review.googlesource.com/63520 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Short-circuit gradient color space conversionGravatar Florin Malita2017-10-25
| | | | | | | | | ... when src == dst Change-Id: Idd62fb673105a62ee4d381a4dbc1d5117ce6abb9 Reviewed-on: https://skia-review.googlesource.com/63702 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* - add bench for pixmap orientGravatar Mike Reed2017-10-25
| | | | | | | | | | - reduce code size by using a draw instead of custom blits Bug: skia: Change-Id: I90f9fb2abf40496e771f1f725556c178d730b590 Reviewed-on: https://skia-review.googlesource.com/62860 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Address CCPR TODOs now that we are in device spaceGravatar Chris Dalton2017-10-25
| | | | | | | | Bug: skia: Change-Id: I48619e93108bdbe453155be4f9da821ff0397ee3 Reviewed-on: https://skia-review.googlesource.com/63400 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Convert geometry shaders to operate in Skia device spaceGravatar Chris Dalton2017-10-25
| | | | | | | | | | | | | Defers the transformation to normalized window coordinates until after the geometry shader. Merges vertex and a geometry shader builders into a single compilation unit with a common base class. Updates CCPR geometry shaders accordingly. Bug: skia: Change-Id: If93c90e978b1fdc7120febd05cfb05810fd496b5 Reviewed-on: https://skia-review.googlesource.com/62980 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* CCPR: use 16-bit ints for the atlas offset attribGravatar Chris Dalton2017-10-25
| | | | | | | | Bug: skia: Change-Id: I053e8416ced317b6ebc46cc8189840d60c7f91e8 Reviewed-on: https://skia-review.googlesource.com/62060 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* fine-grained ARMv7 CPU feature detectionGravatar Mike Klein2017-10-25
| | | | | | | | | | VPFv4 does not imply NEON, so check that bit separately. Bug: b/63553517 Change-Id: Ibc218871804204d5a91d0b7fc8d5c91fe2e95f01 Reviewed-on: https://skia-review.googlesource.com/63640 Reviewed-by: Bailey Forrest <bcf@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add vector GrSLTypes for shortsGravatar Chris Dalton2017-10-25
| | | | | | | | Bug: skia: Change-Id: I686950df9f5470b4885823471957c3859cc692ea Reviewed-on: https://skia-review.googlesource.com/63441 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Add GrColorSpaceInfo and use in place of GrRenderTargetContext in paint ↵Gravatar Brian Salomon2017-10-24
| | | | | | | | | | | conversion. This moves us closer to making GrAtlasTextContext and related classes usable without a GrRenderTargetContext. Change-Id: Ife52d69a3f925e23da88043acb4d8dc9f672a025 Reviewed-on: https://skia-review.googlesource.com/63304 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Add vector GrSLTypes for shorts"Gravatar Chris Dalton2017-10-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit af37a53a84d03fa08bc2f447034d7db754cfc5ba. Reason for revert: Compiler errors Original change's description: > Add vector GrSLTypes for shorts > > Bug: skia: > Change-Id: Icb9eb1fcb0f879cd0bfdd27d06459843361c9947 > Reviewed-on: https://skia-review.googlesource.com/62943 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Commit-Queue: Chris Dalton <csmartdalton@google.com> TBR=egdaniel@google.com,csmartdalton@google.com,ethannicholas@google.com Change-Id: Ib23b28be92e199459fe1666fb1ec0e46e141a8f7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/63460 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Add vector GrSLTypes for shortsGravatar Chris Dalton2017-10-24
| | | | | | | | | Bug: skia: Change-Id: Icb9eb1fcb0f879cd0bfdd27d06459843361c9947 Reviewed-on: https://skia-review.googlesource.com/62943 Reviewed-by: Greg Daniel <egdaniel@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* add srcover_bgra_8888Gravatar Mike Klein2017-10-24
| | | | | | | | | | | | | | Chrome generally uses BGRA buffers, so srcover_rgba_8888 isn't really doing them any good. Probably a good idea to cover both kN32 options any time we specialize like this? There's one small diff, so I've lazily guarded this by SK_LEGACY_LOWP_STAGES, which I want to rebaseline today anyway. Change-Id: Ice672aa01a3fc83be0798580d6730a54df075478 Reviewed-on: https://skia-review.googlesource.com/63301 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Reed <reed@google.com>
* more easy lowp shader stagesGravatar Mike Klein2017-10-24
| | | | | | | | | | | | | | This fills out a couple more matrix and gather stages. Deletes a not particularly important unit test that was using a scale matrix in a weird, non-lowp compatible way. This will require guards for Blink layout tests. Change-Id: I54cb228ff541f771e8f4758f07d26c5161d48af3 Reviewed-on: https://skia-review.googlesource.com/62520 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Create mipped texture proxys for PictureImageGeneratorGravatar Greg Daniel2017-10-24
| | | | | | | | Bug: skia: Change-Id: If86b01e5c008537de8c9af99000559bf524c836f Reviewed-on: https://skia-review.googlesource.com/63260 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Avoid double-dithering of legacy/gpu gradientsGravatar Florin Malita2017-10-24
| | | | | | | | | | | | The GPU backend is the only remaining user of getGradientTableBitmap(). But with Ganesh, dithering is applied as a separate GrPaint effect => we must not pre-dither the gradient texture also. Change-Id: Icc47c1e762c4913205b3715512894d3d2c3b7659 Reviewed-on: https://skia-review.googlesource.com/63261 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* preliminary SkSL Metal backendGravatar Ethan Nicholas2017-10-24
| | | | | | | | Bug: skia: Change-Id: I03e839fb4f1061bc6d1b1b72d54fd39ca7bd7b84 Reviewed-on: https://skia-review.googlesource.com/51245 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Respect if texture proxy will have mips or not when computing sizeGravatar Greg Daniel2017-10-24
| | | | | | | | Bug: skia: Change-Id: I47239ae68c103f29a8c8c2a2a5d8940c2c1d95fc Reviewed-on: https://skia-review.googlesource.com/63001 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* make enabling LOWP stages simplerGravatar Mike Klein2017-10-23
| | | | | | | | | | | | | | | | This method is a little simpler macro-wise, and makes it easier to guard new lowp stages: LOWP(foo) LOWP(bar) #ifndef SK_LEGACY_LOWP_BAZ LOWP(baz) #endif Change-Id: I06392f5cf7a04651e7bf47e79f10f7da8520f5ab Reviewed-on: https://skia-review.googlesource.com/63141 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add hint to SkSurface::MakeRenderTarget that we will use mipsGravatar Greg Daniel2017-10-23
| | | | | | | | | | | Additionally this changed triggered a cascade of plumbing GrMipMapped down throughout Ganesh. Bug: skia: Change-Id: I4181f44d9046d66139bb491c7abf86703305aaeb Reviewed-on: https://skia-review.googlesource.com/63000 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Use SK_SUPPORT_LEGACY_AA_CHOICE to stage some changesGravatar Yuqian Li2017-10-23
| | | | | | | | | | | So I can rebaseline the golden images and unify AA choices without fully turning on DAA. Bug: skia: Change-Id: I33447f60c8eac6318dda7730abd6caefdb14c5dc Reviewed-on: https://skia-review.googlesource.com/62840 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "Revert "Support creation/use of mipped proxy in ↵Gravatar Greg Daniel2017-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GrBackendTextureImageGenerator"" This reverts commit 7477d9693869982a4b0b18d20fee32d2f3eaedbf. Reason for revert: Putting in fixes in tests Original change's description: > Revert "Support creation/use of mipped proxy in GrBackendTextureImageGenerator" > > This reverts commit b8ad00b5a68975cafd68d6df0d66f0a01f5c07c2. > > Reason for revert: Some various test failures > > Original change's description: > > Support creation/use of mipped proxy in GrBackendTextureImageGenerator > > > > Bug: skia: > > Change-Id: I9d06780ccb2db0865100b67041c03408f2445c62 > > Reviewed-on: https://skia-review.googlesource.com/61241 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Greg Daniel <egdaniel@google.com> > > TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com > > Change-Id: I28e625776352ee6f9f27e66cd5d4b149ef50a22a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/61941 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,bsalomon@google.com,brianosman@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: skia: Change-Id: Ibfbca5101b06d9ff8f8a5d33bc6f2114806db552 Reviewed-on: https://skia-review.googlesource.com/62561 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Remove color space xform support from SkSLGravatar Brian Osman2017-10-23
| | | | | | | | Bug: skia: Change-Id: Ia50c1f750e4626211f012ae7543db126b10134c3 Reviewed-on: https://skia-review.googlesource.com/61906 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove dead SK_SUPPORT_LEGACY_PICTURESHADER_ROUNDING codeGravatar Florin Malita2017-10-23
| | | | | | | | | This flag is no longer used. Change-Id: I239e756f7945f0848d12409f0eb8d3077651a4cf Reviewed-on: https://skia-review.googlesource.com/62740 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Be considerate of GPUs lacking npot support when testing GrSimpleTextureEffectGravatar Robert Phillips2017-10-20
| | | | | | | Change-Id: I3b03c621d78971e1ed62b61d0466a6ac8132be79 Reviewed-on: https://skia-review.googlesource.com/62465 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Make GrRectBlurEffect use bilerpGravatar Robert Phillips2017-10-20
| | | | | | | | Bug: skia:7031 Change-Id: I8061f516741bf7efd5020984a5b45a9d57307d43 Reviewed-on: https://skia-review.googlesource.com/62461 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* translate+scale -> scale+translateGravatar Mike Klein2017-10-20
| | | | | | | | | | | | | | | | This is a no-op refactor. It's just always surprised me that the matrix_scale_translate stage expects [tx ty sx sy], when scales precede the translates in the names and in both normal row-major and column-major matrix layouts. This switches to [sx sy tx ty], scale then translate. Change-Id: I2d88701121ae8013facd5a28bb0ff520211db5a6 Reviewed-on: https://skia-review.googlesource.com/62541 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* start on lowp shadersGravatar Mike Klein2017-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | We're going to want to assign types to the stages depending on their inputs and outputs: GG: x,y -> x,y GP: x,y -> r,g,b,a PP: r,g,b,a -> r,g,b,a (There are a couple other degenerate cases here, where a stage ignores its inputs or creates no outputs, but we can always just pretend their null input or output is one type or the other arbitrarily.) The GG stages will be pretty much entirely float code, and the GP stages a mix of float math and byte stuff. Since we've chosen U16 to match our register size in _lowp land, we'll unpack each F register across two of those for transport between stages. This is a notional, free operation in both directions. Change-Id: I605311d0dc327a1a3a9d688173d9498c1658e715 Reviewed-on: https://skia-review.googlesource.com/60800 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove off64_t in SkHeifCodecGravatar Mike Klein2017-10-20
| | | | | | | | | | | | I argue int64_t is just as good, and much more familiar. This, I think, will also fix the Emscripten/wasm bot, where somewhat bizarrely off64_t is typedef'd to int. Change-Id: I4eb9d05cbd3066b107fa429beff79e7471e94526 Reviewed-on: https://skia-review.googlesource.com/62362 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Use uint16_t instead of SkIPoint16 when clipping texCoords for text.Gravatar Jim Van Verth2017-10-20
| | | | | | | | | | | | | The texCoords and texture indices are packed into two uint16_t, so that should be used instead of SkIPoint16 for clipping. This CL also cleans up the clipping code a little, and keeps everything in int arithmetic (since the positions and coords are pixel/texel aligned). Bug: skia:6990 Change-Id: I9a237f7df32467adb6a56ddeca6352cbd4f8dd6f Reviewed-on: https://skia-review.googlesource.com/62360 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* add SkStubHeifDecoderAPI.hGravatar Mike Klein2017-10-20
| | | | | | | | | | | | | | | This should let us build SkHeifCodec even without libheif. I didn't look at libheif itself, so this stub may disagree a bit with the actual interface... just flailed around until it compiled and linked. This turns on the stub in most of our internal builds. Change-Id: I62ed4993198118b2a8217ec846d92ff637cc8ab9 Reviewed-on: https://skia-review.googlesource.com/62321 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* make matrix serialization privateGravatar Cary Clark2017-10-20
| | | | | | | | | | | | | | | | | | Moves readFromMemory, writeToMemory to private section. No sign that these are called from google3, android, chromium, but function names are common enough that it's hard to know for sure. These are used inside templates internally and for testing, so it is not quite as simple as adding alternate entry points in SkMatrixPriv. R=reed@google.com Bug: skia:6898 Change-Id: I1fac142f4bf0f38608ea93438c46f39147606c4d Reviewed-on: https://skia-review.googlesource.com/62361 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Add clamped/unclamped xform to GrColorSpaceXformGravatar Brian Osman2017-10-20
| | | | | | | | | | | Use that in analytic gradient setup for future-proofing. Also fixed several out-of-date comments in gradient code. Bug: skia: Change-Id: I79726cad786c22f80e08cdc2b7a1e15ae27ecd5a Reviewed-on: https://skia-review.googlesource.com/62320 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Re-land unit test for clear bug (w/ AMD work-arounds)Gravatar Robert Phillips2017-10-20
| | | | | | | | | Bug: 768134 Change-Id: I76e5e3ff5719b0d2f9c74d49dfa9e187e4da7c1f Reviewed-on: https://skia-review.googlesource.com/60562 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-on: https://skia-review.googlesource.com/61221
* make skmatrix getmapproc privateGravatar Cary Clark2017-10-20
| | | | | | | | | | | | | | Make SkMatrix MapXYProc MapPtsProc and friends private. Code search turned up no clients in chromium, google3, android. Fingers crossed. R:reed@google.com Bug: skia:6898 Change-Id: Iee20fe5150499215a09f67cc6f117b685f38f455 Reviewed-on: https://skia-review.googlesource.com/62140 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Fix ASAN issue with clipped text.Gravatar Jim Van Verth2017-10-20
| | | | | | | Change-Id: I340dfc77afc26cd4c97ca7ec1419e7716e632dca Reviewed-on: https://skia-review.googlesource.com/62280 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Clip text geometrically when possible.Gravatar Jim Van Verth2017-10-20
| | | | | | | | | | | | Currently when we clip text we can't batch the clipped text with non-clipped text. By modifying the quads and texCoords we can produce the same effect, and allow batching. Includes some minor text code cleanup. Bug: skia:6990 Change-Id: Ibfd4bc2fdc2d7680071e2abddd4d77fc3017e3d3 Reviewed-on: https://skia-review.googlesource.com/60780 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Simplify GrGradientEffect color handlingGravatar Brian Osman2017-10-19
| | | | | | | | | | | | | For analytic gradients, hoist the byte -> float, premultiplication, and color space transformation to creation time. Eliminates second array (only one was ever used), and four different onSetData helpers. Bug: skia: Change-Id: Ib5740b37ef2a5dcf2551e85b1e72f64d8cbcc5fa Reviewed-on: https://skia-review.googlesource.com/62120 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove color space xform from alpha threshold FPGravatar Brian Osman2017-10-19
| | | | | | | | | | | | | | | | | | | | This does math on the sampled color. In order to do that math in the destination color space, I split the behavior up - the threshold FP now operates on the input color, and we construct a series with a simple texture effect (possibly wrapped in a color xform), then the threshold. I also added a GM that verifies this behavior. All other GMs using this effect were operating on a layer source, which is always created in the destination color space. The new GM explicitly makes a DAG with an image source, so the alpha threshold filter needs to handle any color space mismatch. Bug: skia: Change-Id: I1ed08c99f4eed17f68176bf751677a3ae1614fe3 Reviewed-on: https://skia-review.googlesource.com/61942 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>