scroggo [Wed, 4 Nov 2015 12:28:54 +0000 (04:28 -0800)]
Fix an error message
Remove double negative.
Also, change another error message to be slightly (meaningfully)
different so I can find the right one based on the log.
Review URL: https://codereview.chromium.org/
1424083004
egdaniel [Wed, 4 Nov 2015 12:23:53 +0000 (04:23 -0800)]
Create swizzle table inside of glsl caps
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
4036674952f341dab0695c3b054fefa5bb8cdec1
Review URL: https://codereview.chromium.org/
1420033005
bsalomon [Wed, 4 Nov 2015 12:23:45 +0000 (04:23 -0800)]
change alpha bmp generator in bleed to make more discernable results
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/
1408063011
mtklein [Tue, 3 Nov 2015 20:07:47 +0000 (12:07 -0800)]
bin/deps-and-gyp -> bin/sync-and-gyp
NOTREECHECKS=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1423463005
bsalomon [Tue, 3 Nov 2015 19:48:43 +0000 (11:48 -0800)]
Revert of Reland "By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of h… (patchset #1 id:1 of https://codereview.chromium.org/
1428053003/ )
Reason for revert:
Breaking the DEPS roller - again
Original issue's description:
> Reland "By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of https://codereview.chromium.org/
1316233003/ )"
>
> TBR=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/
f7de08a52b5287cb16b2e89a8e3691676a4dbe5f
TBR=robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1414693007
reed [Tue, 3 Nov 2015 19:27:07 +0000 (11:27 -0800)]
Revert of Revert[2] of "stop using drawSprite (at least w/ no filters) as it is going away" (patchset #1 id:1 of https://codereview.chromium.org/
1410343011/ )
Reason for revert:
failing on msaa
Original issue's description:
> Revert[2] of "stop using drawSprite (at least w/ no filters) as it is going away"
>
> Fixed assert in test that was calling GrRecordReplaceDraw(). That function now uses
> drawBitmap, so updated the test to check for that (instead of drawSprite).
>
> This reverts commit
21b766347064837e6b78d600755901aad88cd6e0.
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/
7b81994d95f10cda80ddb85af68a2651ff31782f
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1420053009
halcanary [Tue, 3 Nov 2015 19:18:11 +0000 (11:18 -0800)]
bin/deps-and-gyp: deal with corner cases cleanly
TBR=mtklein@google.com
NOTRY=true
Review URL: https://codereview.chromium.org/
1415193006
bungeman [Tue, 3 Nov 2015 19:07:20 +0000 (11:07 -0800)]
Take mutex when calling into FreeType.
SkScalerContext_FreeType::generateCharToGlyph and generateGlyphToChar
do not take a mutex when calling into FreeType, but they need to.
The setupSize method also requires the mutex to be locked, which is
not a problem since it currently always is, but add a debug assert
to ensure that it continues to be.
BUG=chromium:542640
Review URL: https://codereview.chromium.org/
1431683006
egdaniel [Tue, 3 Nov 2015 18:33:14 +0000 (10:33 -0800)]
Revert of Create swizzle table inside of glsl caps (patchset #12 id:210001 of https://codereview.chromium.org/
1420033005/ )
Reason for revert:
Breaking gm's on nexus7 and s3
Original issue's description:
> Create swizzle table inside of glsl caps
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
4036674952f341dab0695c3b054fefa5bb8cdec1
TBR=bsalomon@google.com,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1426653008
halcanary [Tue, 3 Nov 2015 18:30:05 +0000 (10:30 -0800)]
bin/deps-and-gyp: gclient-free solution
Review URL: https://codereview.chromium.org/
1426103004
halcanary [Tue, 3 Nov 2015 17:50:03 +0000 (09:50 -0800)]
tools/git-sync-deps: speed up common case by skipping fetch
Review URL: https://codereview.chromium.org/
1431713002
mtklein [Tue, 3 Nov 2015 17:45:03 +0000 (09:45 -0800)]
SkRemote: saveLayer
https://gold.skia.org/search2?issue=
1432593002&unt=true&query=source_type%3Dgm&master=false&include=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1432593002
cdalton [Tue, 3 Nov 2015 17:33:21 +0000 (09:33 -0800)]
Fix setColocatedSampleLocations on ES and GL < 4.5
Updates setColocatedSampleLocations to use glFramebufferParameteri when
the DSA version glNamedFramebufferParameteri is not present.
BUG=skia:
Review URL: https://codereview.chromium.org/
1415503008
egdaniel [Tue, 3 Nov 2015 16:15:28 +0000 (08:15 -0800)]
Create swizzle table inside of glsl caps
BUG=skia:
Review URL: https://codereview.chromium.org/
1420033005
scroggo [Tue, 3 Nov 2015 15:55:11 +0000 (07:55 -0800)]
Combine native sampling with sampling
In SkSampledCodec, allow the native codec to do its scaling first, then
sample on top of that. Since the only codec which can do native scaling
is JPEG, and we know what it can do, hard-code for JPEG. Check to see
if the sampleSize is something JPEG supports, or a multiple of
something it supports. If so, use JPEG directly or combine them.
BUG=skia:4320
Review URL: https://codereview.chromium.org/
1417583009
bsalomon [Tue, 3 Nov 2015 15:50:38 +0000 (07:50 -0800)]
Reland "By default purge resources that haven't been used for 64 flushes (patchset #5 id:80001 of https://codereview.chromium.org/
1316233003/ )"
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/
1428053003
mtklein [Tue, 3 Nov 2015 15:35:28 +0000 (07:35 -0800)]
SkRemote: some images, many TODOs
You can see from the diffs this is a step forward, but with bugs to fix:
https://gold.skia.org/search2?issue=
1418483006&unt=true&query=source_type%3Dgm&master=false&include=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1418483006
reed [Tue, 3 Nov 2015 15:12:16 +0000 (07:12 -0800)]
Revert[2] of "stop using drawSprite (at least w/ no filters) as it is going away"
Fixed assert in test that was calling GrRecordReplaceDraw(). That function now uses
drawBitmap, so updated the test to check for that (instead of drawSprite).
This reverts commit
21b766347064837e6b78d600755901aad88cd6e0.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1410343011
robertphillips [Tue, 3 Nov 2015 15:04:47 +0000 (07:04 -0800)]
Clean up GrAtlas and rename it GrLayerAtlas
Review URL: https://codereview.chromium.org/
1412243013
mtklein [Tue, 3 Nov 2015 14:54:24 +0000 (06:54 -0800)]
DM+VB: WallTimer -> SkTime::GetNSecs().
The same timer with a simpler interface.
BUG=skia:
Review URL: https://codereview.chromium.org/
1427033003
senorblanco [Tue, 3 Nov 2015 13:07:43 +0000 (05:07 -0800)]
Simplify SkGpuBlurUtils.
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
robertphillips [Tue, 3 Nov 2015 12:35:58 +0000 (04:35 -0800)]
Revert of stop using drawSprite (at least w/ no filters) as it is going away (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
aleksandar.stojiljkovic [Mon, 2 Nov 2015 21:28:51 +0000 (13:28 -0800)]
SkScan_Antihair: assert in debug and potentialy lost last pixels
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
senorblanco [Mon, 2 Nov 2015 20:55:47 +0000 (12:55 -0800)]
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
Review URL: https://codereview.chromium.org/
1415653003
bsalomon [Mon, 2 Nov 2015 20:33:21 +0000 (12:33 -0800)]
Add bleed GM variants for bmp backed by an oversized texture
Review URL: https://codereview.chromium.org/
1426253002
reed [Mon, 2 Nov 2015 20:11:13 +0000 (12:11 -0800)]
stop using drawSprite (at least w/ no filters) as it is going away
BUG=skia:
Review URL: https://codereview.chromium.org/
1411173010
senorblanco [Mon, 2 Nov 2015 19:56:18 +0000 (11:56 -0800)]
Revert of Make SkBlurImageFilter capable of cropping during blur (patchset #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
bsalomon [Mon, 2 Nov 2015 19:36:52 +0000 (11:36 -0800)]
Allow max tile size to be overridden separately from max texture size.
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
iroth [Mon, 2 Nov 2015 19:11:21 +0000 (11:11 -0800)]
Enable building Skia for iOS with bazel.
BUG=skia:
Review URL: https://codereview.chromium.org/
1429863002
senorblanco [Mon, 2 Nov 2015 19:09:05 +0000 (11:09 -0800)]
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
Review URL: https://codereview.chromium.org/
1415653003
halcanary [Mon, 2 Nov 2015 18:22:43 +0000 (10:22 -0800)]
bin/sync-and-gyp: gclient hackery
Review URL: https://codereview.chromium.org/
1427183003
mtklein [Mon, 2 Nov 2015 18:20:27 +0000 (10:20 -0800)]
Start making all .cpp files compile-able on all platforms.
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
fmalita [Mon, 2 Nov 2015 17:32:54 +0000 (09:32 -0800)]
[SkDebugger] Remove unneeded SkDebuggerGUI includes
R=robertphillips@google.com,mtklein@google.com
Review URL: https://codereview.chromium.org/
1411963006
mtklein [Mon, 2 Nov 2015 17:08:17 +0000 (09:08 -0800)]
SkRemote: all paint effects except typeface
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
egdaniel [Mon, 2 Nov 2015 15:46:25 +0000 (07:46 -0800)]
Fix assert in GrGLShaderBuilder regarding shader outputs
Fixes crashing bot.
BUG=skia:
Review URL: https://codereview.chromium.org/
1408063009
caryclark [Mon, 2 Nov 2015 15:32:58 +0000 (07:32 -0800)]
path ops: fix fuzz-found divide by zero
TBR=reed@google.com
BUG=542391
Review URL: https://codereview.chromium.org/
1427913005
egdaniel [Mon, 2 Nov 2015 14:22:44 +0000 (06:22 -0800)]
Move shader compiling to ProgramBuilder and various ShaderBuilder cleanups.
An additional positive of this CL is that GrGLShaderBuilder is now GL independent besides GrGLProgramBuilder
BUG=skia:
Review URL: https://codereview.chromium.org/
1431433003
benjaminwagner [Mon, 2 Nov 2015 13:53:38 +0000 (05:53 -0800)]
In BUILD.public, specify alwayslink for skia library.
Some Skia classes use SkTRegistry, which requires the source files be linked in order to be registered.
Also replace "*CG*" with "SkImageDecoder_CG.cpp" for clarity.
BUG=skia:
Review URL: https://codereview.chromium.org/
1405023013
update-skps [Sun, 1 Nov 2015 07:47:37 +0000 (00:47 -0700)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
Review URL: https://codereview.chromium.org/
1423633004
caryclark [Fri, 30 Oct 2015 20:56:50 +0000 (13:56 -0700)]
path ops; remove obsolete reduce
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
senorblanco [Fri, 30 Oct 2015 20:17:20 +0000 (13:17 -0700)]
Add cropped-then-expanded test cases to blur_image_filter tests.
These are benches similar to the imagefilterscropexpand GM: an
input filter is cropped to a smaller size, then the blur is re-expanded
out to a larger size.
BUG=skbug:4502
Review URL: https://codereview.chromium.org/
1412373004
caryclark [Fri, 30 Oct 2015 19:03:06 +0000 (12:03 -0700)]
More conic-specific tests revealed a few conic-specific bugs. Because 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
robertphillips [Fri, 30 Oct 2015 17:11:30 +0000 (10:11 -0700)]
Dependencies are now added between the drawTargets in GrPipeline
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
bsalomon [Fri, 30 Oct 2015 16:05:32 +0000 (09:05 -0700)]
Don't run nvpr on TSAN bot
Review URL: https://codereview.chromium.org/
1405223006
halcanary [Fri, 30 Oct 2015 15:40:55 +0000 (08:40 -0700)]
DEPS: roll zlib: 20 new commits
List of changes at
https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/
4ba7cdd0e7bf49d671645264f839838fc56e1492..
c4e33043fb071b6ea0a153845da625d7ed633d3d
Of particular interest is
"Fix VC++ 2015 64-bit truncation warning in zlib".
Review URL: https://codereview.chromium.org/
1416043007
mtklein [Fri, 30 Oct 2015 12:24:58 +0000 (05:24 -0700)]
Dedup SkPaths by gen-ID when going to .skp
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
robertphillips [Fri, 30 Oct 2015 12:15:11 +0000 (05:15 -0700)]
Minor cleanup of clip mask manager
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
benjaminwagner [Thu, 29 Oct 2015 20:40:27 +0000 (13:40 -0700)]
For BUILD.public, let SkPreConfig.h set SK_RELEASE based on NDEBUG.
Use DumpStackTrace in SkASSERT in GOOGLE3.
There are extra assertions enabled in debug mode that cause RecordDraw_TextBounds to fail.
New include causes a naming conflict with global name "base".
Corresponding internal cl/
106495354
No public API changes.
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1423013004
bsalomon [Thu, 29 Oct 2015 19:34:31 +0000 (12:34 -0700)]
Clarify subrect semantics for GrTextureAdjuster and handle mip maps correctly.
Review URL: https://codereview.chromium.org/
1410383008
fmalita [Thu, 29 Oct 2015 19:13:48 +0000 (12:13 -0700)]
[SkDebugger] Show detailed drawImage info
R=robert.phillips@google.com
Review URL: https://codereview.chromium.org/
1409393007
robertphillips [Thu, 29 Oct 2015 19:12:21 +0000 (12:12 -0700)]
Remove GrPipelineBuilder from getPathRenderer call
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
bsalomon [Thu, 29 Oct 2015 17:49:28 +0000 (10:49 -0700)]
Pull texture-backed bitmap resampler out of GrTextureParamsAdjuster code into its own class.
Review URL: https://codereview.chromium.org/
1420963008
senorblanco [Thu, 29 Oct 2015 17:24:38 +0000 (10:24 -0700)]
Remove SK_SAVE_LAYER_BOUNDS_ARE_FILTERED #define.
It's no longer used in Chrome.
BUG=skbug:3194
Review URL: https://codereview.chromium.org/
1422183008
robertphillips [Thu, 29 Oct 2015 16:45:27 +0000 (09:45 -0700)]
Add generationID to debugger's path information
Review URL: https://codereview.chromium.org/
1412013005
bungeman [Thu, 29 Oct 2015 16:30:32 +0000 (09:30 -0700)]
Use only one CGFont/CTFont per scaler context on Mac.
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
pkasting [Thu, 29 Oct 2015 15:41:15 +0000 (08:41 -0700)]
Attempt to update Xfermode comments to have parallel structure.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/
1406413003
egdaniel [Thu, 29 Oct 2015 14:57:01 +0000 (07:57 -0700)]
Remove GrGLProcessor and create GrGLSLTextureSampler class.
Part ??? of separating glsl and gl
BUG=skia:
Review URL: https://codereview.chromium.org/
1425013003
joshualitt [Thu, 29 Oct 2015 14:09:53 +0000 (07:09 -0700)]
Initial gyp files for SDL
BUG=skia:
Review URL: https://codereview.chromium.org/
1411033003
senorblanco [Thu, 29 Oct 2015 00:01:00 +0000 (17:01 -0700)]
Protect apply_paint_to_bounds_sans_imagefilter() with an #ifdef.
Its only caller is protected by the same #ifdef.
NOPRESUBMIT=true
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1404353010
senorblanco [Wed, 28 Oct 2015 22:39:33 +0000 (15:39 -0700)]
SkBlurImageFilter_opts: optimize NEON box_blur_double in separate loops.
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
senorblanco [Wed, 28 Oct 2015 21:17:16 +0000 (14:17 -0700)]
Make SkImageFilter::applyCropRect() optionally compute srcBounds.
BUG=skia:4526
Review URL: https://codereview.chromium.org/
1410553007
scroggo [Wed, 28 Oct 2015 21:06:10 +0000 (14:06 -0700)]
Rename SkScaledCodec.cpp to SkSampledCodec.cpp
Review URL: https://codereview.chromium.org/
1413363008
mtklein [Wed, 28 Oct 2015 20:45:59 +0000 (13:45 -0700)]
Android framework builds can't see cpu-features.h
Don't try to do NEON detection for Android framework builds.
BUG=skia:
Review URL: https://codereview.chromium.org/
1423953004
joshualitt [Wed, 28 Oct 2015 20:28:54 +0000 (13:28 -0700)]
Update deps to pull sdl
BUG=skia:
Review URL: https://codereview.chromium.org/
1425033003
mtklein [Wed, 28 Oct 2015 18:36:30 +0000 (11:36 -0700)]
nanobench: fix and simplify --samplingTime
Recent changes to WallTimer broke --samplingTime. In particular, this idiom became nonsensical:
WallTimer timer;
timer.start();
do {
...
timer.end();
} while(timer.fWall < ...);
WallTimer started making private use of fWall between when start() and end() were called, so the second time around the loop we end up with nonsense.
If that makes no sense, don't worry. The code here using now_ms() is just as fast, just as precise, and clearer.
I took the opportunity to simplify --samplingTime <complicated string parsing> to --ms <int>, and to simplify the code that depends on it.
BUG=skia:
Review URL: https://codereview.chromium.org/
1419103004
senorblanco [Wed, 28 Oct 2015 18:23:36 +0000 (11:23 -0700)]
Change saveLayer() semantics to take unfiltered bounds.
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
robertphillips [Wed, 28 Oct 2015 18:01:41 +0000 (11:01 -0700)]
Remove gpu-side clip mask merging from clip mask manager
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
senorblanco [Wed, 28 Oct 2015 17:26:06 +0000 (10:26 -0700)]
SkBlurImageFilter_opt.h: break conditions into separate loops.
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
mtklein [Wed, 28 Oct 2015 17:02:06 +0000 (10:02 -0700)]
add a note
BUG=skia:
Review URL: https://codereview.chromium.org/
1405083008
mtklein [Wed, 28 Oct 2015 16:52:20 +0000 (09:52 -0700)]
move reinterpret_cast into SK_PREFETCH
no public API changes
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1419573011
mtklein [Wed, 28 Oct 2015 16:50:31 +0000 (09:50 -0700)]
Send SkDebugf through stderr and flush on Windows too.
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
mtklein [Wed, 28 Oct 2015 16:45:44 +0000 (09:45 -0700)]
Make bin/c and bin/compare work on Windows.
- Call python explicitly.
- Drop numpy dependency (on numpy.mean.... come on.)
- Make scipy dependency optional.
Depends on https://codereview.chromium.org/
1419073003 to really work.
BUG=skia:
Doesn't change code.
NOTRY=true
Review URL: https://codereview.chromium.org/
1416833004
scroggo [Wed, 28 Oct 2015 15:56:41 +0000 (08:56 -0700)]
Add missing include for sleep().
This used to be leaked unconditionally by libc++.
Change-Id: I984ab7328ff3a2499c3c89a6862feaa62b6166de
Author: Dan Albert<danalbert@google.com>
Cherry-pick of https://android-review.googlesource.com/#/c/178189/1
This fixes the AOSP mips build.
Review URL: https://codereview.chromium.org/
1425843003
hendrikw [Wed, 28 Oct 2015 15:42:29 +0000 (08:42 -0700)]
skia: Add ANGLE support on Mac
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
bsalomon [Wed, 28 Oct 2015 15:37:44 +0000 (08:37 -0700)]
Remove min texture size support
BUG=skia:4524
Review URL: https://codereview.chromium.org/
1430643002
egdaniel [Wed, 28 Oct 2015 14:26:40 +0000 (07:26 -0700)]
Create GLSL base class for ProgramDataManager
BUG=skia:
Review URL: https://codereview.chromium.org/
1428543003
bsalomon [Wed, 28 Oct 2015 13:29:43 +0000 (06:29 -0700)]
Make SkOSWindow windows implementation use CS_OWNDC in its window class
TBR=joshualitt@google.com
Review URL: https://codereview.chromium.org/
1413213005
kkinnunen [Wed, 28 Oct 2015 13:18:35 +0000 (06:18 -0700)]
Disable CHROMIUM_bind_uniform_location due to a spec bug
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
senorblanco [Tue, 27 Oct 2015 21:39:31 +0000 (14:39 -0700)]
Refactor SkBlurImageFilter_Opts.h.
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
herb [Tue, 27 Oct 2015 21:37:00 +0000 (14:37 -0700)]
Add shared mutexes to the direct write cache code to get better parallelism.
BUG=547182
Review URL: https://codereview.chromium.org/
1424093002
halcanary [Tue, 27 Oct 2015 21:01:05 +0000 (14:01 -0700)]
Make SkTextBlob::RunIterator public.
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
hendrikw [Tue, 27 Oct 2015 20:34:31 +0000 (13:34 -0700)]
skia: Roll latest angle
Required to fix a mac build error with command buffer, and possible
memory allocation issue when used with skia_angle on linux.
Review URL: https://codereview.chromium.org/
1413403005
msarett [Tue, 27 Oct 2015 20:28:25 +0000 (13:28 -0700)]
Make DMSrcSink fail fatally when decodeRegion() fails for BRDSrcs
This involves disabling webps for kCanvas_Strategy.
We have not yet implemented webp subset decodes for this
strategy.
BUG=skia:4521
Review URL: https://codereview.chromium.org/
1405273004
msarett [Tue, 27 Oct 2015 20:12:59 +0000 (13:12 -0700)]
Add NewFromStream and getEncodedFormat to BitmapRegionDecoder
The function will be needed in Android.
BUG=skia:
Review URL: https://codereview.chromium.org/
1425833002
mtklein [Tue, 27 Oct 2015 20:06:47 +0000 (13:06 -0700)]
Make SK_PREFETCH work on Windows too.
- Use _mm_prefetch() if available, e.g. with MSVC.
- Some other tidying up.
No public API changes.
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1427663002
msarett [Tue, 27 Oct 2015 19:50:25 +0000 (12:50 -0700)]
Refactor SkBitmapRegionDecoderInterface for Android
The result SkBitmap, the pixel allocator, and the alpha
preference need to be communicated from the client to
the region decoder.
BUG=skia:
Review URL: https://codereview.chromium.org/
1418093006
mtklein [Tue, 27 Oct 2015 18:24:40 +0000 (11:24 -0700)]
Default off LTCG for human builds.
It's absurdly slow.
We can turn it back on with
skia> python gyp_skia -Dskia_win_ltcg=1
The bots will automatically define skia_is_bot and skia_win_ltcg.
BUG=skia:
Review URL: https://codereview.chromium.org/
1407043009
hendrikw [Tue, 27 Oct 2015 17:04:34 +0000 (10:04 -0700)]
skia: Fix command buffer support on the mac
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
robertphillips [Tue, 27 Oct 2015 16:23:38 +0000 (09:23 -0700)]
Disable gpu-side clip mask merging in the clip mask manager
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
benjaminwagner [Tue, 27 Oct 2015 16:14:29 +0000 (09:14 -0700)]
Remove SkJpegCodec.cpp from Google3 BUILD due to differing libjpeg_turbo versions.
BUG=skia:4520
Review URL: https://codereview.chromium.org/
1418423008
bungeman [Tue, 27 Oct 2015 15:39:39 +0000 (08:39 -0700)]
Update Android FreeType version.
Update FreeType to a newer version. Because this caused issues in
finding the correct ftoptions.h and ftmodule.h [1], be sure to state
the ones we want explicitly.
This also add gzip.c which is needed for WOFF support [2].
[1] FreeType "Simplify header file hierarchy."
fae382076409db198dfbff36ac4cbb97b05b30a1
[2] FreeType "[gzip] New function `FT_Gzip_Uncompress'."
dc240524ff31891a442225430b28e9620c1fa89f
Review URL: https://codereview.chromium.org/
833103004
scroggo [Tue, 27 Oct 2015 15:14:46 +0000 (08:14 -0700)]
Update CodexTest for 565
All our codecs now support 565, so no need to have a boolean to check
it.
Review URL: https://codereview.chromium.org/
1414553006
robertphillips [Tue, 27 Oct 2015 14:53:35 +0000 (07:53 -0700)]
Cosmetic portion of reverted "Fix ClipMaskManager's SW-fallback logic" CL
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
robertphillips [Tue, 27 Oct 2015 14:17:33 +0000 (07:17 -0700)]
Fix ClipMaskManager's SW-fallback logic (take 2)
https://codereview.chromium.org/
1421533007/ (Fix ClipMaskManager's SW-fallback logic) had a logic error in it. It did not take into account createAlphaClipMask's fallback to non-Stenciled drawing (in drawElement).
This CL adds that logic and strips out the unnecessary changes (for clarity).
Review URL: https://codereview.chromium.org/
1412883005
msarett [Tue, 27 Oct 2015 14:12:24 +0000 (07:12 -0700)]
Fix DMSrcSink bug
We want to request premultiplied decodes.
BUG=skia:
Review URL: https://codereview.chromium.org/
1419403003
bsalomon [Tue, 27 Oct 2015 13:42:50 +0000 (06:42 -0700)]
Move scissor state to GrAppliedClip
Review URL: https://codereview.chromium.org/
1385233002
robertphillips [Mon, 26 Oct 2015 21:37:03 +0000 (14:37 -0700)]
Fix up the clip mask manager's creation of paths (w.r.t. volatility)
I don't expect this to make any difference (perf-wise) but it seems more correct.
This CL relies on https://codereview.chromium.org/
1421533007/ (Fix ClipMaskManager's SW-fallback logic)
Committed: https://skia.googlesource.com/skia/+/
953fe3139fa60ce56abcfa45a3647d924e637083
Review URL: https://codereview.chromium.org/
1419403002
robertphillips [Mon, 26 Oct 2015 21:12:25 +0000 (14:12 -0700)]
Revert of Fix ClipMaskManager's SW-fallback logic (patchset #4 id:60001 of https://codereview.chromium.org/
1421533007/ )
Reason for revert:
Logic may be incorrect
Original issue's description:
> Fix ClipMaskManager's SW-fallback logic
>
>
> 'useSWOnlyPath' was not correctly toggling between stencil and color draws so there was a mismatch with the behavior in createAlphaClipMask (i.e., we were inadvertently rendering some of the elements in a clip using SW but using stenciling for others - precisely what 'useSWOnlyPath' was intended to prevent).
>
> Committed: https://skia.googlesource.com/skia/+/
5c3ea4cd3921e8904d4f201bcdedfd5b8a726542
TBR=bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1426443008
robertphillips [Mon, 26 Oct 2015 21:11:15 +0000 (14:11 -0700)]
Revert of Fix up the clip mask manager's creation of paths (w.r.t. volatility) (patchset #1 id:1 of https://codereview.chromium.org/
1419403002/ )
Reason for revert:
Logic may be incorrect
Original issue's description:
> Fix up the clip mask manager's creation of paths (w.r.t. volatility)
>
> I don't expect this to make any difference (perf-wise) but it seems more correct.
>
> This CL relies on https://codereview.chromium.org/
1421533007/ (Fix ClipMaskManager's SW-fallback logic)
>
> Committed: https://skia.googlesource.com/skia/+/
953fe3139fa60ce56abcfa45a3647d924e637083
TBR=jvanverth@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1415413007
cdalton [Mon, 26 Oct 2015 20:45:29 +0000 (13:45 -0700)]
Flush GrContext between benchmark draw loops
This change updates a small subset of benchmarks to flush the GrContext
between draw loops (specifically SKP benchmarks, SampleApp, and the
warmup in visualbench). This helps improve timing accuracy by not
allowing the gpu to batch across draw boundaries in the affected
benchmarks.
BUG=skia:
Review URL: https://codereview.chromium.org/
1427533002