Commit Graph

12415 Commits

Author SHA1 Message Date
egdaniel
be4fd4f734 Fix Assert for gpu ConicalTwoPointGradient edgecase to be correct bounds.
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/311373003
2014-06-06 07:26:16 -07:00
sugoi
0951fe1298 Fixing another clusterfuzz issue
This was introduced by removing SkValidatingReadBuffer::readBitmap in https://codereview.chromium.org/295793002/

Since SkReadBuffer::skip wasn't virtual, it was using the unsafe SkReadBuffer::skip within SkReadBuffer::readBitmap rather than using SkValidatingReadBuffer::skip. I also removed direct uses of fReader within SkReadBuffer::readBitmap so that it can use the virtual readInt / readFixed functions that have a version in SkValidatingReadBuffer.

Also, I changed SkReadBuffer::readPoint so that it uses the virtual readScalar, that way, it becomes redundant with SkValidatingReadBuffer::readPoint, which can then be removed.

BUG=380723
R=reed@google.com, mtklein@google.com, sugoi@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/317003003
2014-06-06 06:44:17 -07:00
qiankun.miao
5102345029 Fix android_run_skia script running with command line options
This script cannot recognize command line options when running bench:
e.g. android_run_skia bench --config 8888.

BUG=skia:
R=mtklein@google.com, djsollen@google.com

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/314903003
2014-06-06 06:43:46 -07:00
tfarina
f9dae780c2 Remove GrIsPow2 in favor of SkIsPow2.
Looks like there is no good reason to have two copies of this function
doing the same thing with different name.

BUG=None
TEST=make tests
R=bsalomon@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/318873002
2014-06-06 06:35:28 -07:00
jcgregorio
659988168a Add metrics reporting to SkFiddle.
Also update the headers for template.cpp while we're here.

BUG=skia:
R=mtklein@google.com

Author: jcgregorio@google.com

Review URL: https://codereview.chromium.org/312373002
2014-06-06 06:30:31 -07:00
rmistry
a494a91a1d Whitespace change to test new CQ trybots
BUG=skia:2203
TBR=

(SkipBuildbotRuns)

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/319123002
2014-06-06 06:26:59 -07:00
sugoi
56d135c03e Adding kernel offset validation
Fixing bug found by clusterfuzz in SkMatrixConvolutionImageFilter.

BUG=381244
R=senorblanco@google.com, senorblanco@chromium.org, sugoi@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/319003002
2014-06-06 06:22:03 -07:00
mtklein
a8928b745a Add SkBarriers_tsan.h.
Slight counterproposal to crrev.com/310663002.

BUG=skia:

No API changes.

R=bungeman@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/306373002
2014-06-06 06:21:49 -07:00
bsalomon
594069f0fe Use vertex attribute for text color in GrBitmapTextContext
R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/316063002
2014-06-06 06:16:34 -07:00
krajcevski
c250d2e4ab Initial KTX encoder
The encoder comes with tests to check that the encoding/decoding
operations between ETC encoded bitmaps and ARGB bitmaps are sane.

R=bsalomon@google.com, robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/312353003
2014-06-06 06:16:28 -07:00
Ben Wagner
b0b0feb71f Fix SK_API for DirectWrite port.
The declaration and definition should have the same calling convention.

TBR=reed@google.com

Review URL: https://codereview.chromium.org/317993002
2014-06-05 18:03:39 -04:00
Ben Wagner
98875e1abd Rename SkFontHost_win_dw.cpp SkScalerContext.
This is a continuation of https://codereview.chromium.org/314193002/ .

TBR=reed@google.com

Review URL: https://codereview.chromium.org/315173004
2014-06-05 16:55:58 -04:00
bungeman
51daa25a2b Split SkFontHost_win_dw.
Split SkFontHost_win_dw into FontMgr, Typeface, and ScalerContext.
This makes working on these files easier, and moves away from the legacy
FontHost naming.

R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/314193002
2014-06-05 13:38:45 -07:00
fmalita
c3b589a24e SkClipStack::Element tweaks.
(
This is intended to facilitate efficient kMatrix_SaveFlags emulation
on restore():

  * collect all clip stack elements for the current save count into a
    side clip stack
  * canvas.restore(everything)
  * replay the collected clip ops to restore the initial clip state
  => we restored the matrix but the clip state is unchanged
)

Two main changes:

  * expose the save count for SkClipStack::Element
  * expose a replay method for the same (logic relocated from
    SkCanvas::replayClips)

The SkCanvas::ClipVisitor shuffling is to enable forward decl
in SkClipStack.h (cannot fwdecl a nested class).

R=reed@google.com, robertphillips@google.com
TBR=reed@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/269693003
2014-06-05 12:40:07 -07:00
bungeman
5d3f9c765f Update gyp for msvs-ninja clean.
BUG=skia:2439
R=borenet@google.com, epoger@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/317833005
2014-06-05 12:14:44 -07:00
scroggo
0187dc2155 Fixes for SkAlphaTypes.
When using allocPixels to set the info and create a new pixelRef in one
shot, create the pixelRef with the corrected info of the bitmap (i.e.
alphatype).

