| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If dithering is turned on, apply an effect that filters the pixel through
the following pipeline:
for each channel c:
1. Compute quantized colors [low, high] that c is between
2. Pick high by flipping a coin weighted by (c - low)
R=bsalomon@google.com, egdaniel@google.com, robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/321253002
|
|
|
|
|
|
|
|
| |
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/338093005
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit ffa9b500d7e83e7dddf6a8902f47c4355b608c30.
R=reed@google.com
TBR=reed@google.com
NOTRY=True
NOTREECHECKS=True
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/340413004
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
renderer.
Cubics that are nearly degenerate now make it down here via the convex path renderer. They used to get filtered out by the path iterator but that was problematic. We wound up producing NaN vertices.
BUG=2677
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/338633007
|
|
|
|
|
|
|
|
|
|
| |
Also adds upload tracing for Chrome.
R=bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/347563005
|
|
|
|
|
|
|
|
|
|
| |
These were found by the clang on Windows build.
R=mtklein@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/328303005
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stop using restricted font outlines and honor don't subset restriction.
Resubmit of r12600.
R=halcanary@google.com, bungeman@google.com, reed@google.com
Author: vandebo@chromium.org
Review URL: https://codereview.chromium.org/334443002
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a marker is placed using a GrContext, it will add a marker to both the
drawBuffer and gpu targets of that context.
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/340893002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/343783002/)
Reason for revert:
webkit still uses getTotalClip -- need to find where they define the guard.
../../skia/ext/skia_utils_mac.mm:400:42: error: no member named 'getTotalClip' in 'SkCanvas'
const SkRegion& clipRgn = canvas_->getTotalClip();
~~~~~~~ ^
Original issue's description:
> remove guarded code - there are no more callers
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c5d5cf9489977aa6fba077d1dc242029fbb4859e
R=scroggo@google.com, reed@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/342843002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the external cache is active, do not intersect the saveLayer
bounds with the clip bounds. This is so that the cache is always the
full size of the primitive's bounds, regardless of the clip active on
first draw. (Drawing of the filtered or cached result is always drawn
against the active clip, though, since it is restored before
internalDrawDevice() is called.)
This is a slightly hacky solution, but this code can all go away
(including the external cache) once all platforms have switched to
impl-side painting.
See Chromium bug http://crbug.com/379147.
BUG=skia:
R=reed@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/340203002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/343783002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/341583002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With new veto our new veto test results look like the following:
TP: true positive (picked to use gpu and gpu was faster)
I: inderminate, the raster time is withing 5% of gpu time
TP FP TN FN I
old 21 9 15 12 3
new 29 12 11 6 3
There are three skps that tend to move from TN -> FP, however
the absolute difference in their run times are not huge between
them. The largest being desk_booking which is about 7.1 raster
and 8.8 gpu. The other two skps are desk_yahooanswers and
desk_linkedin
BUG=skia:
R=bsalomon@google.com, robertphillips@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/334053005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the last bug discovered by iterating through the 800K
skp corpus representing the top 1M websites. For every clip on the
stack, the paths are replaced with the pathop intersection. The
resulting draw is compared with the original draw for pixel errors.
At least two prominent bugs remain. In one, the winding value is
confused by a cubic with an inflection. In the other, a quad/cubic
pair, nearly coincident, fails to find an intersection.
These minor changes include ignoring very tiny self-intersections
of cubics, and processing degenerate edges that don't connect to
anything else.
R=reed@android.com
TBR=reed
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/340103002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The matching code was difficult to follow due to naming issues,
and performed some duplicate work which is not wanted.
This change will either fix the associated bug or make it possible
to track the cause.
CQ_EXTRA_TRYBOTS=tryserver.skia:Test-Win7-ShuttleA-HD2000-x86-Release-DirectWrite-Trybot
BUG=384529
R=reed@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/338923003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(https://codereview.chromium.org/289473009/)
NOTREECHECKS=true
NOTRY=true
Reason for revert:
Valgrind bot's seeing this code use uninitialized memory, and it's somehow blocking our roll into Chrome too:
> ld: warning: could not create compact unwind for
S32A_Opaque_BlitRow32_SSE4_asm:
> stack subq instruction is too different from dwarf stack size
> [10339/10982 | 3247.792] PACKAGE FRAMEWORK "Chromium Framework.framework",
> POSTBUILDS
> FAILED: ./gyp-mac-tool package-framework "Chromium Framework.framework" A &&
> (export
> BUILT_PRODUCTS_DIR=/Volumes/data/b/build/slave/mac_gpu/build/src/out/Release;
> export CONFIGURATION=Release; export CONTENTS_FOLDER_PATH="Chromium
> Framework.framework/Versions/A"; export
> DYLIB_INSTALL_NAME_BASE=@executable_path/../Versions/37.0.2056.0; export
> EXECUTABLE_NAME="Chromium Framework"; export EXECUTABLE_PATH="Chromium
> Framework.framework/Versions/A/Chromium Framework"; export
> FULL_PRODUCT_NAME="Chromium Framework.framework"; export
> INFOPLIST_PATH="Chromium Framework.framework/Versions/A/Resources/Info.plist";
> export
LD_DYLIB_INSTALL_NAME="@executable_path/../Versions/37.0.2056.0/Chromium
> Framework.framework/Chromium Framework"; export MACH_O_TYPE=mh_dylib; export
> PRODUCT_NAME="Chromium Framework"; export
> PRODUCT_TYPE=com.apple.product-type.framework; export
>
SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk;
> export
>
SRCROOT=/Volumes/data/b/build/slave/mac_gpu/build/src/out/Release/../../chrome;
> export SOURCE_ROOT="${SRCROOT}"; export
> TARGET_BUILD_DIR=/Volumes/data/b/build/slave/mac_gpu/build/src/out/Release;
> export TEMP_DIR="${TMPDIR}"; export
UNLOCALIZED_RESOURCES_FOLDER_PATH="Chromium
> Framework.framework/Versions/A/Resources"; export WRAPPER_NAME="Chromium
> Framework.framework"; (cd ../../chrome && ../build/mac/tweak_info_plist.py
> "--breakpad=1" "--breakpad_uploads=0" "--keystone=0" "--scm=1"
> "--branding=Chromium" && ln -fns Versions/Current/Libraries
> "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Libraries" &&
> tools/build/mac/verify_order _ChromeMain
> "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}"); G=$?; ((exit $G) || rm -rf
> 'Chromium Framework.framework') && exit $G) && touch "Chromium
> Framework.framework"
> tools/build/mac/verify_order: unordered symbols in
> /Volumes/data/b/build/slave/mac_gpu/build/src/out/Release/Chromium
> Framework.framework/Versions/A/Chromium Framework:
> S32A_Opaque_BlitRow32_SSE4_asm
> _S32A_Opaque_BlitRow32_SSE4_asm
> ninja: build stopped: subcommand failed.
Original issue's description:
> Add SSE4 optimization of S32A_Opaque_Blitrow
>
> Adds optimization of Skia S32A_Opaque_Blitrow blitter using SSE4.2 SIMD
> instruction set. Special case for when alpha is zero or opaque.
>
> Performance increase of 10%-400% compared to the existing SSE2
> optimization (measured on Silvermont architecture).
> Noticeable in ~25 different skia bench subtests, especially in
> bitmap_8888_*, repeatTile_*, and morph_*.
>
> bitmap_8888_A - 100% faster
> bitmap_8888_A_source_transparent - 250% faster
> bitmap_8888_A_source_opaque - 25% faster
> bitmap_8888_A_scale_bicubic - 75% faster
>
> Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
>
> Committed: https://skia.googlesource.com/skia/+/e2527b147679b0c43019fae7d59cc3777d2d097e
>
> Committed: https://skia.googlesource.com/skia/+/b5c281e1e06af3be804309877de1dac6145686b9
R=reed@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com, henrik.smiding@intel.com, mtklein@chromium.org
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/336413007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from the shader.
approved over in https://codereview.chromium.org/331863006/; reuploading
because it had the wrong base url
BUG=skia:2095
R=bsalomon@google.com
TBR=bsalomon
Author: humper@google.com
Review URL: https://codereview.chromium.org/341543005
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The interesting stuff is in SkPictureRecorder.{h,cpp}. The rest is mostly moving SkRecord from its own directories into core to avoid circular dependencies in GYP.
After plumbing SkRecord all the way through in Picture, I'll delete its old entry point include/record/SkRecording.h. For now it and record.gypi need to stay where they are to keep Chrome building.
BUG=skia:
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/331573004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds optimization of Skia S32A_Opaque_Blitrow blitter using SSE4.2 SIMD
instruction set. Special case for when alpha is zero or opaque.
Performance increase of 10%-400% compared to the existing SSE2
optimization (measured on Silvermont architecture).
Noticeable in ~25 different skia bench subtests, especially in
bitmap_8888_*, repeatTile_*, and morph_*.
bitmap_8888_A - 100% faster
bitmap_8888_A_source_transparent - 250% faster
bitmap_8888_A_source_opaque - 25% faster
bitmap_8888_A_scale_bicubic - 75% faster
Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
Committed: https://skia.googlesource.com/skia/+/e2527b147679b0c43019fae7d59cc3777d2d097e
R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com
Author: henrik.smiding@intel.com
Review URL: https://codereview.chromium.org/289473009
|
|
|
|
|
|
|
|
|
|
|
| |
The PDF backend expects info->fFontName to be the PostScript name.
Prior to this change the '<family> <sytle>' name was used instead.
R=vandebo@chromium.org, halcanary@google.com, reed@google.com, thestig@chromium.org
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/324403010
|
|
|
|
|
|
|
|
|
|
|
| |
patch from issue 338263003
BUG=skia:
R=mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/339183002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
patch from issue 339463002
TBR=
I think the NoGPU failure is unrelated, so ignoring
NOTRY=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/340533002
|
|
|
|
|
|
|
|
|
|
|
| |
Doesn't need to be in include/.
BUG=skia:
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/335413004
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
had #if SK_DEBUG instead of #ifdef SK_DEBUG
R=reed@android.com
TBR=reed
NOTRY=true
NOTREECHECKS=true
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/338333002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
around 100 failures when testing the 800K skp set generated from the top 1M web sites.
This fixes all but one of those failures.
Major changes include:
- Replace angle indices with angle pointers. This was motivated by the need to add angles later but not renumber existing angles.
- Aggressive segment chase. When the winding is known on a segment, more aggressively passing that winding to adjacent segments allows fragmented data sets to succeed.
- Line segments with ends nearly the same are treated as coincident first.
- Transfer partial coincidence by observing that if segment A is partially coincident to B and C then B and C may be partially coincident.
TBR=reed
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/272153002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
benches and bots. (https://codereview.chromium.org/331193004/)
Reason for revert:
Experiment is over: disabling SSSE3 is a 25-50% perf regression for bitmap scaling on every machine we've got.
Original issue's description:
> Temporarily limit x86 SIMD to SSE2 only, to see effect on all benches and bots.
>
> BUG=372232
>
> Committed: https://skia.googlesource.com/skia/+/f1e5a04832e4d350f9ebf5d556c6d3897345f883
R=reed@google.com, mtklein@chromium.org
TBR=mtklein@chromium.org, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=372232
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/332213005
|
|
|
|
|
|
|
|
| |
R=junov@chromium.org
Author: piotaixr@chromium.org
Review URL: https://codereview.chromium.org/338933002
|
|
|
|
|
|
|
|
|
|
|
| |
Remove Simplex noise implementation and now-redundant base classes.
BUG=skia:
R=sugoi@chromium.org, sugoi@google.com, reed@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/336043002
|
|
|
|
|
|
|
|
|
| |
BUG=372232
R=reed@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/331193004
|
|
|
|
|
|
|
|
| |
R=scroggo@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/338493005
|
|
|
|
|
|
|
|
|
| |
R=bsalomon@google.com
NOTREECHECKS=True
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/334993002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extract "text align proc" as reusable classes. These classes need to be used
when writing GrTextContext subclasses.
Moves "text align proc" code that is duplicated in SkDraw and
SkBitmapTextContext to SkDrawProcs.h and SkTextMapState.h. This functionality is
also used in the new GrStencilAndCoverTextContext.
Creates new functor classes SkTextAlignProc and SkTextAlignProcScalar which
represent the previous "text align procs".
Moves TextMapState from SkDraw to SkTextMapStateProc and make it similar functor.
The transform should be comparable in speed, as the compiler can and does avoid
the call and eliminate some of the branches.
R=jvanverth@google.com, reed@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/335573002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix for https://code.google.com/p/skia/issues/detail?id=2581. Randomizes
the seed in SkDiscretePathEffect::filterPath(). Prior to this we were
using the path length as a seed.
Now, if we have two different paths with identical contents and we
apply an SkDiscretePathEffect to each, we obtain two different random
paths. Previously, we would obtain two overlapping paths (identical
path contents leading to the same seed).
BUG=skia:
R=reed@google.com, scroggo@google.com
Author: rs.prinja@samsung.com
Review URL: https://codereview.chromium.org/311803002
|
|
|
|
|
|
|
|
|
|
| |
patch from issue 334613003
TBR=scroggo
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/334793002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
correctness (https://codereview.chromium.org/331443003/)
Reason for revert:
Failing layout test: https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux/32762/layout-test-results/virtual/gpu/fast/canvas/canvas-draw-canvas-on-canvas-shadow-pretty-diff.html
Original issue's description:
> third try at landing improved blur rect; this time with more correctness
>
> BUG=skia:2095
> R=bsalomon@google.com
> TBR=bsalomon
>
> Committed: https://skia.googlesource.com/skia/+/72abfc2b4e7caead660f6b6a05e60d05eaf1a66f
R=bsalomon@google.com, reed@google.com, humper@google.com
TBR=bsalomon@google.com, humper@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2095
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/333763002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It turns out that the perlin implementation we inherited from WebKit
does not actually generate tileable noise (see Chromium bug
http://crbug.com/383495).
The main problem is that when generating coordinates for gradient
interpolation, it was attempting to wrap both x and (x + 1)
simultaneously at the tile boundary (that is, either both or neither
are wrapped). This obviously won't work, since along the tile seams,
(x + 1) should be wrapped, but x should not. The same is true in y.
This patch fixes both the CPU and GPU paths, renames some variables to
more closely match the spec, and modifies the perlin noise GM to
actually test tiling. (Note that the clipping the GM was doing was
removed, since it's superfluous: it used to be necessary for image
filters, but isn't anymore, and this isn't an image filter GM anyway.)
R=sugoi@google.com, sugoi
TBR=senorblanco
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/332523006
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will allow us to batch dashed lines together when drawing. Also, this removes the need for
a coord transform matrix in the shader, thus we save the cost of uploading a new matrix uniform
everytime we do a simple transform to the dashed line we are drawing.
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/326103002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/332453002
|
|
|
|
|
|
|
|
| |
R=robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/330593004
|
|
|
|
|
|
|
|
|
|
| |
This CL simplifies the relationship between SkPicture and SkPicturePlayback by moving the path heap into SkPicturePlayback and removing SkPicturePlayback's SkPicture pointer.
R=mtklein@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/334493002
|
|
|
|
|
|
|
|
| |
R=bsalomon@google.com, robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/326423003
|
|
|
|
|
|
|
|
| |
R=robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/326383003
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set pointer to root view in window (for SampleApp)
Set up the correct function pointer for GL multisampling
Remove use of SkBitmap::setConfig()
Remove incomplete iOS implementation of SkFILE (use SkOSFile for now)
R=caryclark@google.com, reed@google.com, bsalomon@google.com, tfarina@chromium.org
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/322403007
|
|
|
|
|
|
|
|
|
|
| |
BUG=skia:2095
R=bsalomon@google.com
TBR=bsalomon
Author: humper@google.com
Review URL: https://codereview.chromium.org/331443003
|
|
|
|
|
|
|
|
| |
R=robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/330453005
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=halcanary@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/326413003
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL improves the separation of the SkPicture and SkPictureRecord classes. It delays creation of the SkPicture (in SkPictureRecorder) until recording is actually completed. To accomplish this the SkRecord-derived classes now get SkPathHeap and SkPictureContentInfo members that are absorbed by the SkPicture when it is constructed.
As an ancillary change, this CL also moves the SkPictureContentInfo object from SkPicture to SkPicturePlayback. This is intended to centralize all the data in the SkPicturePlayback object.
R=mtklein@google.com, reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/324293004
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes chrome canary.
R=reed@android.com
TBR=reed
NOTRY=true
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/329113003
|
|
|
|
|
|
|
|
| |
R=bsalomon@google.com, robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/329213002
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/331433003
|