| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We compute a lot of { srcRect, dstRect } pairs in this
code, but they're always the same width and height, and
dstRect often has a zero origin. So pass only one or
the other and an offset, where required. Among other
things, this simplifies the code in convolve_gaussian(),
since we only have to 3-patch the dstRect.
BUG=skia:4502
Review URL: https://codereview.chromium.org/1430593006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(patchset #2 id:20001 of https://codereview.chromium.org/1411173010/ )
Reason for revert:
Breaking the bots
Original issue's description:
> stop using drawSprite (at least w/ no filters) as it is going away
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4a21602982d411bb764e46dc47e009b12bd5cb39
TBR=senorblanco@google.com,senorblanco@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1413363011
|
|
|
|
|
|
|
|
|
| |
alpha: (uint8_t) 256 is clamped to 255 before static cast to
uint8_t in SkToU8.
BUG=4406
Review URL: https://codereview.chromium.org/1424253002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SkBlurImageFilter can currently only process a source image
which is larger than or equal to the destination rect. If
the source image (or crop rect) is smaller, it is padded
out to dest size with transparent black via the 6-param
version of applyCropRect().
Fixing this requires modifying all the flavours of RGBA
box_blur() to accept a src crop rect.
BUG=skia:4502, skia:4526
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot;client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Committed: https://skia.googlesource.com/skia/+/1b82ceb737c73327412f2e8a91748481e1aec9e4
Review URL: https://codereview.chromium.org/1415653003
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1426253002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1411173010
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#16 id:400001 of https://codereview.chromium.org/1415653003/ )
Reason for revert:
ASAN failures (see https://codereview.chromium.org/1415653003/)
Original issue's description:
> Make SkBlurImageFilter capable of cropping during blur (raster path)
>
> SkBlurImageFilter can currently only process a source image
> which is larger than or equal to the destination rect. If
> the source image (or crop rect) is smaller, it is padded
> out to dest size with transparent black via the 6-param
> version of applyCropRect().
>
> Fixing this requires modifying all the flavours of RGBA
> box_blur() to accept a src crop rect.
>
> BUG=skia:4502, skia:4526
> CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot;client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/1b82ceb737c73327412f2e8a91748481e1aec9e4
TBR=mtklein@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4502, skia:4526
Review URL: https://codereview.chromium.org/1428053002
|
|
|
|
|
|
| |
This allows internal Gr texture creation code to succeed for extraneous textures while running the bleed GM. This means we can turn on the shader variants.
Review URL: https://codereview.chromium.org/1418473004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SkBlurImageFilter can currently only process a source image
which is larger than or equal to the destination rect. If
the source image (or crop rect) is smaller, it is padded
out to dest size with transparent black via the 6-param
version of applyCropRect().
Fixing this requires modifying all the flavours of RGBA
box_blur() to accept a src crop rect.
BUG=skia:4502, skia:4526
CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-GCC-Nexus5-CPU-NEON-Arm7-Release-Trybot;client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review URL: https://codereview.chromium.org/1415653003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I sometimes dream to hone our build process down to something as simple as
$ find src -name '*.cpp' | xargs c++ <some cflags> -c -o skia.o
To start, it helps if we can compile all files on all platforms. Each
non-portable file guards itself with defines provided by SkTypes.h. This does
not convert all non-portable code, but it's a good representative chunk.
E.g. instead of having to remember which SkDebug_*.cpp to compile on which
platform we can just compile all three and let the code itself sort it out.
This has the nice side effect of making non-portable code declare the
conditions under which it can compile explicitly.
I've been testing mostly with the CMake build as it's easiest, but this should
apply equally to BUILD, Gyp, and GN files... to any build system really.
BUG=skia:4269
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot
Review URL: https://codereview.chromium.org/1411283005
|
|
|
|
|
|
|
|
|
| |
Changes:
https://gold.skia.org/search2?issue=1408383007&unt=true&query=source_type%3Dgm&master=false&include=true
BUG=skia:
Review URL: https://codereview.chromium.org/1408383007
|
|
|
|
|
|
|
|
| |
Fixes crashing bot.
BUG=skia:
Review URL: https://codereview.chromium.org/1408063009
|
|
|
|
|
|
|
| |
TBR=reed@google.com
BUG=542391
Review URL: https://codereview.chromium.org/1427913005
|
|
|
|
|
|
|
|
| |
An additional positive of this CL is that GrGLShaderBuilder is now GL independent besides GrGLProgramBuilder
BUG=skia:
Review URL: https://codereview.chromium.org/1431433003
|
|
|
|
|
|
|
|
|
|
|
| |
Cubics and quads tried to detect
linearness directly, once. This
is handled later in the pipeline
and need not be handled here.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/1421553010
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
javascript / canvas make visualizing conics tricky, new native tools are required.
The utility SubsetPath removes parts of a potentially very large path to isolate a minimal test case. SubsetPath is very useful for debugging path ops, but is not path ops specific.
PathOpsBuilderConicTest compares the output of the Path Ops Builder, sequential calls to Simplify, and SkRegions for some number of rotated ovals.
Some tests caused path ops to hang. It was caught adding a loop of curves because the head was not found by the tail. Even though the root cause has been fixed, SkSegment::addCurveTo callers now abort the path op if the same curve was added twice.
The subdivided conic weight was been computed anew. Fortunately, it's a simpler computation that the one it replaces.
Some Simplify() subroutines returned false to signal that the results needed assembling. Change these to abort the current operation instead.
Coincident curve intersection triggered two small bugs; one where no perpendicular could be found for coincident curves, and one where no coincident curves remain after looping.
The SixtyOvals test can be run through multiple processes instead of multiple threads. This strategy allows a 48 core machine to saturate all cores at 100%.
The DEBUG_VISUALIZE_CONICS code in PathOpsConicIntersectionTest acknowleges that it is easier to visualize conics with Skia than with script and html canvas. This test also verifies that path ops subdivision matches geometry chopping.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/1405383004
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL relies on https://codereview.chromium.org/1414773002/ (Add the machinery to GrDrawTarget to enable topological sorting)
BUG=skia:4094
Committed: https://skia.googlesource.com/skia/+/45a1c34f607a970933e5cd05e1df6cd8090db1be
Committed: https://skia.googlesource.com/skia/+/869c5e82a725a6928a45cd1fa6945ac783b8b3d8
Review URL: https://codereview.chromium.org/1414903002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We're all set up to serialize and deserialze paths by an integer ID,
but we're just not deduping any paths (every path gets a new ID).
This turns on deduping. This should mean the number of paths in a
deserialized SkPicture are the same as when it was recorded.
No diffs:
https://gold.skia.org/search2?issue=1409373011&unt=true&query=source_type%3Dgm&master=false
BUG=skia:4527
Review URL: https://codereview.chromium.org/1409373011
|
|
|
|
|
|
|
|
|
|
| |
Follow up to https://codereview.chromium.org/1418073005/ (Remove gpu-side clip mask merging from clip mask manager).
The path renderer chain is only ever allocated when it is about to be used (so the delayed initialization doesn't buy us anything).
We can now reduce the lifetime of the pipelineBuilder in createAlphaClipMask
Review URL: https://codereview.chromium.org/1416113006
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1410383008
|
|
|
|
|
|
| |
R=robert.phillips@google.com
Review URL: https://codereview.chromium.org/1409393007
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Logically this CL:
Moves the PathRendererChain from GrContext to GrDrawManager
- this was needed to untangled the Path-Chain/Renderer header mess
- this entailed adding getDrawingMgr so the CMM could access the PathRenderingChain
- this also entailed re-adding freeGpuResources to the GrDrawingMgr
Moves the CanDrawArgs struct up stack
Removes the GrPipelineBuilder from the CanDrawArgs struct
Review URL: https://codereview.chromium.org/1407883004
|
|
|
|
|
|
| |
into its own class.
Review URL: https://codereview.chromium.org/1420963008
|
|
|
|
|
|
|
|
| |
It's no longer used in Chrome.
BUG=skbug:3194
Review URL: https://codereview.chromium.org/1422183008
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1412013005
|
|
|
|
|
|
|
|
|
|
| |
The unrotated CTFont was introduced to fix color emoji scaling.
Use only the unrotated CTFont and apply the rotations manually.
This allows removal of one CTFont and allows us to apply (correctly)
the transformation CoreText would otherwise need to apply
(which it appears to do inconsistently).
Review URL: https://codereview.chromium.org/1360663002
|
|
|
|
|
|
|
|
| |
Part ??? of separating glsl and gl
BUG=skia:
Review URL: https://codereview.chromium.org/1425013003
|
|
|
|
|
|
|
|
|
|
| |
Its only caller is protected by the same #ifdef.
NOPRESUBMIT=true
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1404353010
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stop leaning so hard on the branch predictor, and pull the conditionals
out of the loops for box_blur_double() (NEON). This is conceptually
the same change as https://codereview.chromium.org/1426583004/ for
the NEON double-pixel loop.
R=mtklein@google.com
BUG=skia:4526
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review URL: https://codereview.chromium.org/1412793009
|
|
|
|
|
|
| |
BUG=skia:4526
Review URL: https://codereview.chromium.org/1410553007
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1413363008
|
|
|
|
|
|
|
|
| |
Don't try to do NEON detection for Android framework builds.
BUG=skia:
Review URL: https://codereview.chromium.org/1423953004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For optimizing saveLayer() offscreens, it is useful to know the
bounds of the primitive being drawn. Currently, the bounds passed to
saveLayer() are filtered, which makes it difficult to know the original
bounds of the primitive. This CL changes the semantics to accept
unfiltered bounds. This actually simplifies the callsites too. In
order to result in the correct pixels being produced, we then call
computeFastBounds() inside clipRectBounds().
The old behaviour is wrapped in #ifdef SK_SAVE_LAYER_BOUNDS_ARE_FILTERED,
until we can update Chrome's callsites (see
https://codereview.chromium.org/1316243002/).
This change will affect the following GMs:
testimagefilters: saveLayer bounds no longer cause clipping
imagefiltersbase: slight pixel diffs
resizeimagefilter: slight pixel diffs on the "high quality" test case
imagefilterscropexpand: displacement results are now correct
filterfastbounds: slight pixel diffs
matriximagefilter: slight pixel diffs
BUG=skia:3194 skia:4526
Review URL: https://codereview.chromium.org/1304883004
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the clip mask merging path, the CMM creates new renderTargets and draws to them. In the non-MDB world this is okay b.c. all the draws land in the same drawTarget anyway. In the MDB world the draws for the new renderTargets have to land in different drawTargets.
This can be resolved by a lot of plumbing and refactoring to create drawContexts for the created renderTargets or by removing the mask-merging drawing path.
Since, https://codereview.chromium.org/1424853002/ (Disable gpu-side clip mask merging in the clip mask manager), appears to have stuck, this CL removes the clip mask merging code.
BUG=skia:4094
BUG=skia:4519
Review URL: https://codereview.chromium.org/1418073005
|
|
|
|
|
|
|
|
|
|
|
| |
This gives ~15% improvement on blur_image on Linux Z620,
and should allow me to implement cropping without
incurring a perf hit.
BUG=skia:
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review URL: https://codereview.chromium.org/1426583004
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1405083008
|
|
|
|
|
|
|
|
|
| |
no public API changes
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1419573011
|
|
|
|
|
|
|
|
| |
This makes it consistent with Linux/Mac. There, stderr is not buffered, so the flush is not needed / implicit.
BUG=skia:
Review URL: https://codereview.chromium.org/1419073003
|
|
|
|
|
|
|
| |
I want to be able to compare ANGLE vs CommandBuffer for
dm and nanobench on Mac, so enabling ANGLE on mac.
Review URL: https://codereview.chromium.org/1395783003
|
|
|
|
|
|
| |
BUG=skia:4524
Review URL: https://codereview.chromium.org/1430643002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1428543003
|
|
|
|
|
|
| |
TBR=joshualitt@google.com
Review URL: https://codereview.chromium.org/1413213005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bound uniforms that are optimized away causes GL errors
when they are used.
The bound location becomes unused if its bound uniform is
optimized away. Updating the inactive uniform using the
bound location causes a GL error from the command buffer.
Alternatively, command buffer may bind another free, unbound
uniform to the bound location. This causes the uniform update to
update the wrong uniform.
Disable the extension until the spec can be clarified and the
implementation fixed, if possible and needed.
BUG=skia:4454
Review URL: https://codereview.chromium.org/1417633008
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor box_blur() into a single driver function which
SSE*, NEON and generic code paths can use. I've used macros
to do this in order to keep debug performance reasonable,
but it's fairly ugly. I'm open to other suggestions.
BUG=skia:
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot
Review URL: https://codereview.chromium.org/1408003007
|
|
|
|
|
|
| |
BUG=547182
Review URL: https://codereview.chromium.org/1424093002
|
|
|
|
|
|
|
|
|
| |
Motivation: This will be easier than adding a friend every time I want
to create a one-off SkCanvas subclass or SkRemote::Encoder subclass.
See also: SkPath::Iter.
Review URL: https://codereview.chromium.org/1411723005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The extension on the mac is .dylib, updated the name.
EGL.h isn't available on mac (unless we include skia_angle.h).
I've got a somewhat bad hack of defining the types that I need
to get this running.
GetProcedureAddress was somehow successfully grabbing gl
functions from another lib. Removed this call, I copied it
from ANGLE impl, but it isn't required.
lib load path works differently, fixed in GYP
BUG=skia:2992
Review URL: https://codereview.chromium.org/1403153002
|
|
|
|
|
|
|
|
|
|
| |
In the MDB world the clip mask manager would need to create a separate drawContext for each temporary mask (and we would need to support stencil draws in the drawContext). For now, disable the feature.
Please see skbug.com/4519 (Re-enable gpu-side mask merging in Ganesh)
BUG=skia:4094
Review URL: https://codereview.chromium.org/1424853002
|
|
|
|
|
|
|
|
| |
versions.
BUG=skia:4520
Review URL: https://codereview.chromium.org/1418423008
|
|
|
|
|
|
| |
This CL isolates the cosmetic portion so the functional portion is clearer. It relies on https://codereview.chromium.org/1412883005/ (Fix ClipMaskManager's SW-fallback logic (take 2))
Review URL: https://codereview.chromium.org/1422023003
|