Simplify the check to determine whether to copy the genID in SkBitmap::
copyTo's same configs/same sizes case. The old logic (only checking the
height and assuming the others must be the same) relied on a deep
(mis?)understanding of the rest of the function, and I cannot convince
myself that it has to be true, given that readPixels may have switched
src to a different SkBitmap. Instead, just compare the SkImageInfos,
which is much clearer. (This also caught a bug where a 565 bitmap had
the wrong alphatype, leading to the allocPixels fixes.)

If readPixels succeeds but the source is unpremultiplied, fail out
of copyTo, since readPixels assumes premultiplied.

When copying from 8888 to 4444 or in the fallback case of drawing,
return false if the alphatype is unpremul, which would have failed
anyway.

BUG=skia:2012
R=reed@google.com, bsalomon@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/317053003
2014-06-05 11:18:05 -07:00
epoger
b144271179 reland "rebaseline_server: download actual-results.json files from GCS instead of SVN"
relands https://codereview.chromium.org/310093003 with modifications.

BUG=skia:2641
R=jcgregorio@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/313343003
2014-06-05 10:30:37 -07:00
scroggo
9de2fb680f Add mips64 to the makefile.
Currently we have no optimizations for mips64, so it correctly
contains the various _none.cpps.

Corresponds to https://android-review.googlesource.com/#/c/96536/1

R=halcanary@google.com, djsollen@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/311163003
2014-06-05 10:28:36 -07:00
reed
6dd061f138 add SK_SUPPORT_LEGACY_COMPUTE_CONFIG_SIZE
TBR=scroggo
NOTRY=True

Author: reed@google.com

Review URL: https://codereview.chromium.org/315263002
2014-06-05 10:00:04 -07:00
mtklein
1b918af0d8 Rename skimage expectations for ASAN bot to match bot renaming.
BUG=skia:
R=borenet@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/316063004
2014-06-05 08:51:26 -07:00
reed
ddd014e652 remove SkBitmap::allocConfigPixels and update dox
I see no callers in android

