reed
8b5752443f
add arcto patheffect
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/813513003
2014-12-17 01:47:32 -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
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
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
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
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
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
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
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
bsalomon
ef3fcd877a
More win64 warning fixes
...
Review URL: https://codereview.chromium.org/798723002
2014-12-12 08:51:39 -08:00
mtklein
f0f1411343
Cull pushCull and popCull from Skia.
...
These calls are unused and going away. Waiting on crrev.com/796083002.
BUG=skia:
Review URL: https://codereview.chromium.org/794263002
2014-12-12 08:46:25 -08:00
joshualitt
56995b5cc0
Remove GP from drawstate, revision of invariant output for GP
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/c6bc58eded89b0c0a36b8e20e193c200f297a0da
Review URL: https://codereview.chromium.org/791743003
2014-12-11 15:44:02 -08:00
junov
5756aff409
Adding a custom data field to GrGpuResource
...
Motivation: allow Blink to track pre-existing mailbox names for
textures that are recycled by the ganesh scratch texture pool.
BUG=440462
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/796163002
2014-12-11 14:59:32 -08:00
egdaniel
c230414861
Create xfer processor backend.
...
This includes:
-Having an actual XP stage at the end of the gl pipeline.
-All Blending work is handled by XP until actually setting GL blend states
-GLPrograms test to test XP
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/4dffc940c430eec66d4707490eace19c9b3f7904
Review URL: https://codereview.chromium.org/764643004
2014-12-11 13:15:14 -08:00
mtklein
1a4900e8be
Force embedding full font when serializing pictures.
...
We can't do this unconditionally or pipe will become stupidly slow.
DM's serialize mode fails subtly on Mac when we force embedding, so I've
#ifdef'd that away. Other platforms look fine.
BUG=skia:
Review URL: https://codereview.chromium.org/796523002
2014-12-11 11:06:00 -08:00
scroggo
895c43b28b
Replace EncodeBitmap with an interface.
...
Gives more flexibility to the caller to decide whether to use the
encoded data returned by refEncodedData().
Provides an implementation that supports the old version of
SkPicture::serialize().
TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely
BUG=skia:3190
Review URL: https://codereview.chromium.org/784643002
2014-12-11 10:53:58 -08:00
junov
436293a330
Making GrGpuResource::release public for special case in Blink
...
BUG=440462
Review URL: https://codereview.chromium.org/739383006
2014-12-11 10:32:32 -08:00
reed
2ff1fcede1
Defer saves() until they're needed
...
patch from issue 759443006 at patchset 40001 (http://crrev.com/759443006#ps40001 )
BUG=skia:
Review URL: https://codereview.chromium.org/767333002
2014-12-11 07:07:38 -08:00
joshualitt
294738268d
Revert of Create xfer processor backend. (patchset #6 id:100001 of https://codereview.chromium.org/764643004/ )
...
Reason for revert:
CL breaks windows DM
Original issue's description:
> Create xfer processor backend.
>
> This includes:
> -Having an actual XP stage at the end of the gl pipeline.
> -All Blending work is handled by XP until actually setting GL blend states
> -GLPrograms test to test XP
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4dffc940c430eec66d4707490eace19c9b3f7904
TBR=bsalomon@google.com ,joshualitt@chromium.org,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/789343002
2014-12-10 15:03:01 -08:00
joshualitt
06f019fc0f
Revert of Fix to set correct output type when blending when we've read dst (patchset #4 id:60001 of https://codereview.chromium.org/791143002/ )
...
Reason for revert:
Breaks DM on windows
Original issue's description:
> Fix to set correct output type when blending when we've read dst
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/733fc2054044377e914559fa4f46db66ab7d9cea
TBR=bsalomon@google.com ,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/795783002
2014-12-10 14:57:50 -08:00
joshualitt
8c0f615fdd
Revert of Remove GP from drawstate, revision of invariant output for GP (patchset #9 id:160001 of https://codereview.chromium.org/791743003/ )
...
Reason for revert:
breaks mac
Original issue's description:
> Remove GP from drawstate, revision of invariant output for GP
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c6bc58eded89b0c0a36b8e20e193c200f297a0da
TBR=bsalomon@google.com ,egdaniel@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/794843002
2014-12-10 14:12:22 -08:00
joshualitt
c6bc58eded
Remove GP from drawstate, revision of invariant output for GP
...
BUG=skia:
Review URL: https://codereview.chromium.org/791743003
2014-12-10 13:48:57 -08:00
egdaniel
733fc20540
Fix to set correct output type when blending when we've read dst
...
BUG=skia:
Review URL: https://codereview.chromium.org/791143002
2014-12-10 12:45:20 -08:00
mtklein
59f939eda6
Include SkTypes.h from SkDynamicAnnotations.h
...
This allows us to control SK_DYNAMIC_ANNOTATIONS_ENABLED by Sk*Config.h files.
This is a no-op today, because we control it from the compiler command line.
BUG=430815
Review URL: https://codereview.chromium.org/787003003
2014-12-10 10:49:42 -08:00
reed
96472deea7
dd readPixels to SkImage
...
patch from issue 789673007 at patchset 1 (http://crrev.com/789673007#ps1 )
BUG=skia:
Review URL: https://codereview.chromium.org/793723002
2014-12-10 09:53:42 -08:00
Florin Malita
c54d8db4d1
Remove SkCanvas::drawBitmapMatrix()
...
R=mtklein@google.com , reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/789033002
2014-12-10 12:02:16 -05:00
egdaniel
4dffc940c4
Create xfer processor backend.
...
This includes:
-Having an actual XP stage at the end of the gl pipeline.
-All Blending work is handled by XP until actually setting GL blend states
-GLPrograms test to test XP
BUG=skia:
Review URL: https://codereview.chromium.org/764643004
2014-12-10 07:43:50 -08:00
reed
3054be16df
Remove canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
...
patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001 )
BUG=skia:
TBR=
re-landing after chrome fixes have landed
Review URL: https://codereview.chromium.org/784223007
2014-12-10 07:24:28 -08:00
reed
7543aa2b36
add readPixels to SkSurface (later try to remove it from SkCanvas)
...
BUG=skia:
TBR=bsalomon, robertphilips
Review URL: https://codereview.chromium.org/789993002
2014-12-09 14:39:44 -08:00
reed
a8918a0650
Revert of remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul (patchset #3 id:40001 of https://codereview.chromium.org/790733003/ )
...
Reason for revert:
need to update chrome first
Original issue's description:
> remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
>
> patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001 )
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/2c1605a1fbaa2e35a27399a34254fb1200ec2ae6
TBR=fmalita@google.com ,fmalita@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/791763002
2014-12-09 13:55:20 -08:00
joshualitt
2e3b3e369d
This cl moves color and coverage off of drawstate. In an effort to keep this CL manageable, I have left the compute invariant input / output in a bit of a strange state(fixing this will be complicated).
...
In addition, NVPR makes this very complicated, and I haven't quite figured out a good way to handle it, so for now color and coverage DO live on optstate, but I will figure out some way to refactor that in future CLs.
BUG=skia:
Review URL: https://codereview.chromium.org/783763002
2014-12-09 13:31:15 -08:00
junov
f3c78ccf56
Adding an option for pixelated rendering in SkPictureImageFilter
...
BUG=skia:3209
Review URL: https://codereview.chromium.org/787073003
2014-12-09 13:07:22 -08:00
reed
2c1605a1fb
remove (dumb) canvas::NewRaster, and rename surface::NewRasterPMColor to N32Premul
...
patch from issue 781403002 at patchset 20001 (http://crrev.com/781403002#ps20001 )
BUG=skia:
Review URL: https://codereview.chromium.org/790733003
2014-12-09 12:33:38 -08:00
reed
a8b326c01a
change SkPoint::setLength to set itself to (0,0) if it starting length is degenerate.
...
BUG=skia:3203
TBR=caryclark
Review URL: https://codereview.chromium.org/785933003
2014-12-09 11:50:33 -08:00
egdaniel
9513143efa
Make all blending up to GrOptDrawState be handled by the xp/xp factory.
...
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4
Review URL: https://codereview.chromium.org/759713002
2014-12-09 11:15:44 -08:00
bsalomon
9f876a37d8
Use threshold of 1 texture coord value per pixel w/ nearest neighbor.
...
Review URL: https://codereview.chromium.org/787873002
2014-12-09 10:51:07 -08:00
egdaniel
309e346744
Rename CustomCoordTextureEffect to GrBitmapTextGeoProc.
...
Also add in explicit set for LCD text in invariantOutput.
BUG=skia:
Review URL: https://codereview.chromium.org/786293002
2014-12-09 10:35:58 -08:00
bsalomon
422f56f6e5
Make addUniform take a precision
...
Review URL: https://codereview.chromium.org/788733003
2014-12-09 10:18:12 -08:00
bsalomon
c0bd6484f6
Move shader precision out of GrShaderVar
...
Review URL: https://codereview.chromium.org/777443003
2014-12-09 10:04:14 -08:00
bsalomon
17168df779
Use texture size to determine precision of texture coord varyings.
...
Review URL: https://codereview.chromium.org/778783002
2014-12-09 09:00:49 -08:00
scroggo
3030445799
Revert of Replace EncodeBitmap with an interface. (patchset #12 id:210001 of https://codereview.chromium.org/784643002/ )
...
Reason for revert:
Failing serialization tasks in DM:
http://build.chromium.org/p/client.skia/builders/Test-Win8-ShuttleA-GTX660-x86-Debug/builds/352/steps/dm/logs/stdio
Original issue's description:
> Replace EncodeBitmap with an interface.
>
> Gives more flexibility to the caller to decide whether to use the
> encoded data returned by refEncodedData().
>
> Provides an implementation that supports the old version of
> SkPicture::serialize().
>
> TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely
>
> BUG=skia:3190
>
> Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1
>
> Committed: https://skia.googlesource.com/skia/+/02b217f80b01a7dda8493422e5257c36a9ce8464
TBR=reed@google.com ,rmistry@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:3190
Review URL: https://codereview.chromium.org/783393004
2014-12-09 08:27:37 -08:00
scroggo
02b217f80b
Replace EncodeBitmap with an interface.
...
Gives more flexibility to the caller to decide whether to use the
encoded data returned by refEncodedData().
Provides an implementation that supports the old version of
SkPicture::serialize().
TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely
BUG=skia:3190
Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1
Review URL: https://codereview.chromium.org/784643002
2014-12-09 07:44:36 -08:00
robertphillips
c0708cb7bc
Revert of Replace EncodeBitmap with an interface. (patchset #11 id:190001 of https://codereview.chromium.org/784643002/ )
...
Reason for revert:
Compilation is failing on some bots
Original issue's description:
> Replace EncodeBitmap with an interface.
>
> Gives more flexibility to the caller to decide whether to use the
> encoded data returned by refEncodedData().
>
> Provides an implementation that supports the old version of
> SkPicture::serialize().
>
> TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely
>
> BUG=skia:3190
>
> Committed: https://skia.googlesource.com/skia/+/0c4aba6edb9900c597359dfa49d3ce4a41bc5dd1
TBR=reed@google.com ,scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:3190
Review URL: https://codereview.chromium.org/787833002
2014-12-09 05:35:07 -08:00
scroggo
0c4aba6edb
Replace EncodeBitmap with an interface.
...
Gives more flexibility to the caller to decide whether to use the
encoded data returned by refEncodedData().
Provides an implementation that supports the old version of
SkPicture::serialize().
TODO: Update Chrome, so we can remove SK_LEGACY_ENCODE_BITMAP entirely
BUG=skia:3190
Review URL: https://codereview.chromium.org/784643002
2014-12-09 05:23:12 -08:00
egdaniel
8d95ffa497
Revert of Make all blending up to GrOptDrawState be handled by the xp/xp factory. (patchset #7 id:140001 of https://codereview.chromium.org/759713002/ )
...
Reason for revert:
break many gm's
Original issue's description:
> Make all blending up to GrOptDrawState be handled by the xp/xp factory.
>
> In this cl the blending information is extracted for the xp and stored in the ODS
> which is then used as it currently is. In the follow up cl, an XP backend will be added
> and at that point all blending work will take place inside XP's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7c66342a399b529634bed0fabfaa562db2c0dbd4
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/766653008
2014-12-08 13:26:43 -08:00
egdaniel
4ccf0b9405
Fix GrUnPreMulColor.
...
Current version incorrectly unpacked the resulting sk unpremulled color into rgba.
BUG=skia:3208
Review URL: https://codereview.chromium.org/787713002
2014-12-08 12:35:16 -08:00
egdaniel
7c66342a39
Make all blending up to GrOptDrawState be handled by the xp/xp factory.
...
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.
BUG=skia:
Review URL: https://codereview.chromium.org/759713002
2014-12-08 11:20:40 -08:00
fmalita
2be0fd8dcb
Constify CreatePictureShader's picture arg.
...
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/768113004
2014-12-08 09:04:05 -08:00
reed
08c357c914
remove device::clear -- no longer called
...
BUG=skia:
Review URL: https://codereview.chromium.org/778373003
2014-12-08 08:00:29 -08:00
reed
b9bb38cd18
make SkColorShader private, use public factory
...
BUG=skia:
Need https://codereview.chromium.org/785823002/ to land first
Review URL: https://codereview.chromium.org/788533002
2014-12-08 06:06:36 -08:00
reed
f4e0d9eb2d
clear() is now an alias for drawPaint, so remove its virtual
...
Needs these to land first:
https://codereview.chromium.org/733343005
https://codereview.chromium.org/777413004
BUG=skia:
Review URL: https://codereview.chromium.org/780393002
2014-12-05 20:49:03 -08:00
jvanverth
28f9c606e4
Add support for half float alpha textures.
...
This allows us to create distance field textures with better precision,
which may help text quality.
BUG=skia:3103
Review URL: https://codereview.chromium.org/762923003
2014-12-05 13:06:35 -08:00
egdaniel
915187b71d
Check XpFactory equality in DrawState
...
BUG=skia:
Review URL: https://codereview.chromium.org/767873006
2014-12-05 12:58:28 -08:00
egdaniel
8bf2bd335f
Move GrPorterDuffXferProcessor to include/gpu/effects.
...
BUG=skia:
Review URL: https://codereview.chromium.org/780263003
2014-12-05 12:14:27 -08:00
bsalomon
c92aadcf9a
clean up default precision handling
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/766753006
2014-12-04 13:02:47 -08:00
joshualitt
eb2a676165
Remove backend factories
...
BUG=skia:
Review URL: https://codereview.chromium.org/778453002
2014-12-04 11:35:34 -08:00
joshualitt
87f48d997e
create and thread batch tracker object
...
I remove the factory on the next CL
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294
Review URL: https://codereview.chromium.org/772513002
2014-12-04 10:41:40 -08:00
reed
8eddfb50c0
Change clear() to respect the clip
...
This reverts commit af641a1c10
.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/783493002
2014-12-04 07:50:14 -08:00
joshualitt
841a6b54c1
Revert of create and thread batch tracker object (patchset #9 id:160001 of https://codereview.chromium.org/772513002/ )
...
Reason for revert:
Breaking linux layout test
Original issue's description:
> create and thread batch tracker object
>
> I remove the factory on the next CL
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294
TBR=bsalomon@google.com ,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/774133003
2014-12-04 06:00:41 -08:00
reed
b8eb85cd2f
make clear private (before we delete it)
...
BUG=skia:
Review URL: https://codereview.chromium.org/781593002
2014-12-04 03:48:34 -08:00
joshualitt
c3a6eb2348
create and thread batch tracker object
...
I remove the factory on the next CL
BUG=skia:
Review URL: https://codereview.chromium.org/772513002
2014-12-03 15:34:20 -08:00
reed
e5750729e4
Revert of Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/777003002/ )
...
Reason for revert:
fix landed in chrome to allow this (I hope)
Original issue's description:
> Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/765643004/ )
>
> Reason for revert:
> ../../skia/ext/bitmap_platform_device_cairo.cc:131:13: error: no member named 'eraseColor' in 'skia::BitmapPlatformDevice'
>
>
> Original issue's description:
> > remove unused device::eraseColor
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/b1ab276c3719d6690e58f347c25126d2b8929c5d
>
> TBR=reed@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8b0197ef2e32be9d62e79d58f8b50811975c79c6
TBR=halcanary@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/779543004
2014-12-03 13:17:29 -08:00
tfarina
9ed02e40d1
Add SK_SUPPORT_LEGACY_PORTER_DUFF macro.
...
This trick will be used to remove deprecated SkPorterDuff API. But first
we need to add it so Android can be updated later.
BUG=skia:3178
R=scroggo@google.com
Review URL: https://codereview.chromium.org/758133004
2014-12-03 13:13:02 -08:00
egdaniel
c016fb8f9f
Use static XPF for porter duff xp factories.
...
BUG=skia:
Review URL: https://codereview.chromium.org/776843004
2014-12-03 11:41:55 -08:00
bsalomon
ee64d6ef49
Add glGetShaderPrecisionFormat
...
Review URL: https://codereview.chromium.org/778703003
2014-12-03 10:46:08 -08:00
halcanary
8b0197ef2e
Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/765643004/ )
...
Reason for revert:
../../skia/ext/bitmap_platform_device_cairo.cc:131:13: error: no member named 'eraseColor' in 'skia::BitmapPlatformDevice'
Original issue's description:
> remove unused device::eraseColor
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/b1ab276c3719d6690e58f347c25126d2b8929c5d
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/777003002
2014-12-03 10:41:11 -08:00
egdaniel
378092f3d1
Add XferProcessor factory in GrPaint and GrDrawState.
...
In this CL the XP should have zero effect on the actual rendering pipeline.
BUG=skia:
Review URL: https://codereview.chromium.org/751283002
2014-12-03 10:40:13 -08:00
reed
b1ab276c37
remove unused device::eraseColor
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/765643004
2014-12-03 09:47:48 -08:00
joshualitt
2dd1ae016d
First step to moving vertex attributes to the geometryProcessor
...
BUG=skia:
Review URL: https://codereview.chromium.org/761563002
2014-12-03 06:24:10 -08:00
reed
af641a1c10
Revert "Change clear() to respect the clip"
...
This reverts commit 3729469d6a
.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/778563002
2014-12-02 19:40:18 -08:00
abarth
9503ac7a3c
Add matrix operations to C canvas API
...
R=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/769123002
2014-12-02 15:47:34 -08:00
mtklein
701dd4fbd7
Flail a little against LLVM crash.
...
Cannot reproduce this in my local Chromium checkout (using their Clang, just like the bots).
BUG=skia:
TBR=reed@google.com
Review URL: https://codereview.chromium.org/764433003
2014-12-02 13:17:06 -08:00
scroggo
ca0e67261e
Remove SK_SUPPORT_DEPRECATED_SCALARROUND.
...
Our clients no longer require it.
Review URL: https://codereview.chromium.org/772933002
2014-12-02 12:30:38 -08:00
Justin Novosad
5234075b1c
Adding a PictureResolution option to SkPictureImageFilter
...
This change adds an option to SkPictureImageFilter to make it
rasterize SkPicture in a resolution that matches the local coordinate
space (equivalent to the record-time device space).
BUG=skia:3176
R=reed@google.com , senorblanco@chromium.org
Review URL: https://codereview.chromium.org/753073010
2014-12-02 14:50:56 -05:00
reed
3729469d6a
Change clear() to respect the clip
...
patch from issue 769703002 at patchset 1 (http://crrev.com/769703002#ps1 )
BUG=skia:
Review URL: https://codereview.chromium.org/772533004
2014-12-02 10:08:11 -08:00
mtklein
cc969c4dd9
Make SkColorTable explicitly thread-safe.
...
Mostly this means using SkLazyPtr for the 16-bit cache.
We can remove the copy constructor now and just ref it instead.
BUG=skia:
Review URL: https://codereview.chromium.org/769323002
2014-12-02 10:02:47 -08:00
mtklein
775b8199a2
SkColorTable locking serves no purpose anymore.
...
The only thing the unlock methods were doing was assert their balance.
This removes the unlock methods and renames the lock methods "read".
BUG=skia:
Review URL: https://codereview.chromium.org/719213008
2014-12-02 09:11:25 -08:00
abarth
2fc6ea62ce
Add scale and skew to C canvas API
...
R=reed@chromium.org
BUG=skia:
Review URL: https://codereview.chromium.org/762493005
2014-12-01 14:04:03 -08:00
mtklein
05d611574a
SkDrawLooper: No need for virtual bounds computation methods.
...
No subclass overrides either method.
This is just warmup. Perf is neutral. The real meat of the time spent
is inside canComputeFastBounds / computeFastBounds, not getting to them.
BUG=skia:
Review URL: https://codereview.chromium.org/772573003
2014-12-01 13:03:22 -08:00
egdaniel
4bd4e8031d
Add function to return an unpremuled version of a GrColor
...
BUG=skia:
Review URL: https://codereview.chromium.org/773553002
2014-12-01 12:30:51 -08:00
mtklein
3f3b3d0035
Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
...
This was needed for pictures before v33, and we're now requiring v35+.
Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88
Review URL: https://codereview.chromium.org/769953002
2014-12-01 11:47:08 -08:00
scroggo
ca92fbd029
Remove orphaned SkImageDecoder::Target.
...
This was used by an experimental method on SkImageDecoder, which no
longer exists.
Review URL: https://codereview.chromium.org/760923003
2014-12-01 11:35:19 -08:00
mtklein
af57903f33
Force SkMatrix type while recording too.
...
This switches to a new way of doing this, enforcing the caching with the type
recorded rather than having to do it in SkRecorder. Should be more foolproof.
Updated SkPath and SkBitmap's equivalents too. ImmutableBitmap was close,
but using inheritance now makes the rest of the code less weird.
BUG=437511
I'm not sure whether or not this will _fix_ the SkMatrix aspect of that bug.
There may be other SkMatrices that we're racing on. It does cover the obvious
ones, though, and removing the SkTRacy<> wrapper will allow TSAN to show
us any other races.
It turned out to be easier to turn missing optional matrices into I early rather
than late. I figure this should be harmless. Recording and playback perf both
look neutral.
Review URL: https://codereview.chromium.org/773433003
2014-12-01 11:03:37 -08:00
mtklein
6e78293ee8
Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/ )
...
Reason for revert:
Breaks canary builds. Will reland after the Chromium change lands.
Original issue's description:
> Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
>
> This was needed for pictures before v33, and we're now requiring v35+.
>
> Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88
TBR=reed@google.com ,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/768183002
2014-12-01 10:56:05 -08:00
mtklein
52c293547b
Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
...
This was needed for pictures before v33, and we're now requiring v35+.
Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
BUG=skia:
Review URL: https://codereview.chromium.org/769953002
2014-12-01 10:23:11 -08:00
cdalton
20b373cf31
Add color emoji fallback for nvpr text
...
BUG=skia:
Review URL: https://codereview.chromium.org/759613005
2014-12-01 08:38:55 -08:00
mtklein
5c9c9be1f5
Force path bounds in recording.
...
The use of SKTRacy isn't safe in SkPathRef.
There are logical dependencies between the racy fields.
Doesn't seem to affect recording performance:
$ c --match skp --config nonrendering
tabl_techmeme.skp 81.1us -> 86us 1.06x
desk_mapsvg.skp 1.23ms -> 1.26ms 1.02x
desk_yahooanswers.skp 114us -> 117us 1.02x
tabl_sahadan.skp 70.9us -> 72us 1.02x
desk_fontwipe.skp 31.6us -> 32us 1.01x
tabl_cuteoverload.skp 414us -> 419us 1.01x
desk_mobilenews.skp 503us -> 508us 1.01x
desk_tigersvg.skp 150us -> 152us 1.01x
desk_samoasvg.skp 608us -> 610us 1x
tabl_digg.skp 636us -> 638us 1x
tabl_pravda.skp 155us -> 156us 1x
desk_jsfiddlehumperclip.skp 33.9us -> 33.9us 1x
tabl_culturalsolutions.skp 295us -> 295us 1x
desk_youtube.skp 447us -> 448us 1x
desk_gws.skp 144us -> 144us 1x
tabl_frantzen.skp 42us -> 42us 1x
tabl_gspro.skp 50.1us -> 50us 1x
tabl_googlecalendar.skp 165us -> 165us 1x
desk_twitter.skp 359us -> 358us 1x
desk_wordpress.skp 588us -> 583us 0.99x
desk_jsfiddlebigcar.skp 32.8us -> 32.5us 0.99x
desk_booking.skp 838us -> 827us 0.99x
tabl_androidpolice.skp 1.42ms -> 1.4ms 0.99x
desk_blogger.skp 378us -> 372us 0.98x
desk_wowwiki.skp 1.11ms -> 1.09ms 0.98x
tabl_cnet.skp 115us -> 112us 0.97x
desk_silkfinance.skp 57.7us -> 55.9us 0.97x
tabl_cnn.skp 136us -> 131us 0.97x
desk_sfgate.skp 396us -> 377us 0.95x
tabl_deviantart.skp 107us -> 102us 0.95x
tabl_mozilla.skp 1.4ms -> 1.32ms 0.94x
BUG=437511
Review URL: https://codereview.chromium.org/762313002
2014-12-01 06:59:55 -08:00
mtklein
88fd0fbccc
Bump min picture version.
...
Chrome Stable is M39, which produces picture format v35:
https://chromium.googlesource.com/skia/+/chrome/m39/include/core/SkPicture.h
We don't need any code to deal with pictures older than v35.
(When M40 goes stable, we can step up to v37, the current latest version.)
BUG=skia:
Review URL: https://codereview.chromium.org/770703002
2014-12-01 06:56:38 -08:00
jvanverth
5eefe42e72
Fix assert in GrMaskFormatBytesPerPixel.
...
BUG=skia:3174
Review URL: https://codereview.chromium.org/762553006
2014-11-26 12:07:33 -08:00
joshualitt
267ce482b5
remove proc key
...
BUG=skia:
Review URL: https://codereview.chromium.org/755363002
2014-11-25 14:52:21 -08:00
scroggo
f3ca41c723
Add an Android-framework-only stable ID to SkPixelRef.
...
BUG:b/18245805
Review URL: https://codereview.chromium.org/752203002
2014-11-25 13:42:12 -08:00
bsalomon
a2c2323005
Remove GrSurface::isSameAs
...
Review URL: https://codereview.chromium.org/753783003
2014-11-25 07:41:12 -08:00
mtklein
21180e2651
Revert of Blink hasn't rolled yet, better. (patchset #1 id:1 of https://codereview.chromium.org/758693002/ )
...
Reason for revert:
Try again, for real.
Original issue's description:
> Blink hasn't rolled yet, better.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/89ff0846fd9dacf5f081373746624d450a5f8c26
TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/754303004
2014-11-25 07:30:19 -08:00
bsalomon
10e23caea3
Use scratch keys for stencil buffers.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/91175f19664a62851da4ca4e0984a7c7c45b258f
Review URL: https://codereview.chromium.org/747043004
2014-11-25 05:52:06 -08:00
reed
26a6bf6a26
free up picturerecorder refs after returning picture or drawable
...
this just accelerates what would happen on the next beginRecording() call or the destructor. chrome has unittests that break (shaders on the stack) if we hold on to the internals past endRecording().
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/758813002
2014-11-24 19:59:23 -08:00
reed
afa278e250
more c
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/736133006
2014-11-24 19:11:48 -08:00
reed
1bdfd3f4f0
option to return drawable from recording
...
patch from issue 747033005 at patchset 80001 (http://crrev.com/747033005#ps80001 )
BUG=skia:
Review URL: https://codereview.chromium.org/732653004
2014-11-24 14:41:51 -08:00
Mike Klein
89ff0846fd
Blink hasn't rolled yet, better.
...
BUG=skia:
Review URL: https://codereview.chromium.org/758693002
2014-11-24 17:31:54 -05:00
mtklein
a2a5cd4405
Revert of Blink hasn't rolled yet. (patchset #1 id:1 of https://codereview.chromium.org/754133002/ )
...
Reason for revert:
Not thorough enough.
Original issue's description:
> Blink hasn't rolled yet.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/fa14113d0563686af9f7e2d8e041dd7bf538cfa2
TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/752303002
2014-11-24 14:28:55 -08:00
reed
3c850c561f
restore old convention of asserting refcnt==1 in destructor
...
BUG=skia:
Review URL: https://codereview.chromium.org/757563003
2014-11-24 14:13:55 -08:00
Mike Klein
fa14113d05
Blink hasn't rolled yet.
...
BUG=skia:
Review URL: https://codereview.chromium.org/754133002
2014-11-24 16:26:15 -05:00
mtklein
bbb61d7268
make SkRefCnt::getRefCnt() debug-only, remove it from SkNVRefCnt.
...
Only (unused) API removed.
TBR=reed@google.com
BUG=skia:3160
Review URL: https://codereview.chromium.org/752263002
2014-11-24 13:09:39 -08:00
bsalomon
19cd0f1813
Revert "Use scratch keys for stencil buffers."
...
This reverts commit 91175f1966
.
Revert "Cleanup res cache bench and split out into a unit test."
This reverts commit 4e4303f002
.
Revert "rebaselines"
This reverts commit 65ba7b5775
.
TBR=tomhudson@google.com
Review URL: https://codereview.chromium.org/752233002
2014-11-24 12:19:06 -08:00
reed
90d0ff013b
add some debugging to SkNVRefCnt
...
BUG=skia:
Review URL: https://codereview.chromium.org/745383003
2014-11-24 12:02:31 -08:00
scroggo
01c412e40a
Remove android-framework-only unused parameter.
...
Allows -Werror=unused-parameter to build on android framework.
Review URL: https://codereview.chromium.org/757633002
2014-11-24 09:05:35 -08:00
mtklein
04c9695055
Remove Picture deletion listeners.
...
Looks like we can just have ~SkPicture put the message on the bus directly.
BUG=skia:3144
Review URL: https://codereview.chromium.org/751663002
2014-11-24 08:20:58 -08:00
bsalomon
91175f1966
Use scratch keys for stencil buffers.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/747043004
2014-11-24 07:05:15 -08:00
bsalomon
932f866987
Create GrOptDrawState directly in the cmd buffer in GrIODB.
...
Review URL: https://codereview.chromium.org/746243002
2014-11-24 06:47:48 -08:00
reed
735f548c51
use int instead of size_t to match skia convention
...
BUG=skia:
TBR=mtklein@google.com
Review URL: https://codereview.chromium.org/753903002
2014-11-23 18:37:14 -08:00
mtklein
19ac76753e
SkPicture::SnapshotArray doesn't really stand to benefit from refcounting.
...
BUG=skia:
Review URL: https://codereview.chromium.org/748803005
2014-11-21 12:20:35 -08:00
mtklein
1794651509
Switch SkBitmapProcState's SkFractionalInt to 32.32.
...
16 bits are not enough to hold the integral part of fx in
Clamp_S32_opaque_D32_nofilter_DX_shaderproc.
Weirdly, no GM diffs on my desktop.
BUG=skia:3096
Review URL: https://codereview.chromium.org/733163003
2014-11-21 12:10:33 -08:00
mtklein
09a22e9597
Watch out for SkFixed overflow in SkMipMap.cpp.
...
Tested with -fsanitize=signed-integer-overflow.
This new assert used to trigger in MipMap unit test.
Don't appear to be any GM diffs.
BUG=skia:
Review URL: https://codereview.chromium.org/729373004
2014-11-21 11:38:53 -08:00
mtklein
04038eba9f
public SkNVRefCnt<SnapshotArray>
...
Should fix broken build.
NOTRY=true
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/748143002
2014-11-21 11:13:15 -08:00
mtklein
b7ee349f10
SkData -> SkPicture::SnapshotArray
...
Restores type safety with all the same features.
(Also note, less code: 29 insertions, 50 deletions.)
BUG=skia:
Review URL: https://codereview.chromium.org/746553002
2014-11-21 11:06:04 -08:00
reed
4af267b119
add SkImage::newSurface
...
BUG=skia:
Review URL: https://codereview.chromium.org/741763002
2014-11-21 08:46:38 -08:00
reed
41d2c2e434
simplify uniqueID code in picture
...
patch from issue 750003002 at patchset 1 (http://crrev.com/750003002#ps1 )
BUG=skia:
Review URL: https://codereview.chromium.org/752573002
2014-11-21 08:07:41 -08:00
robertphillips
5b69377507
Add MultiPictureDraw to nanobench
...
I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium.
TBR=bsalomon@google.com
Committed: https://skia.googlesource.com/skia/+/0ddad31012dabfc1267effc8071d37f7d606efbe
Review URL: https://codereview.chromium.org/731973005
2014-11-21 06:19:36 -08:00
robertphillips
e77dadd91a
Revert of Add MultiPictureDraw to nanobench (patchset #7 id:120001 of https://codereview.chromium.org/731973005/ )
...
Reason for revert:
Needs more work
Original issue's description:
> Add MultiPictureDraw to nanobench
>
> I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium.
>
> TBR=bsalomon@google.com
>
> Committed: https://skia.googlesource.com/skia/+/0ddad31012dabfc1267effc8071d37f7d606efbe
TBR=mtklein@google.com ,bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/750583002
2014-11-21 05:50:21 -08:00
robertphillips
0ddad31012
Add MultiPictureDraw to nanobench
...
I would like some guard against performance regressions on our side before turning layer hoisting on in Chromium.
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/731973005
2014-11-21 05:35:54 -08:00
Florin Malita
844aa334a4
Add SkNVRefCnt::getRefCnt()
...
Used in Blink unit tests.
TBR=mtklein@google.com ,humper@google.com
Review URL: https://codereview.chromium.org/746693002
2014-11-20 16:56:22 -05:00
fmalita
2d97bc139a
Disable LCD text explicitly in SkPictureImageFilter::onFilterImage()
...
As an intermediate fix for
https://code.google.com/p/skia/issues/detail?id=3142 , we can use a
non-public SkCanvas constructor and force-disable LCD text.
BUG=skia:3142
R=reed@google.com ,senorblanco@google.com
Review URL: https://codereview.chromium.org/725243004
2014-11-20 10:44:58 -08:00
mtklein
d6ab2a8e45
Add SkNVRefCnt::deref().
...
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/744853002
2014-11-20 10:07:54 -08:00
bsalomon
b03c4a35bd
Don't use NULL GrOptDrawState to indicate that draw should be skipped.
...
Review URL: https://codereview.chromium.org/742853002
2014-11-20 09:56:11 -08:00
mtklein
08d1fccf6e
Add SkNVRefCnt, prune down SkPicture's size
...
SkNVRefCnt is a variant of SkRefCnt that's Not Virtual, so weighs 4 bytes
instead of 8 or 16. There's only benefit to doing this if the deriving class
does not otherwise need a vtable, e.g. SkPicture.
I've stripped out some cruft from SkPicture, rearranged fields to pack tightly,
and added compile asserts for the sizes of SkPicture, SkRecord, and
SkVarAlloc.
BUG=skia:3144
Review URL: https://codereview.chromium.org/741793002
2014-11-20 09:18:32 -08:00
bsalomon
072803144a
Stop overloading internal_dispose in SkTextBlob and SkData
...
Review URL: https://codereview.chromium.org/737093002
2014-11-20 08:02:46 -08:00
tomhudson
158fcaa031
Implement SkPicture::bytesUsed() for SkRecord backend
...
BUG=chromium:230419
R=mtklein@google.com ,reed@google.com
Review URL: https://codereview.chromium.org/490253003
2014-11-19 10:41:14 -08:00
mtklein
48b411af76
Remove debug-only fData from SKTDArray.
...
It makes the code harder to read, and makes Debug and Release SkTDArrays
different sizes. Looks like fData is left over from when debuggers weren't
very good at inspecting data structures.
No API changes.
TBR=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/739263002
2014-11-19 09:41:27 -08:00
joshualitt
02bcd9db00
move GrGeometryProcessor to src
...
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/739943003
2014-11-19 08:24:09 -08:00
bsalomon
ae59b77612
Create GrOptDrawState before recording draw in GrInOrderDrawBuffer
...
Review URL: https://codereview.chromium.org/739673002
2014-11-19 08:23:49 -08:00
reed
78e2768897
Allow pictures to have a full bounds
...
This reverts commit 7c4cdd2c5b
.
BUG=skia:
Review URL: https://codereview.chromium.org/738083002
2014-11-19 08:04:34 -08:00
reed
7c4cdd2c5b
Revert of allow pictures to have a full bounds (patchset #3 id:40001 of https://codereview.chromium.org/736583004/ )
...
Reason for revert:
needed to update legacy width() helpers
Original issue's description:
> allow pictures to have a full bounds
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7e76bff26e7c74902841ca4f607eb0b24a833a4a
TBR=fmalita@google.com ,mtklein@google.com,robertphillips@google.com,fmalita@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/722043005
2014-11-19 07:17:17 -08:00
reed
7e76bff26e
allow pictures to have a full bounds
...
BUG=skia:
Review URL: https://codereview.chromium.org/736583004
2014-11-19 06:59:41 -08:00
egdaniel
ec03a46080
Add processor name to comment when printing out shaders.
...
BUG=skia:
Review URL: https://codereview.chromium.org/735153002
2014-11-19 06:22:39 -08:00
reed
b07a94f1cb
add roundOut that returns its result
...
BUG=skia:
Review URL: https://codereview.chromium.org/742663002
2014-11-19 05:03:18 -08:00
reed
d02cf2664d
change roundOut() to take a dst, so we can use that signature to return IRect
...
BUG=skia:
TBR=robertphilips
Review URL: https://codereview.chromium.org/731373003
2014-11-18 18:06:45 -08:00
joshualitt
7eb8c7b00a
drawinfo carries bufferinfo
...
BUG=skia:
Review URL: https://codereview.chromium.org/737723003
2014-11-18 14:24:27 -08:00
halcanary
6fd5e6e261
http://skbug.com/3130 step 4 (include/utils/SkWGL.h gone for good)
...
BUG=skia:3130
Review URL: https://codereview.chromium.org/729363003
2014-11-18 11:30:20 -08:00
reed
6be2aa9a25
wip for drawables
...
Idea:
1. in its mutable recording state, keep a table of drawables on the side, and store an index in the record list.
2. In "immediate-mode" draw, just call the clients drawable directly (need access to our private list to turn the stored index into a proc)
3. when we "snap", we replace the list of drawables with a list of (sub) pictures, and then during playback of the snapped picture, we invoke a private drawable which just calls "drawPicture" on the index'd subpicture.
Review URL: https://codereview.chromium.org/727363003
2014-11-18 11:08:05 -08:00
joshualitt
9853ccef19
Drawstate on stack
...
BUG=skia:
Review URL: https://codereview.chromium.org/732693002
2014-11-17 14:22:49 -08:00
bsalomon
84c8e62fad
Allow GPU resources to not be counted against the cache budget.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/721353002
2014-11-17 09:33:27 -08:00
mtklein
c6ad9eefa0
More SkPicture cleanup
...
- move field declarations together and pack them a little tighter
- get rid of fData
- remove dead code in debugger, including unused SkPicturePlayback subclass
There are now no more long-lived SkPictureData! (Really, there never were,
but now we don't pretend to support them.)
BUG=skia:
No API changes.
TBR=reed@google.com
Review URL: https://codereview.chromium.org/725143002
2014-11-17 06:45:18 -08:00
Greg Humphreys
21c771b3fc
Revert "move SkPDFD*.h from include to src"
...
This reverts commit 693024300f
.
was breaking canary build
BUG=skia:
Review URL: https://codereview.chromium.org/731173002
2014-11-17 09:42:09 -05:00
halcanary
693024300f
move SkPDFD*.h from include to src
...
BUG=278148
Review URL: https://codereview.chromium.org/727343002
2014-11-17 06:26:21 -08:00
reed
73c2501120
separate c headers
...
BUG=skia:
Review URL: https://codereview.chromium.org/728323002
2014-11-17 06:15:42 -08:00
halcanary
6dd03c899f
Fix Chromium roll broken by http://crrev.com/728823002
...
Review URL: https://codereview.chromium.org/727783004
2014-11-14 17:22:05 -08:00
bsalomon
12299ab7a1
Make GrResourceCache2 responsible for calling release, abandon, and ~.
...
BUG=skia:2889
TBR=robertphillips@google.com
NOTRY=true
Review URL: https://codereview.chromium.org/729683002
2014-11-14 13:33:09 -08:00
halcanary
85588344c3
SkDocument SK_API
...
Review URL: https://codereview.chromium.org/726073002
2014-11-14 13:24:18 -08:00
bsalomon
71cb0c241e
Replace GrResourceCache with GrResourceCache2.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89
Review URL: https://codereview.chromium.org/716143004
2014-11-14 12:10:15 -08:00
djsollen
c87dd2ce96
Enable unused param checking for public includes.
...
This CL cleans up the existing violations and enables the
build time check to ensure that we don't regress.
The motiviation behind this change is to allow clients who include
our headers to be able to build with this warning enabled.
Review URL: https://codereview.chromium.org/726923002
2014-11-14 11:11:46 -08:00
djsollen
33068c19f1
Enforce pure virtual behavior for onMatchFamilyStyleCharacter
...
All impls that previously did not define the functions have been
updated to return NULL.
NOTRY=true
Review URL: https://codereview.chromium.org/728873002
2014-11-14 10:52:53 -08:00
djsollen
082a4620fd
Move WGL header from include to src
...
NOTRY=true
Review URL: https://codereview.chromium.org/728823002
2014-11-14 07:21:29 -08:00
bsalomon
ac49acda52
Revert of Replace GrResourceCache with GrResourceCache2. (patchset #7 id:120001 of https://codereview.chromium.org/716143004/ )
...
Reason for revert:
broken again
Original issue's description:
> Replace GrResourceCache with GrResourceCache2.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
>
> Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/726913002
2014-11-14 06:47:39 -08:00
bsalomon
407aa584d1
Replace GrResourceCache with GrResourceCache2.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
Review URL: https://codereview.chromium.org/716143004
2014-11-14 06:29:40 -08:00
djsollen
5ae776504f
Cleanup the XML directory in public includes.
...
Review URL: https://codereview.chromium.org/722343002
2014-11-14 05:52:50 -08:00
tfarina
8816e7bfbe
Cleanup: Delete SkFlattenableBuffers header.
...
It is empty. cs.chromium.org shows no one is including it.
BUG=skia:3108
R=reed@google.com
Review URL: https://codereview.chromium.org/722943002
2014-11-13 14:49:59 -08:00
reed
d54d3fc824
remove unused kLCD_MaskFormat
...
BUG=skia:
Review URL: https://codereview.chromium.org/728673002
2014-11-13 14:39:58 -08:00
fmalita
112e7e2777
Observe surface LCD settings in SkBaseDevice::drawTextBlob()
...
We're currently overwriting the paint LCD text flag based on the the run
font data => this cancels any LCD filtering we might have performed
higher up the stack.
BUG=423362
R=reed@google.com
Review URL: https://codereview.chromium.org/718913003
2014-11-13 14:05:58 -08:00
bsalomon
f21dab9540
Revert of Replace GrResourceCache with GrResourceCache2. (patchset #6 id:100001 of https://codereview.chromium.org/716143004/ )
...
Reason for revert:
Breaking stuff
Original issue's description:
> Replace GrResourceCache with GrResourceCache2.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/715333003
2014-11-13 13:33:28 -08:00
bsalomon
66a450f21a
Replace GrResourceCache with GrResourceCache2.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/716143004
2014-11-13 13:19:10 -08:00
djsollen
0b17d6cb34
Cleanup public includes directory.
...
This CL updates various files in the includes directory to ensure that (1) they do
not depend on headers in /src and (2) that they minimize their dependence on external
headers.
To ensure that we don't regress this behavior a new build target has been added to
build a single cpp file that contains all* public includes and is compiled with
only those directories in the include path.
* The exception is those includes that depend on OS specific headers
BUG=skia:2941
NOTRY=true
Review URL: https://codereview.chromium.org/721903002
2014-11-13 12:52:35 -08:00
reed
b2db898573
rename filterTextFlags to disableLCD
...
Under the hood, add SkPixelGeometry to the CreateInfo for new devices, allowing them to see their geometry (SkDeviceProperties) up front, rather than having it changed later.
The only exception is for devices that are used on the root-layer, where we don't see the device until after the fact (at least as long as we allow clients to attach a device to a canvas externally).
We also filter the geometry when we're creating a layer, so we can disable LCD text automatically if the layer is not marked as opaque.
NOTRY=True
-- gammatext flake?
Review URL: https://codereview.chromium.org/719253002
2014-11-13 12:41:02 -08:00
djsollen
e4545210c9
Cleanup GrContextFactory and make it's subclasses private
...
Review URL: https://codereview.chromium.org/723183002
2014-11-13 11:12:41 -08:00
egdaniel
b6cbc38702
Add GrProcOptInfo class to track various output information for color and coverage stages.
...
BUG=skia:
Review URL: https://codereview.chromium.org/719203002
2014-11-13 11:00:34 -08:00
fmalita
6987dcaf25
Rename onCreateDevice -> onCreateCompatibleDevice
...
This is a port of https://codereview.chromium.org/723743002/ with the
following changes:
* drop the legacy onCreateDevice variant completely
* also convert SkXPSDevice & SkGatherPixelRefsAndRects to the new API
This is expected to break canaries and will require a manual/cowboy
roll.
TBR=reed@google.com
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/720213002
2014-11-13 08:33:37 -08:00
reed
5adbf1b579
Revert of move to modify onCreateDevice virtual (patchset #2 id:20001 of https://codereview.chromium.org/723743002/ )
...
Reason for revert:
mac_chromium_rel_ng unittest failures. speculating caused by this cl.
http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/5262
Original issue's description:
> start to replace onCreateDevice with onCreateCompatibleDevice
>
> the new virtual takes a struct which we can amend in the future w/o having to
> update our subclasses in chrome.
>
> BUG=skia:
> NOTRY=True
>
> Committed: https://skia.googlesource.com/skia/+/b122ee50fb56cf6669fe1668b82c8815896e9943
TBR=fmalita@google.com ,fmalita@chromium.org,reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/728433002
2014-11-13 03:31:41 -08:00
reed
b122ee50fb
start to replace onCreateDevice with onCreateCompatibleDevice
...
the new virtual takes a struct which we can amend in the future w/o having to
update our subclasses in chrome.
BUG=skia:
NOTRY=True
Review URL: https://codereview.chromium.org/723743002
2014-11-12 14:31:11 -08:00
bsalomon
69ed47f42d
Make GrGpuResource::gpuMemorySize non-virtual w/ onGpuMemorySize virtual impl
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/702413003
2014-11-12 11:13:39 -08:00
robertphillips
8236591547
Rename GrAccelData to SkLayerInfo and move it to src/core
...
Review URL: https://codereview.chromium.org/719133002
2014-11-12 09:32:34 -08:00
egdaniel
605dd0fbce
Move GrInvariantOutput out of GrProcessor and into its own class.
...
This will help with the ability to subclass, add to, etc. GrInvariantOutput. Also it was simply
getting a little too big to be a "supporting" subclass
BUG=skia:
Review URL: https://codereview.chromium.org/699943003
2014-11-12 08:35:25 -08:00
robertphillips
4e8e3421aa
Move SkRecordComputeLayers and CollectLayers into SkRecordDraw.cpp
...
Rather then exposing parts of FillBounds (as in Expose FillBounds to allow GrPictureUtils::CollectLayers to be layered on top of it - https://codereview.chromium.org/698643002/ ), this CL moves CollectLayers into SkRecordDraw.cpp to accomplish the layering.
Review URL: https://codereview.chromium.org/716913003
2014-11-12 06:46:08 -08:00
reed
6a070dc06a
experimental
...
BUG=skia:
Review URL: https://codereview.chromium.org/716793004
2014-11-11 19:36:10 -08:00
bsalomon
453cf40ac7
Add GrGpuResource::CacheAccess
...
Internal only helper class for manipulating and accessing cache keys.
BUG=skia:2889
Review URL: https://codereview.chromium.org/703303003
2014-11-11 14:15:57 -08:00
joshualitt
4052a8e4f2
Remove coverage from grpaint
...
BUG=skia:
Review URL: https://codereview.chromium.org/683133006
2014-11-11 13:46:30 -08:00
bsalomon
6d4488c5e0
Remove all knowledge of resource keys from the legacy cache.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/705413002
2014-11-11 07:27:16 -08:00
robertphillips
81f71b6630
Change where layer hoisting data is gathered
...
This CL:
1) removes the EXPERIMENTAL_optimize on SkCanvas & SkDevice
2) moves the saveLayer gathering step to endRecording
3) Replaces GPUOptimize with SkRecordComputeLayers
4) Update bench_pictures & render_pictures to provide the new flag
#2 also necessitated moving the BBH computation (and record optimization) out of SkPicture's ctor (and into endRecording)
Review URL: https://codereview.chromium.org/718443002
2014-11-11 04:54:49 -08:00
scroggo
207a1c96ee
Remove outdated comment in SkImageDecoder.h
...
The comment was no longer relevant with
https://codereview.chromium.org/483593002
Review URL: https://codereview.chromium.org/715673002
2014-11-10 14:18:24 -08:00
bungeman
c9232dcda0
Remove SK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER.
...
This removes the old guarded code and enables the new api
introduced with "Update fontMgr to take list of bcp47 language tags."
c20386e393
. Blink on Android is
already using the new code.
Review URL: https://codereview.chromium.org/705843004
2014-11-10 13:29:33 -08:00
bsalomon
fe369ee34b
Move GrResourceKey static functions from .h to .cpp to fix shared lib builds
...
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/718493002
2014-11-10 11:59:06 -08:00
bsalomon
8b79d23f82
Use GrResourceCache2 to service content key lookups
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/707493002
2014-11-10 10:19:06 -08:00
reed
7c74885e01
flag imageinfo as srgb
...
intended uses:
- flag a SkSurface as sRGB (only supported by Ganesh for now)
- flag images (e.g. png or jpeg) as sRGB if the codec tells us that
wins:
- faster gamma-correct text (esp. w/ distance-fields) when we can use sRGB for text
- better color fidelity when the screen really is sRGB
Review URL: https://codereview.chromium.org/676883003
2014-11-10 08:57:21 -08:00
robertphillips
6beeb8f3cc
Small refactoring of layer discovery code
...
This CL removes CollectLayers' reliance on having the top most picture (by removing the unused fPictureID member). This then allows making CollectLayers' API closer to that of SkRecordFillBounds in order to facilitate using them interchangeably.
Review URL: https://codereview.chromium.org/714533002
2014-11-10 08:48:29 -08:00
joshualitt
4973d9da4a
Default geometry processor
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/ff343074b2a3fdaa5f120600e28717e366bceadd
Review URL: https://codereview.chromium.org/678953002
2014-11-08 09:24:25 -08:00
joshualitt
ee0ea3f0dd
Revert of Default geometry processor (patchset #9 id:160001 of https://codereview.chromium.org/678953002/ )
...
Reason for revert:
breaks nexus 5
Original issue's description:
> Default geometry processor
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/ff343074b2a3fdaa5f120600e28717e366bceadd
TBR=bsalomon@google.com ,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/691313003
2014-11-07 12:08:03 -08:00
joshualitt
ff343074b2
Default geometry processor
...
BUG=skia:
Review URL: https://codereview.chromium.org/678953002
2014-11-07 11:47:10 -08:00
reed
d23f45d047
document the SkStrAppend methods
...
BUG=skia:
Review URL: https://codereview.chromium.org/709063002
2014-11-07 07:37:33 -08:00
mtklein
2ecf86e55e
Revert of Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #1 id:1 of https://codereview.chromium.org/693933004/ )
...
Reason for revert:
Try again with loops overflow fix landed.
Original issue's description:
> Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #2 id:20001 of https://codereview.chromium.org/704563003/ )
>
> Reason for revert:
> Timing out on nvpr when drawing conics. Fix will take some thought so reverting for now.
>
> Original issue's description:
> > Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
> >
> > This brings DM and nanobench's default configs in line with GM's.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/31f88675718966bbb7f09718b40de10c7e214739
>
> TBR=bsalomon@google.com ,mtklein@google.com,mtklein@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d5cd4ee5b81b51e43be7ed13f3c0f0f6c1b3fe14
TBR=bsalomon@google.com ,mtklein@chromium.org,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/685923003
2014-11-06 08:06:39 -08:00
egdaniel
e27065ae24
Send coverage VA as floats instead of bytes
...
NOTREECHECKS=True
BUG=skia:
Review URL: https://codereview.chromium.org/700943005
2014-11-06 08:00:48 -08:00
bsalomon
3343557421
Add mock context and use in ResourceCacheTest.
...
BUG=skia:2889
Committed: https://skia.googlesource.com/skia/+/820dd6c335411aad889c1d7e8a857642ecd87e30
Review URL: https://codereview.chromium.org/702083003
2014-11-05 14:47:42 -08:00
egdaniel
d5cd4ee5b8
Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #2 id:20001 of https://codereview.chromium.org/704563003/ )
...
Reason for revert:
Timing out on nvpr when drawing conics. Fix will take some thought so reverting for now.
Original issue's description:
> Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
>
> This brings DM and nanobench's default configs in line with GM's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/31f88675718966bbb7f09718b40de10c7e214739
TBR=bsalomon@google.com ,mtklein@google.com,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/693933004
2014-11-05 14:21:33 -08:00
bsalomon
fdcf2c0863
Revert of Add mock context and use in ResourceCacheTest. (patchset #4 id:60001 of https://codereview.chromium.org/702083003/ )
...
Reason for revert:
Breaking tests
Original issue's description:
> Add mock context and use in ResourceCacheTest.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/820dd6c335411aad889c1d7e8a857642ecd87e30
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2889
Review URL: https://codereview.chromium.org/704563004
2014-11-05 12:30:32 -08:00
mtklein
31f8867571
Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
...
This brings DM and nanobench's default configs in line with GM's.
BUG=skia:
Review URL: https://codereview.chromium.org/704563003
2014-11-05 12:28:26 -08:00
bsalomon
820dd6c335
Add mock context and use in ResourceCacheTest.
...
BUG=skia:2889
Review URL: https://codereview.chromium.org/702083003
2014-11-05 12:09:45 -08:00
mtklein
e974c6244c
Whitelist intentionally racy TRACE_EVENT reads and writes.
...
Chrome's tracing framework appears to be intentionally racy on its
quick-reject checks, trading some data loss for better performance
when disabled. People will never notice the data loss, but TSAN does.
Let's assuage TSAN with some annotations.
The 'volatile' val in SK_ANNOTATE_UNPROTECTED_WRITE was making this
not compile, but that volatile doesn't really make sense there: the value we're
writing is not what we care about, it's the destination.
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot
No API changes.
TBR=reed
BUG=skia:
Review URL: https://codereview.chromium.org/702883002
2014-11-05 08:03:27 -08:00
tfarina
f6e59b5035
Cleanup: Remove unused InstallNewHandler() function from SkGraphics.
...
BUG=None
TEST=None
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/701813006
2014-11-05 07:20:51 -08:00
robertphillips
9f2251c73e
Crop the fast path dashed lines to the cull rect
...
Without:
maxrss loops min median mean max stddev samples config bench
56M 1 13.3ms 13.6ms 13.6ms 14.2ms 2% Ooooo..... 8888 GM_dashing5_bw
56M 13 390us 417us 416us 459us 5% ooooO..o.o gpu GM_dashing5_bw
56M 1 13.4ms 13.9ms 14.1ms 15ms 3% Oooo..ooOo 8888 GM_dashing5_aa
56M 13 402us 421us 416us 425us 2% Ooo.ooOOOO gpu GM_dashing5_aa
With:
40M 1 1.53ms 1.54ms 1.54ms 1.55ms 0% oo.O...o.. 8888 GM_dashing5_bw
40M 12 407us 412us 415us 445us 3% ...Oo..... gpu GM_dashing5_bw
40M 1 1.7ms 1.7ms 1.7ms 1.72ms 0% o.O....... 8888 GM_dashing5_aa
43M 13 405us 409us 409us 415us 1% ooo.Ooo..o gpu GM_dashing5_aa
The GM images (including the new one) are the same with and without this CL.
BUG=428296
Review URL: https://codereview.chromium.org/699623003
2014-11-04 13:33:50 -08:00