| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/640323002/)
Reason for revert:
Failing unit tests
Original issue's description:
> Fix bug in plot locking system
>
> In the new MultiPictureDraw tests a single hoisted layer is reused multiple times. The previous plot locking scheme allowed GrCachedLayer objects to be aggressively deleted prematurely leaving the reusing GrHoistedLayer objects with dangling pointers.
>
> This CL changes the plot locking system to add a pseudo-ref for each GrHoistedLayer.
>
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/5c481666c9678f43e039ad605457be3854cf8de3
TBR=jvanverth@google.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/643673004
|
|
|
|
|
|
| |
TBR=reed@google.com
Review URL: https://codereview.chromium.org/641203002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before getting too far into changing how SkTileGrid stores its tiles, I figured I'd
better see how much I can tweak out the existing format. Cleverly, that way
any improvements I make by changing the format will look that much less
impressive.
This CL looks like it will be a 5-15% win in time spent recording, with no effect
on playback.
This CL also shrinks the tiles to fit exactly when we're done inserting,
using newly added SkTDArray::shrinkToFit(). It's quite cheap to run (maybe
taking back 1-2% from those 5-15% wins), and means we'll lug around about 15%
fewer bytes in the tile grids. Note though this strategy temporarily uses up to
30% more memory while building the tile grid. For our largest SKPs, that's
maybe 75-100K extra.
BUG=skia:
Review URL: https://codereview.chromium.org/639823005
|
|
|
|
|
|
|
|
|
|
| |
In the new MultiPictureDraw tests a single hoisted layer is reused multiple times. The previous plot locking scheme allowed GrCachedLayer objects to be aggressively deleted prematurely leaving the reusing GrHoistedLayer objects with dangling pointers.
This CL changes the plot locking system to add a pseudo-ref for each GrHoistedLayer.
NOTRY=true
Review URL: https://codereview.chromium.org/640323002
|
|
|
|
|
|
| |
NOTRY=true
Review URL: https://codereview.chromium.org/640373002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/638173003
|
|
|
|
|
|
|
|
|
|
| |
- implement O(1) operations in SkBitSet.h so they can inline away
- use calloc to allocate empty bitsets instead of malloc then clear
- little style things
BUG=skia:
Review URL: https://codereview.chromium.org/640243003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With clang this:
- movzbl -3(%rbx), %edx
- pxor %xmm5, %xmm5
- pinsrw $0, %edx, %xmm5
- pinsrw $1, %edx, %xmm5
- movzbl -2(%rbx), %edx
- pinsrw $2, %edx, %xmm5
- pinsrw $3, %edx, %xmm5
- movzbl -1(%rbx), %edx
- pinsrw $4, %edx, %xmm5
- pinsrw $5, %edx, %xmm5
- movzbl (%rbx), %edx
- pinsrw $6, %edx, %xmm5
- pinsrw $7, %edx, %xmm5
becomes:
+ movd (%rbx), %xmm4
+ punpcklbw %xmm9, %xmm4
+ punpcklwd %xmm4, %xmm4
And clang already does better codegen than msvc 2013 on this.
BUG=skia:
Review URL: https://codereview.chromium.org/609823003
|
|
|
|
|
|
|
|
| |
The original bench was hitting the cache since it was using the same color filter for all loops. By creating a new color filter within the loop, at least this part of it is solved. I'm not 100% sure this is the right way, but at least the numbers are a bit more reasonable and are affected by the output resolution.
BUG=skia:
Review URL: https://codereview.chromium.org/648483002
|
|
|
|
|
|
|
|
| |
(SkipBuildbotRuns)
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/646663002
|
|
|
|
|
|
|
|
|
| |
With pretty printing of shader code, there is no longer a need to explictily
have tabs in our code.
BUG=skia:
Review URL: https://codereview.chromium.org/648463002
|
|
|
|
|
|
|
|
| |
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf
Review URL: https://codereview.chromium.org/639873002
|
|
|
|
|
|
|
|
|
|
|
| |
It took me a while to figure out what this acronym meant. ;)
Googling for it lead me to gyp/dm.gyp.
BUG=None
TEST=None
R=mtklein@google.com
Review URL: https://codereview.chromium.org/638083003
|
|
|
|
|
|
|
|
|
|
|
| |
This target does not exists anymore, it was folded into out/Debug/dm.
You can't do `ninja -C out/Debug tests` either anymore.
BUG=None
TEST=None
R=mtklein@google.com
Review URL: https://codereview.chromium.org/638913005
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/639423002
|
|
|
|
|
|
|
|
| |
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/07a255310aca9f3e83bf741dc663a58818ad681c
Review URL: https://codereview.chromium.org/628633003
|
|
|
|
|
|
|
|
| |
TBR=
NOTRY=true
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/645573003
|
|
|
|
|
|
|
|
|
|
|
|
| |
I want to play around with how SkTileGrid stores its tiles. Having a
cap on the number of insert() calls can be pretty handy.
While I'm at it, I gave flush() a default empty impl. Like reserve(),
it's really an optional hook for subclasses.
BUG=skia:
Review URL: https://codereview.chromium.org/639933003
|
|
|
|
|
|
|
|
| |
TBR=
NOTRY=true
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/638403002
|
|
|
|
|
|
|
|
| |
NOTREECHECKS=true
NOTRY=true
TBR=
Review URL: https://codereview.chromium.org/641063002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Draw thick-stroked Beziers by computing the outset quadratic, measuring the error, and subdividing until the error is within a predetermined limit.
To try this CL out, change src/core/SkStroke.h:18 to
#define QUAD_STROKE_APPROXIMATION 1
or from the command line: CPPFLAGS="-D QUAD_STROKE_APPROXIMATION=1" ./gyp_skia
Here's what's in this CL:
bench/BezierBench.cpp : a microbench for examining where the time is going
gm/beziers.cpp : random Beziers with various thicknesses
gm/smallarc.cpp : a distillation of bug skia:2769
samplecode/SampleRotateCircles.cpp : controls added for error, limit, width
src/core/SkStroke.cpp : the new stroke implementation (disabled)
tests/StrokerTest.cpp : a stroke torture test that checks normal and extreme values
The new stroke algorithm has a tweakable parameter:
stroker.setError(1); (SkStrokeRec.cpp:112)
The stroke error is the allowable gap between the midpoint of the stroke quadratic and the center Bezier. As the projection from the quadratic approaches the endpoints, the error is decreased proportionally so that it is always inside the quadratic curve.
An overview of how this works:
- For a given T range of a Bezier, compute the perpendiculars and find the points outset and inset for some radius.
- Construct tangents for the quadratic stroke.
- If the tangent don't intersect between them (may happen with cubics), subdivide.
- If the quadratic stroke end points are close (again, may happen with cubics), draw a line between them.
- Compute the quadratic formed by the intersecting tangents.
- If the midpoint of the quadratic is close to the midpoint of the Bezier perpendicular, return the quadratic.
- If the end of the stroke at the Bezier midpoint doesn't intersect the quad's bounds, subdivide.
- Find where the Bezier midpoint ray intersects the quadratic.
- If the intersection is too close to the quad's endpoints, subdivide.
- If the error is large proportional to the intersection's distance to the quad's endpoints, subdivide.
BUG=skia:723,skia:2769
Review URL: https://codereview.chromium.org/558163005
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=bungeman@google.com
Review URL: https://codereview.chromium.org/645563002
|
|
|
|
|
|
|
|
| |
Included in this cl is support for 3D textures.
BUG=skia:
Review URL: https://codereview.chromium.org/580863004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the Sk GL context class, SkGLNativeContext, an abstract base class. Before,
it depended on ifdefs to implement the platform dependent polymorphism. Move
the logic to subclasses of the various platform implementations.
This a step to enable Skia embedders to compile dm and bench_pictures. The
concrete goal is to support running these test apps with Chromium command buffer.
With this change, Chromium can implement its own version of SkGLNativeContext
that uses command buffer, and host the implementation in its own repository.
Implements the above by renaming the SkGLContextHelper to SkGLContext and
removing the unneeded SkGLNativeContext. Also removes
SkGLNativeContext::AutoRestoreContext functionality, it appeared to be unused:
no use in Skia code, and no tests.
BUG=skia:2992
Committed: https://skia.googlesource.com/skia/+/a90ed4e83897b45d6331ee4c54e1edd4054de9a8
Review URL: https://codereview.chromium.org/630843002
|
|
|
|
|
|
| |
I'll post a separate patch for nanobench and dm
Review URL: https://codereview.chromium.org/639013003
|
|
|
|
|
|
|
|
| |
Automatic commit by the RecreateSKPs bot.
TBR=
Review URL: https://codereview.chromium.org/644633002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
That seems to make things more tied and that seems to be where we have
the same scripts/configs in the perf directory:
https://skia.googlesource.com/buildbot/+/master/perf/setup/sys/
That way we keep all files used/related to setting up a new webtry server in one place.
BUG=None
TEST=None
R=humper@google.com
Review URL: https://codereview.chromium.org/644513003
|
|
|
|
|
|
|
| |
TBR=mtklein@google.com
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/641813002
|
|
|
|
|
|
|
| |
TBR=reed@google.com
NOTRY=true
Review URL: https://codereview.chromium.org/638003003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#5 id:80001 of https://codereview.chromium.org/639873002/)
Reason for revert:
breaking nanobench on ubuntu
Original issue's description:
> Use presence of a content key as non-scratch indicator
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/9eefe0851eeaa8ded05b4774ebcb38ed201d5dbf
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/642493003
|
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=
NOTRY=True
Review URL: https://codereview.chromium.org/634293004
|
|
|
|
|
|
| |
BUG=skia:2889
Review URL: https://codereview.chromium.org/639873002
|
|
|
|
|
|
| |
TBR=reed@google.com
Review URL: https://codereview.chromium.org/638963003
|
|
|
|
|
|
|
|
| |
TBR=robertphillips@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/638043002
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=jcgregorio
Review URL: https://codereview.chromium.org/637353003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous version of the script didn't properly update the code for the webtry
user, so only changes to skia would really be pulled, not changes to the actual
webtry server itself.
This version of the setup script is 100% automated and brings everything up to date.
It's also a little more verbose about what it's doing, so it's easier to debug.
BUG=skia:
R=tfarina@chromium.org
TBR=jcgregorio, mtklein, tfarina
Review URL: https://codereview.chromium.org/636173003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/639013002
|
|
|
|
| |
Review URL: https://codereview.chromium.org/641613003
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=jcgregorio
Review URL: https://codereview.chromium.org/635373002
|
|
|
|
|
|
| |
BUG=skia:2889
Review URL: https://codereview.chromium.org/608883003
|
|
|
|
|
|
|
|
| |
TBR=mtklein@google.com
Committed: https://skia.googlesource.com/skia/+/8dd35ce178e4319685a870faf544a0b1d7aef5bb
Review URL: https://codereview.chromium.org/635293003
|
|
|
|
|
|
|
| |
BUG=skia:2998
TBR=jcgregorio, tfarina
Review URL: https://codereview.chromium.org/639833003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/639773004
|
|
|
|
| |
Review URL: https://codereview.chromium.org/637953002
|
|
|
|
|
|
|
|
| |
Also delay the removal of fixed function VA's until so we only have to do a single removal step
BUG=skia:
Review URL: https://codereview.chromium.org/634073002
|
|
|
|
|
|
| |
TBR=
Review URL: https://codereview.chromium.org/638903002
|
|
|
|
|
|
| |
Mainly just to familiarize myself with this code.
Review URL: https://codereview.chromium.org/633183002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
id:1 of https://codereview.chromium.org/635293003/)
Reason for revert:
Crashing on Galaxy Nexus (probably tickled an existing skia or driver bug)
Original issue's description:
> Make GM default to reseting gpu contexts on android.
>
> TBR=mtklein@google.com
>
> Committed: https://skia.googlesource.com/skia/+/8dd35ce178e4319685a870faf544a0b1d7aef5bb
TBR=mtklein@google.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/639773003
|
|
|
|
|
|
|
|
| |
This reverts commit 37c5a815d8ea33247968212ef4cc83394ceee1bc.
TBR=mtklein
Review URL: https://codereview.chromium.org/635333002
|
|
|
|
|
|
| |
This CL exposes the layer hoisting API in GrContext for use in SkMultiPictureDraw::draw. It basically mirrors what SkGpuDevice::EXPERIMENTAL_drawPicture has been doing.
Review URL: https://codereview.chromium.org/533673002
|