R=scroggo@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/310283004
2014-06-05 08:51:20 -07:00
jvanverth
71804cc303 Revert of Add SSE4 optimization of S32A_Opaque_Blitrow (https://codereview.chromium.org/289473009/)
Reason for revert:
Buildbot failures on Mac 10.6 and Mac 10.7.

R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com, joakim.landberg@intel.com, henrik.smiding@intel.com
TBR=reed@google.com
NOTRY=True

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

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/311053009
2014-06-05 08:19:23 -07:00
halcanary
5ec3d21714 remove ashmem from skia
R=scroggo@google.com, djsollen@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/319533004
2014-06-05 08:16:34 -07:00
bsalomon
93c2fb02f1 Rebaselines for drrect GM on GPU
TBR=

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/318773007
2014-06-05 07:56:56 -07:00
henrik.smiding
e2527b1476 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>

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
2014-06-05 07:50:54 -07:00
scroggo
58edea8962 Use the correct homophone of 'there'.
R=reed@google.com
TBR=reed@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/319493004
2014-06-05 07:49:04 -07:00
borenet
2e81e51d1e Fix submit_try
BUG=skia:2643
R=epoger@google.com, tfarina@chromium.org

Author: borenet@google.com

Review URL: https://codereview.chromium.org/317823003
2014-06-05 07:32:15 -07:00
robertphillips
c2fce56522 Add bench for rectanizers
R=bsalomon@google.com, jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/319523003
2014-06-05 07:18:03 -07:00
bsalomon
a5c2824bd3 Change default generators on windows to include msvs-ninja rather than msvs
BUG=skia:2439
R=epoger@google.com
TBR=epoger@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/317903002
2014-06-05 07:10:22 -07:00
krajcevski
9a3cdbb3d0 Two new benches for ETC1 bitmaps.
First bench: Simply render from a compressed ETC1 bitmap. This is roughly
equal between compressed and uncompressed data.

Second bench: Notify the bitmap that the pixels have changed (that's right,
like a liar) to force a re-upload to the GPU. On this bench, decompressed
textures seem to inexplicably do an order of magnitude better than
compressed textures when it should be the other way around, but that
investigation is reserved for a future CL.

R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/317023002
2014-06-05 07:03:39 -07:00
jvanverth
4962140c9e On Windows, fail if there are missing files specified in the project.
BUG=skia:2638
R=robertphillips@google.com, borenet@google.com, rmistry@google.com, epoger@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/319503003
2014-06-04 15:57:57 -07:00
bungeman
df1640d413 Remove SK_IGNORE_DWRITE_BITMAP_FIX.
This define has been removed from Blink and is no longer used anywhere.

R=reed@google.com
TBR=reed1

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/319513006
2014-06-04 15:19:47 -07:00
epoger
77f68b623e Revert "rebaseline_server: download actual-results.json files from GCS instead of SVN"
This reverts commit f4666045f3.

BUG=skia:2641
NOTREECHECKS=True
NOTRY=True
R=jcgregorio@google.com
TBR=jcgregorio

Author: epoger@google.com

Review URL: https://codereview.chromium.org/317783004
2014-06-04 15:09:18 -07:00
bungeman
30bcaa0c57 Update expectations for gyp change.
It appears that with the gyp update, floating point operations
on x86_32 are ever so slightly different when drawing some paths.

R=jvanverth@google.com
TBR=jvanverth@google.com
NOTRY=True

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/315043006
2014-06-04 15:04:11 -07:00
robertphillips
1a0a86f072 Remove Android flag for legacy SkCanvas::drawPicture API
Android should no longer need this flag

R=scroggo@google.com, djsollen@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/316933005
2014-06-04 11:43:42 -07:00
Hal Canary
479bb60622 Remove SkImageRef and related functionality.
From here on out, use SkDecodingImageGenerator+SkDiscardablePixelRef.

R=scroggo@google.com

Review URL: https://codereview.chromium.org/100183002
2014-06-04 14:38:48 -04:00
bungeman
c3f100b0ff Update gyp for msvs-ninja.
BUG=skia:2439
R=borenet@google.com, epoger@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/311213002
2014-06-04 11:35:03 -07:00
egdaniel
ea902d9150 Add utils gypi file
BUG=skia:
R=bsalomon@google.com, robertphillips@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/317733003
2014-06-04 10:37:06 -07:00
fmalita
fe68617ec1 Relocate SK_IGNORE_CORRECT_HIGH_QUALITY_IMAGE_SCALE
Temporarily move the flag into Chromium's repo, to facilitate
atomic remove-and-suppress-failures changes.

BUG=380686
R=humper@google.com
TBR=humper@google.com

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/319533002
2014-06-04 10:27:36 -07:00
epoger
f4666045f3 rebaseline_server: download actual-results.json files from GCS instead of SVN
BUG=skia:553
R=borenet@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/310093003
2014-06-04 10:02:58 -07:00
egdaniel
90b8cafb6a Revert of Move Dashing filterPath to a dashing utils file (https://codereview.chromium.org/314623004/)
Reason for revert:
Need to create utils.gypi file and update chrome

Original issue's description:
> Move Dashing filterPath to a dashing utils file
>
> From inside GrContext, we have a need to create an SkPath an original path and
> some dashing info. We do not have access to the original path effect so we need
> a way to make the FilterPath function accessible outside of the effect. So I moved
> the core filterPath code (and all need helper functions) out of SkDashPathEffect
> and created a SkDashPath in utils to store these helper functions.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/576dcdc793a762ec63fbecdbfd5768066b548fe5

R=bsalomon@google.com, reed@google.com, rmistry@google.com
TBR=bsalomon@google.com, reed@google.com, rmistry@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/317663003
2014-06-04 09:59:08 -07:00
krajcevski
2dc337c3ae Add non power of two gm for ETC1 bitmap
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/316813005
2014-06-04 09:57:48 -07:00
scroggo
0ba5a4a306 Use tests tag for Skia tools on Android.
When generating the makefiles for Skia testing tools on Android,
use the tag 'tests' and do not use the tags 'optional' or 'eng'.

R=djsollen@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/315013003
2014-06-04 08:25:50 -07:00
scroggo
ca76c55d60 Use Identity matrix for SkTransparentShader.
The SkTransparentShader is just a placeholder that should not
actually be used, so its CTM is not meaningful. However, it needs
to be invertible in order to not assert in SkShader::Context's
constructor. So use SkMatrix::I().

This fixes a CTS test on Android.

R=reed@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/315743003
2014-06-04 08:21:01 -07:00
mtklein
2583b6257f Is this SkDebug important? It drives me nuts.
BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/310113006
2014-06-04 08:20:41 -07:00
Ravi Mistry
aca1216732 Whitespace change to test bugdroid
(SkipBuildbotRuns)

BUG=skia:2139
BUG=chromium:380617
2014-06-04 11:18:54 -04:00
egdaniel
576dcdc793 Move Dashing filterPath to a dashing utils file
From inside GrContext, we have a need to create an SkPath an original path and
some dashing info. We do not have access to the original path effect so we need
a way to make the FilterPath function accessible outside of the effect. So I moved
the core filterPath code (and all need helper functions) out of SkDashPathEffect
and created a SkDashPath in utils to store these helper functions.

BUG=skia:
R=bsalomon@google.com, reed@google.com, rmistry@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/314623004
2014-06-04 08:15:53 -07:00
egdaniel
05bb6f136d Add bench to measure drawing a dashed grid
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/310083005
2014-06-04 08:15:31 -07:00
robertphillips
9b14f26d0f Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)
R=reed@google.com, bsalomon@google.com, mtklein@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/313613004
2014-06-04 05:40:44 -07:00
Ravi Mistry
232f7259a9 Whitespace change to test bugdroid
(SkipBuildbotRuns)

BUG=skia:2139,chromium:380617
2014-06-04 07:04:29 -04:00