BUG=skia:6611
Change-Id: Ide847c4370f9fde959aec8723d9145791576460a
Reviewed-on: https://skia-review.googlesource.com/20448
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
This reverts commit 00b8ab61dd.
Reason for revert: breaks nanobench
Original change's description:
> use rasterpipeline for non-8888-clamp shaders (so we can delete more legacy code)
>
> Definitely changes some GMs, but I think they're all more correct.
>
> Bug: skia:
> Change-Id: Ic30622f2c17325bce4c82b4d7997036d3cc026c2
> Reviewed-on: https://skia-review.googlesource.com/20363
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
TBR=mtklein@google.com,herb@google.com,fmalita@chromium.org,reed@google.com
Change-Id: I6b7e8d68deb8b62bd9688c95a5937a0bba8b4cf5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20431
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Definitely changes some GMs, but I think they're all more correct.
Bug: skia:
Change-Id: Ic30622f2c17325bce4c82b4d7997036d3cc026c2
Reviewed-on: https://skia-review.googlesource.com/20363
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Third time's the charm
This reverts commit 84cda40bd7.
Bug: skia:
Change-Id: I2c0f4425122a94beb7b4053ee6e891faa8a5f290
Reviewed-on: https://skia-review.googlesource.com/20441
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
This reverts commit f7037d003c.
Reason for revert: Issues on test bots.
Original change's description:
> Clean up onTransferPixels
>
> Bug: skia:5126
> Change-Id: I323c50e7854744302007b4ae7bd25e5742c14cbc
> Reviewed-on: https://skia-review.googlesource.com/19055
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com
Change-Id: I923fda4d5cd8c2896fb347f9b2695b7f83d9137b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:5126
Reviewed-on: https://skia-review.googlesource.com/20444
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Bug: skia:5126
Change-Id: I323c50e7854744302007b4ae7bd25e5742c14cbc
Reviewed-on: https://skia-review.googlesource.com/19055
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
msarett@ realized that if all of the encoders were disabled, then it
is equivalent to SkImageEncoder.cpp.
Change-Id: Ib3d5d7d061e1a60d7081689430107fb250903d5c
Reviewed-on: https://skia-review.googlesource.com/20440
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Remove more state, handle multiple paths just like multiple contours in
a single path. This fixes the problem with the subpath index start going
out of range as well.
Bug: skia:
Change-Id: I08023057a06d55df7398a60e081b4da6eed467ce
Reviewed-on: https://skia-review.googlesource.com/20326
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
PathGeoBuilder constructs the geometry with the same basic
technique as before, but allows interrupting the process
to emit multiple draws.
Original test case was 2000 non-AA stroked circles, which
created ~66000 vertices. That now renders, as do various
tests with a single large path (as well as filled paths).
Added a new set of 'AtLeast' allocators for vertex and index
data. These take a minimum size and a fallback size. If the
minimum size can be satisfied by an existing block, then
the caller gets *all* memory in that block, otherwise they
get a new block sized for the fallback amount. The previous
allocation scheme wasn't a good fit for the new use-case,
and because we don't usually need many verts, the flexible
approach seems appropriate.
TODO: I think that this could be extracted and re-used for
MSAA path renderer without too much work? I need to read
that code more carefully to make sure it lines up.
Re-land of: https://skia-review.googlesource.com/18360
Re-land of: https://skia-review.googlesource.com/18983
Bug: skia:6695
Change-Id: I09ac1273e5af67ed0e3e886de90e2970c3d0b239
Reviewed-on: https://skia-review.googlesource.com/19480
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: skia:
Change-Id: If5220248dbc505ff984d09833df7e18934d71438
Reviewed-on: https://skia-review.googlesource.com/20321
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Deferred rendering in Android will need the ability to use this in
kIfMutable mode.
Bug: skia:
Change-Id: I5194f2c50f9d17351fdab49373ca9bc1e80cf586
Reviewed-on: https://skia-review.googlesource.com/20157
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
This doesn't change the generated code (no .S files change),
but it does rephrase what we're trying to do to make it
generalize to AVX2 better:
- load 4 floats
- add 256.0f to each
- splat out the low 2 bytes of each 4 byte lane as r,g,b,a
Change-Id: Iadc5bc1f2a268679d1ccadd31cd24949a71e0aa4
Reviewed-on: https://skia-review.googlesource.com/20270
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
JUMPER is always defined in that file;
we never use it as a portable fallback.
Change-Id: Ic7caf726191599d4058adbf80084ede9f80676ee
Reviewed-on: https://skia-review.googlesource.com/20271
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
We're only using Sk4fGradients for raster pipeline burst mode => dest is
always F32.
Change-Id: If8f0ce257fc9ef36da33602ffd61617628733cfc
Reviewed-on: https://skia-review.googlesource.com/20280
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Just like the time via, but instead of printing how long the thing took
to run it prints how much memory was used by the process at peak.
When ok runs in (default) process-per-task mode, this is quite handy.
Change-Id: I331d446e39363a44c545278d7153fa7548e2add0
Reviewed-on: https://skia-review.googlesource.com/20261
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This CL: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler)) introduced a perf regression.
Cached textures can appear in different GrSurfaceProxies but have the same underlying GrTexture.
Bug: 729233
Change-Id: Ifd7a9260a8a4535e8440c0d837bfdc445a921aa4
Reviewed-on: https://skia-review.googlesource.com/20223
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Now we don't have to rely on the linker to de-duplicate
so many gHex[] constants.
Change-Id: Ia86d3a92648415afdb8d29499b4faded5ed05c7d
Reviewed-on: https://skia-review.googlesource.com/20180
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
... except for 565.
Change-Id: I8ab633661c54583478234a46942ef804eb74a619
Reviewed-on: https://skia-review.googlesource.com/19880
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Herb Derby <herb@google.com>
will revert if its needed in android
Bug: skia:
Change-Id: I2ef777d31de4bbed6556d013054083ff6ff2cb8c
Reviewed-on: https://skia-review.googlesource.com/20206
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>