Commit Graph

15363 Commits

Author SHA1 Message Date
scroggo
41b4d77d02 Massive rebaseline for SkRandom.
All of the following GMs have been switched from SkLCGRandom to
SkRandom. Update their expectations for the new images.

-beziers
-circles
-convexpaths
-complexclip2
-complexclip2_rect_aa
-complexclip2_rect_bw
-complexclip2_path_aa
-complexclip2_path_bw
-complexclip2_rrect_aa
-complexclip2_rrect_bw
-cubicpath
-cubicclosepath
-degeneratesegments
-emptypath
-getpostextpath
-hittestpath
-linepath
-lineclosepath
-points
-polygons
-quadpath
-quadclosepath
-strokerects
-strokes_round
-strokes_poly

BUG=skia:3241
TBR=mtklein

Review URL: https://codereview.chromium.org/806263002
2014-12-16 10:59:56 -08:00
jvanverth
3f801cbb67 Change desktop and ES 3.0 to always use sized internal texture formats.
Committed: https://skia.googlesource.com/skia/+/bc02bf0ee4221604796cd6d0394ca3af60c0a579

Review URL: https://codereview.chromium.org/806943002
2014-12-16 09:49:39 -08:00
robertphillips
ed31343805 Alter GM's --mpd option to write out images
Review URL: https://codereview.chromium.org/811863002
2014-12-16 09:31:42 -08:00
fs
88640cf363 SkMatrix44(const SkMatrix&) needs to initialize the type mask
Review URL: https://codereview.chromium.org/791723006
2014-12-16 08:36:11 -08:00
robertphillips
478dd72336 Fix layer hoisting image filter corner cases
This CL fixes 5 bugs related to hoisting image filters:

For image filters the src layer (the one prior to filtering) often needs to be
smaller then the final layer. This requires the saveLayer's optional bounds
to be stored (in SkLayerInfo.h and SkRecordDraw.cpp) and then used in
compute_source_rect and carried around in GrCachedLayer.

The image filters can add an extra offset to the final draw operation.
This is now computed in GrLayerHoister::FilterLayer and  carried around in
GrCachedLayer.

Filtered layers must use exact matches. This is now done in GrLayerCache::lock.

The filter cache requires a valid matrix so it can compute the correct offset.
This is now done in GrLayerHoister::FilterLayer.

Filtered layers need to be drawn with drawSprite while unfiltered (and therefore
hopefully atlased) layers can be drawn with drawBitmap. This is now done in
draw_replacement_bitmap.

Committed: https://skia.googlesource.com/skia/+/702eb9622102599d94ab6798e6227cf29f48c2d3

Review URL: https://codereview.chromium.org/803183003
2014-12-16 08:25:55 -08:00
bsalomon
29097f920a Rename GrGpuGL_program.cpp to GrGLGpuProgramCache.cpp
Review URL: https://codereview.chromium.org/807133002
2014-12-16 08:13:53 -08:00
reed
a7a8b10134 add sample for arcTo
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/808793002
2014-12-16 08:07:43 -08:00
robertphillips
86f032832f Revert of Fix layer hoisting image filter corner cases (patchset #3 id:40001 of https://codereview.chromium.org/803183003/)
Reason for revert:
Breaking DM

Original issue's description:
> Fix layer hoisting image filter corner cases
>
> This CL fixes 5 bugs related to hoisting image filters:
>
> For image filters the src layer (the one prior to filtering) often needs to be
> smaller then the final layer. This requires the saveLayer's optional bounds
> to be stored (in SkLayerInfo.h and SkRecordDraw.cpp) and then used in
> compute_source_rect and carried around in GrCachedLayer.
>
> The image filters can add an extra offset to the final draw operation.
> This is now computed in GrLayerHoister::FilterLayer and  carried around in
> GrCachedLayer.
>
> Filtered layers must use exact matches. This is now done in GrLayerCache::lock.
>
> The filter cache requires a valid matrix so it can compute the correct offset.
> This is now done in GrLayerHoister::FilterLayer.
>
> Filtered layers need to be drawn with drawSprite while unfiltered (and therefore
> hopefully atlased) layers can be drawn with drawBitmap. This is now done in
> draw_replacement_bitmap.
>
> Committed: https://skia.googlesource.com/skia/+/702eb9622102599d94ab6798e6227cf29f48c2d3

TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/790643009
2014-12-16 07:41:37 -08:00
bsalomon
861e103701 Rename GrGpuGL to GrGLGpu for consistency
Review URL: https://codereview.chromium.org/808593003
2014-12-16 07:33:50 -08:00
robertphillips
702eb96221 Fix layer hoisting image filter corner cases
This CL fixes 5 bugs related to hoisting image filters:

For image filters the src layer (the one prior to filtering) often needs to be
smaller then the final layer. This requires the saveLayer's optional bounds
to be stored (in SkLayerInfo.h and SkRecordDraw.cpp) and then used in
compute_source_rect and carried around in GrCachedLayer.

The image filters can add an extra offset to the final draw operation.
This is now computed in GrLayerHoister::FilterLayer and  carried around in
GrCachedLayer.

Filtered layers must use exact matches. This is now done in GrLayerCache::lock.

The filter cache requires a valid matrix so it can compute the correct offset.
This is now done in GrLayerHoister::FilterLayer.

Filtered layers need to be drawn with drawSprite while unfiltered (and therefore
hopefully atlased) layers can be drawn with drawBitmap. This is now done in
draw_replacement_bitmap.

Review URL: https://codereview.chromium.org/803183003
2014-12-16 07:27:30 -08:00
mtklein
9a5380dd35 Revert of Use SkPaint::getFontBounds() for text bounding boxes in pictures. (patchset #1 id:1 of https://codereview.chromium.org/805983003/)
Reason for revert:
Test-Win7-ShuttleA-HD2000-x86-Debug-GDI

Original issue's description:
> Use SkPaint::getFontBounds() for text bounding boxes in pictures.
>
> Now that SkTextBlobs have landed, this is a perf no-op, but it at least lets us eliminate a bunch of questionable hacks.
>
> CQ_EXTRA_TRYBOTS=client.skia:Test-Win7-ShuttleA-HD2000-x86-Debug-Trybot,Test-Mac10.8-MacMini4.1-GeForce320M-x86_64-Debug-Trybot
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/02d2b9831579173e783569530ab7bae08de907e9

TBR=reed@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/789793004
2014-12-16 06:31:01 -08:00
jvanverth
bdd22a35bf Revert of Change desktop and ES 3.0 to always use sized internal texture formats. (patchset #2 id:20001 of https://codereview.chromium.org/806943002/)
Reason for revert:
Failing GMs on Mac, Windows and Ubuntu12.

Original issue's description:
> Change desktop and ES 3.0 to always use sized internal texture formats.
>
> Committed: https://skia.googlesource.com/skia/+/bc02bf0ee4221604796cd6d0394ca3af60c0a579

TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/805193003
2014-12-16 06:17:59 -08:00
mtklein
02d2b98315 Use SkPaint::getFontBounds() for text bounding boxes in pictures.
Now that SkTextBlobs have landed, this is a perf no-op, but it at least lets us eliminate a bunch of questionable hacks.

CQ_EXTRA_TRYBOTS=client.skia:Test-Win7-ShuttleA-HD2000-x86-Debug-Trybot,Test-Mac10.8-MacMini4.1-GeForce320M-x86_64-Debug-Trybot

BUG=skia:

Review URL: https://codereview.chromium.org/805983003
2014-12-16 06:17:54 -08:00
jvanverth
bc02bf0ee4 Change desktop and ES 3.0 to always use sized internal texture formats.
Review URL: https://codereview.chromium.org/806943002
2014-12-16 05:45:49 -08:00
joshualitt
af7aac81b4 rebase gms and update ignore
NOTRY=True
TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/811433004
2014-12-15 17:42:43 -08:00
joshualitt
a047f12bd7 whitespace change to context to force rebuild of skia
NOTREECHECKS=True
NOTRY=True
TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/807663002
2014-12-15 14:55:30 -08:00
joshualitt
9b98932ada This change will ultimately pull uniform color, and to a much lesser degree uniform coverage, into GPs. There are still some loose ends because drawstate has the ability to override the GP, but fixing these cleanly will have to wait until we have deferred geometry in place and can make attribute / uniform decisions on the fly.
BUG=skia:

Review URL: https://codereview.chromium.org/746423007
2014-12-15 14:16:27 -08:00
bsalomon
bc3d0de755 Move all non-program cache functions out of GrGpuGL_program.cpp
Review URL: https://codereview.chromium.org/794343006
2014-12-15 13:45:04 -08:00
reed
0393912de7 pass dst-rect through from drawBitmapRect for better precision
BUG=skia:

Review URL: https://codereview.chromium.org/797963002
2014-12-15 13:42:51 -08:00
mtklein
0faaac6418 Look at DYNAMIC_ANNOTATIONS_ENABLED now.
Defining SK_DYNAMIC_ANNOTATIONS_ENABLED as 1 whenever DYNAMIC_ANNOTATIONS_ENABLED was 1
seems to be working fine for Chrome.  Should be we can just use DYNAMIC_ANNOTATIONS_ENABLED.

BUG=skia:

Review URL: https://codereview.chromium.org/810513002
2014-12-15 13:38:07 -08:00
reed
8893e5f030 add paint::getFontBounds()
BUG=skia:

Review URL: https://codereview.chromium.org/804903006
2014-12-15 13:27:26 -08:00
scroggo
caaf8e611d Add missed convexpaths.
TBR=reed
NOTRY=True
NOTREECHECKS=True
BUG=skia:3241

Review URL: https://codereview.chromium.org/805043005
2014-12-15 13:25:49 -08:00
mtklein
f9c9d72e57 Delete old bench expectation code.
Just noticed these were still here.

BUG=skia:

Review URL: https://codereview.chromium.org/801373003
2014-12-15 13:17:01 -08:00
bsalomon
830d20680b devirtualize some functions on GrGpu
Review URL: https://codereview.chromium.org/811483003
2014-12-15 13:12:08 -08:00
mtklein
2bb034a7b5 Rolling libwebp broke our iOS builds. Silence warnings instead.
BUG=skia:

Review URL: https://codereview.chromium.org/803213002
2014-12-15 12:59:07 -08:00
scroggo
f9d610179d There can be only one (SkRandom)!
Remove SkLCGRandom. We already decided the new one was better, which is
why we wrote the new SkRandom.

Convert GMs that were using SkLCGRandom to use the improved SkRandom.
Motivated by the fact that these GMs draw differently on some runs. We
believe this to be a result of using the old SkLCGRandom.

Add each of the tests that were using SkLCGRandom to ignore-tests.txt,
since we expect they'll draw differently using SkRandom.

Move a trimmed down version of SkLCGRandom into SkDiscretePathEffect.
In order to preserve the old behavior, trim down SkLCGRandom to only
the methods used by SkDiscretePathEffect, and hide it in
SkDiscretePathEffect's cpp file.

BUG=skia:3241

Review URL: https://codereview.chromium.org/805963002
2014-12-15 12:54:51 -08:00
mtklein
9a0d6d6c88 skimage, die die die
DM's running with --images on all the bots now.  They look happy.

BUG=skia:3235

Review URL: https://codereview.chromium.org/804133003
2014-12-15 12:47:52 -08:00
egdaniel
54160f3286 Add xp optimization for RGB coverage.
This is needed since clearColorStages is being changed to ignore color input. For RGB coverage,
we want to clear all the color stages (since we know the final output color), but we don't want
to ignore the color input since it is needed.

In future we will change this so the XP stores the color internally and thus can tell the GP to
simiply ignore color.

BUG=skia:

Review URL: https://codereview.chromium.org/791933006
2014-12-15 12:38:53 -08:00
reed
5bcbe91304 Fix rrects that are large enough that we lose/gain a bit when we add the radius to a bounds coordinate.
add test that triggers assert in addRRect

BUG=skia:3239

Review URL: https://codereview.chromium.org/803153003
2014-12-15 12:28:33 -08:00
mtklein
c97570cfb3 Silence warnings from libnanomsg on Mac like we do on Linux.
This will silence these warnings:

../../third_party/externals/nanomsg/src/core/global.c:162:34: warning: missing field 'unused' initializer [-Wmissing-field-initializers]
static struct nn_global self = {0};

../../third_party/externals/nanomsg/src/utils/clock.c:44:61: warning: missing field 'denom' initializer [-Wmissing-field-initializers]
static mach_timebase_info_data_t nn_clock_timebase_info = {0};

BUG=skia:

Review URL: https://codereview.chromium.org/803113003
2014-12-15 12:24:47 -08:00
mtklein
449998d3f0 Revert of Roll libwebp to v0.4.2 (latest stable) to fix annoying build warning. (patchset #1 id:1 of https://codereview.chromium.org/807553002/)
Reason for revert:
uses __builtins not available on all our compilers

Original issue's description:
> Roll libwebp to v0.4.2 (latest stable) to fix annoying build warning.
>
> This warning should now go away:
>
> ../../third_party/externals/libwebp/src/enc/quant.c:105:23: warning: unused variable 'kCoeffThresh' [-Wunused-const-variable]
> static const uint16_t kCoeffThresh[16] = {
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e655557a551c545f4153b0764269298cd01cd0c0

TBR=caryclark@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/795823005
2014-12-15 12:23:00 -08:00
mtklein
e655557a55 Roll libwebp to v0.4.2 (latest stable) to fix annoying build warning.
This warning should now go away:

../../third_party/externals/libwebp/src/enc/quant.c:105:23: warning: unused variable 'kCoeffThresh' [-Wunused-const-variable]
static const uint16_t kCoeffThresh[16] = {

BUG=skia:

Review URL: https://codereview.chromium.org/807553002
2014-12-15 12:11:49 -08:00
ehsan.akhgari
6f90475632 Rewrite NaN checks in terms of SkScalarIsNaN()
We are trying to replace Skia's NaN checker with our own in Mozilla,
so it would be nice to have to patch a single place by making sure
these NaN checks used SkScalarIsNaN().

BUG=skia:

Review URL: https://codereview.chromium.org/809443002
2014-12-15 12:08:47 -08:00
junov
3fcc125c77 Remove SkCanvas::isDrawingToLayer
BUG=3245

Review URL: https://codereview.chromium.org/803913005
2014-12-15 11:34:06 -08:00
skia.buildbots
41c9cbe0ce Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/803183002
2014-12-15 11:09:05 -08:00
Brian Salomon
e23f20e320 final circles?
Review URL: https://codereview.chromium.org/796333005
2014-12-15 13:50:26 -05:00
mtklein
f19ec511b1 WAE on Macs too. That leaves only Android framework builds.
Will rebase after yours lands.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/161b6dee11a67e877ef5b339b17775b8e44c5927

Review URL: https://codereview.chromium.org/804063002
2014-12-15 10:38:42 -08:00
mtklein
616e45194e Revert of WAE on Macs too. That leaves only Android framework builds. (patchset #3 id:40001 of https://codereview.chromium.org/804063002/)
Reason for revert:
Forgot CrOS and NaCl builds.

Original issue's description:
> WAE on Macs too.  That leaves only Android framework builds.
>
> Will rebase after yours lands.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/161b6dee11a67e877ef5b339b17775b8e44c5927

TBR=bsalomon@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/805043002
2014-12-15 09:49:12 -08:00
mtklein
161b6dee11 WAE on Macs too. That leaves only Android framework builds.
Will rebase after yours lands.

BUG=skia:

Review URL: https://codereview.chromium.org/804063002
2014-12-15 09:45:00 -08:00
Brian Salomon
8fb09548ec circles circles circles
TBR=bensong@google.com

Review URL: https://codereview.chromium.org/805793003
2014-12-15 12:14:59 -05:00
bsalomon
0aa5cea869 fix last warnings on w64 and turn on w.a.e.
Review URL: https://codereview.chromium.org/801413002
2014-12-15 09:13:35 -08:00
mtklein
e8307dc0d0 Add SK_OVERRIDE to a few places that are missing it.
This was done automatically by running clang-modernize -add-override -override-macros.

It's not clear to me whether include/ is already clean or I just can't get the tool to work for headers.

BUG=skia:

Review URL: https://codereview.chromium.org/808463002
2014-12-15 09:08:33 -08:00
scroggo
1d09ee7c04 Add more filetypes to DM's image tests.
ico, wbmp, plus the alternate suffix jpeg.

Also check for capitalized versions, since files sometimes use
capitalized suffixes.

BUG=skia:3235

Review URL: https://codereview.chromium.org/798383003
2014-12-15 08:53:35 -08:00
Brian Salomon
eef87de21b More circle rebaselines on gpu
TBR=bensong@google.com

Review URL: https://codereview.chromium.org/803123002
2014-12-15 11:44:14 -05:00
Brian Salomon
bd163707a0 Rebaseline after circle normalization change.
TBR=bensong@google.com

Review URL: https://codereview.chromium.org/806893002
2014-12-15 11:34:37 -05:00
reed
e05fed0d63 add dumpHex option to rect and rrect, to match path
BUG=skia:

Review URL: https://codereview.chromium.org/801383002
2014-12-15 07:59:53 -08:00
bsalomon
ce1c8869cf Do circle anti-aliasing in normalized space to avoid precision issues with half-floats on Adreno.
Review URL: https://codereview.chromium.org/761593006
2014-12-15 07:11:22 -08:00
reed
7534cf1703 ensure 4-byte alignment for storage, as SkWriterBuffer requires it
BUG=skia:3244

Review URL: https://codereview.chromium.org/805803002
2014-12-15 06:41:02 -08:00
tfarina
912ed6ebb8 Cleanup: Mark some overridden methods with 'SK_OVERRIDE'.
This fixes errors like this:

../../include/gpu/effects/GrPorterDuffXferProcessor.h:27:25: error:
'name' overrides a member function but is not marked 'override'
[-Werror,-Winconsistent-missing-override]

BUG=skia:3075
TEST=ninja -C out/Debug skia_lib
TBR=bsalomon@google.com

Review URL: https://codereview.chromium.org/804813002
2014-12-14 15:20:11 -08:00
reed
451e822705 add get9 and set9 to matrix, to aid in making keys
BUG=skia:
TBR=
NOTREECHECKS=True

Review URL: https://codereview.chromium.org/806543002
2014-12-13 08:46:49 -08:00