piotaixr
d2a3522503
Add the method isOpaque() to SkImage
...
BUG=skia:2766
R=junov@chromium.org , halcanary@google.com , scroggo@google.com , reed@google.com , bsalomon@google.com
Author: piotaixr@chromium.org
Review URL: https://codereview.chromium.org/406673003
2014-08-19 14:29:02 -07:00
bsalomon
1d89ddc4a3
Revert of Add GrResourceCache2. (patchset #4 of https://codereview.chromium.org/481443002/ )
...
Reason for revert:
Likely caused a leak detected in Chromium after last Skia roll.
Original issue's description:
> Add GrResourceCache2.
>
> Currently it just replaces GrGpu as the owner of the linked list of resources.
>
> Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f
R=mtklein@google.com , robertphillips@google.com
TBR=mtklein@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/477323006
2014-08-19 14:20:58 -07:00
bungeman
31c4772b78
Treat embedded bitmaps as a hinting method.
...
R=reed@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/483313002
2014-08-19 13:18:58 -07:00
bsalomon
94ce9ac862
Add GrResourceCache2.
...
Currently it just replaces GrGpu as the owner of the linked list of resources.
R=robertphillips@google.com , mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/481443002
2014-08-19 08:21:25 -07:00
caryclark
38dd9f2e41
remove unused SkIntToFloatCast_NoOverflowCheck
...
R=reed@google.com , reed
BUG=skia:2849
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/483273003
2014-08-19 07:39:41 -07:00
halcanary
97d2c0a216
Move SkReadBuffer.h and SkReader32.h out of include.
...
Committed: https://skia.googlesource.com/skia/+/2a51d7c74cec217195f861677de8998b382b39e4
R=mtklein@google.com , reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/481053002
2014-08-19 06:27:53 -07:00
Mike Klein
27dc17c297
Revert "Move the code over using the same template type approach previously used for willPlayBackBitmaps in http://skbug.com/2702 ."
...
This reverts commit 60c2a79cfa
.
BUG=skia:
Review URL: https://codereview.chromium.org/481173003
2014-08-18 18:35:16 -04:00
tomhudson
60c2a79cfa
Move the code over using the same template type approach previously used for willPlayBackBitmaps in http://skbug.com/2702 .
...
Also unifies that flag and this one into a struct so they and others can be computed together. The struct is stored const to enforce lifetime expectations. Adds a few new cases to the unit test.
BUG=skia:2700
R=mtklein@google.com , reed@google.com , robertphillips@google.com , tomhudson@google.com
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/364823009
2014-08-18 15:07:13 -07:00
halcanary
f128f53a5b
Revert "Move SkReadBuffer.h and SkReader32.h out of include."
...
This reverts commit 2a51d7c74c
.
Breaking Blink
NOTRY=true
R=bungeman@google.com
TBR=bungeman@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/472303006
2014-08-18 13:48:13 -07:00
halcanary
2a51d7c74c
Move SkReadBuffer.h and SkReader32.h out of include.
...
R=mtklein@google.com , reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/481053002
2014-08-18 13:04:59 -07:00
ajuma
750ae26745
Expose API for whether an SkPicture contains text
...
BUG=chromium:399728
R=reed@google.com , nduca@chromium.org
Author: ajuma@chromium.org
Review URL: https://codereview.chromium.org/478673002
2014-08-18 12:59:55 -07:00
halcanary
ea4673fde6
SkImage::NewFromGenerator(SkImageGenerator*), and a unit test.
...
R=reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/465823003
2014-08-18 08:27:09 -07:00
reed
bbe7a2ad32
eliminate code related to SkBitmap::Config
...
BUG=skia:
R=reed@google.com , mike@reedtribe.org
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/483593002
2014-08-18 08:13:03 -07:00
krajcevski
b1aded8edd
Add flag to bench/render pictures
...
R=robertphillips@google.com , bsalomon@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/464423003
2014-08-18 07:52:17 -07:00
mtklein
5a246bb487
int SkPicture::approximateOpCount()
...
NOTREECHECKS=true
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/470333002
2014-08-14 19:17:21 -07:00
djsollen
3b6255493e
Remove SkPaintOptionsAndroid
...
Committed: https://skia.googlesource.com/skia/+/f32331ffdb5de0440bb337aa7cbdd6f33e9ff23b
R=reed@google.com , mtklein@google.com , tomhudson@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/447873003
2014-08-14 06:29:03 -07:00
bsalomon
c15e28a522
Revert of Remove SkPaintOptionsAndroid (patchset #5 of https://codereview.chromium.org/447873003/ )
...
Reason for revert:
Breaks the Chromium build: http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2469/steps/BuildContentShell_1/logs/stdio
Original issue's description:
> Remove SkPaintOptionsAndroid
>
> Committed: https://skia.googlesource.com/skia/+/f32331ffdb5de0440bb337aa7cbdd6f33e9ff23b
R=reed@google.com , mtklein@google.com , tomhudson@google.com , djsollen@google.com
TBR=djsollen@google.com , mtklein@google.com , reed@google.com , tomhudson@google.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/473543004
2014-08-13 15:18:46 -07:00
mtklein
6cfa73a29a
Start tracking the CTM while filling the BBH in SkRecordDraw.
...
Depends on https://codereview.chromium.org/475473002/
BUG=skia:
R=robertphillips@google.com , reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/468193003
2014-08-13 13:33:49 -07:00
djsollen
f32331ffdb
Remove SkPaintOptionsAndroid
...
R=reed@google.com , mtklein@google.com , tomhudson@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/447873003
2014-08-13 13:09:49 -07:00
krajcevski
69a5560ea5
Add entry point for passing options to the GrContextFactory
...
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/465073002
2014-08-13 10:46:31 -07:00
tomhudson
c773390eef
Delete the old font management implementation based on SkFontConfigInterface, now that SkFontMgr_Android is live.
...
BUG=chromium:400801
R=djsollen@google.com , bungeman@google.com
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/445143002
2014-08-13 10:41:25 -07:00
george
b62508be81
Add a parameter GR_ALWAYS_ALLOCATE_ON_HEAP to allow for only ever creating temporary buffers on the heap instead of allowing stack allocation
...
Unfortunately this can't be a GR_GL_* config like we'd discussed because there are SkAutoSMalloc buffers that are built outside of gl/
R=bsalomon@google.com , bsalomon
BUG=skia:
Author: george@mozilla.com
Review URL: https://codereview.chromium.org/459263003
2014-08-12 18:00:47 -07:00
halcanary
78ee93f545
Revert of SkImage::NewFromGenerator(SkImageGenerator*), and a unit test. ( https://codereview.chromium.org/465823003/ )
...
Reason for revert:
Mac bots are failing
Original issue's description:
> SkImage::NewFromGenerator(SkImageGenerator*), and a unit test.
>
> Committed: https://skia.googlesource.com/skia/+/186f7b04956a1742f185a4ca69b44b52bc50e7fc
R=reed@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/453723003
2014-08-12 09:07:08 -07:00
tfarina
35fbd014e3
Migrate SkRTConfRegistry test to DEF_TEST().
...
BUG=None
TEST=dm --tests=true --gms=false
R=mtklein@google.com , bsalomon@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/444303002
2014-08-12 09:03:16 -07:00
dandov
b3c9d1c33c
SkCanvas::drawPatch param SkPoint[12]
...
drawPatch now receives as parameter const SkPoint cubics[12]
Adjusted derived classes and serialization.
Ajusted GM's and benches that take into account combinations of optional
parameters, the scale of the patch and 4 different types of patches.
Planning on adding the extra functionality of SkPatch in another CL.
BUG=skia:
R=egdaniel@google.com , reed@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/463493002
2014-08-12 08:34:29 -07:00
halcanary
186f7b0495
SkImage::NewFromGenerator(SkImageGenerator*), and a unit test.
...
R=reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/465823003
2014-08-12 08:04:58 -07:00
krajcevski
9c6d4d744a
Change GR_COMPRESS_ALPHA_MASK from compile-time flag to run-time. We do this by introducing an Options struct to be passed to a GrContext on creation.
...
R=robertphillips@google.com , bsalomon@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/459033002
2014-08-12 07:26:26 -07:00
reed
5b1b2dbe76
remove SkStippleMaskFilter - no external clients
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/462013002
2014-08-12 05:50:10 -07:00
bsalomon
d4cb922ea1
Consider index8 a compressed config.
...
R=krajcevski@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/457333004
2014-08-11 14:19:09 -07:00
cdalton
c7103a104f
Wrap NV_path_rendering API with GrGLPathRendering
...
Adds a GrGLPathRendering class that wraps the NV_path_rendering
extension and manages its various API versions. It also provides
backup implementations when certain NVpr methods from later API
versions are not present on the current system.
BUG=skia:
R=bungeman@google.com , bsalomon@google.com , kkinnunen@nvidia.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/444223002
2014-08-11 14:05:05 -07:00
reed
8572fc01ac
mark all SkImage methods const, so we can make it thread-safe
...
BUG=skia:
R=mtklein@google.com , halcanary@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/453613003
2014-08-11 13:03:56 -07:00
bsalomon
9c0822a415
Always use both a color and coverage attribute in GrAARectRenderer.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/435743002
2014-08-11 11:07:48 -07:00
mtklein
5ad6ee1b2c
Plumbing for using a BBH in SkRecordDraw.
...
For now this only creates a degenerate bounding box hierarchy where all ops
just have maximal bounds. I will flesh out FillBounds in future CL(s).
Not quite sure why QuadTree and TileGrid aren't drawing right---haven't even
looked at the diffs yet---so I've disabled those test modes for now. RTree
seems fine, so that'll at least get us coverage for all this new plumbing.
BUG=skia:
R=robertphillips@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/454123003
2014-08-11 08:08:43 -07:00
reed
872e3dc89d
Revert of Revert of remove (now unneeded) legacy onDrawPicture variant ( https://codereview.chromium.org/457253002/ )
...
Reason for revert:
webkit has been updated, so re-landing
Original issue's description:
> Revert of remove (now unneeded) legacy onDrawPicture variant (https://codereview.chromium.org/456203002/ )
>
> Reason for revert:
> still need to update ProfilingCanvas in blink
>
> Original issue's description:
> > remove (now unneeded) legacy onDrawPicture variant
> >
> > TBR=fmalita@google.com
> >
> > Committed: https://skia.googlesource.com/skia/+/2e69d292e5a389db7d9264eb66172376692de8ca
>
> TBR=
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/47f9bdcc3d741a63935c52bfe85db44ab13f66f2
R=reed@chromium.org
TBR=reed@chromium.org
NOTREECHECKS=true
NOTRY=true
Author: reed@google.com
Review URL: https://codereview.chromium.org/460693002
2014-08-11 06:35:48 -07:00
reed
47f9bdcc3d
Revert of remove (now unneeded) legacy onDrawPicture variant ( https://codereview.chromium.org/456203002/ )
...
Reason for revert:
still need to update ProfilingCanvas in blink
Original issue's description:
> remove (now unneeded) legacy onDrawPicture variant
>
> TBR=fmalita@google.com
>
> Committed: https://skia.googlesource.com/skia/+/2e69d292e5a389db7d9264eb66172376692de8ca
TBR=
NOTREECHECKS=true
NOTRY=true
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/457253002
2014-08-10 19:04:01 -07:00
reed
2e69d292e5
remove (now unneeded) legacy onDrawPicture variant
...
TBR=fmalita@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/456203002
2014-08-10 11:28:46 -07:00
reed
d5fa1a455a
add drawPicture variant that takes a matrix and paint
...
will need some staging strategy, since chrome and blink have overrides of onDrawPicture
R=robertphillips@google.com , fmalita@google.com , bsalomon@google.com , mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/448793004
2014-08-09 11:08:05 -07:00
reed
3b1c3d2c61
add dummy onDrawPicture to allow migration for chrome overrides
...
after this lands in chrome, land these two CLs
https://codereview.chromium.org/454993002/
https://codereview.chromium.org/454143003
then land this skia CL
https://codereview.chromium.org/448793004/
then remove the onDrawPicture overrides from chrome
R=fmalita@google.com , robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/457753002
2014-08-08 12:51:24 -07:00
bungeman
4e3523cf54
Blink layout tests all assume it can provide custom font configuration files on every platform. In moving Android to the font manager, we broke those.
...
They're ugly, but this patch reinstates them.
R=tomhudson@google.com , djsollen@google.com , reed@google.com
TBR=reed@google.com
BUG=chromium:401954
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/451093002
2014-08-08 12:06:52 -07:00
joshualitt
bab82ed05b
Pretty print of shaders
...
BUG=skia:
R=bsalomon@chromium.org , senorblanco@chromium.org , bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/437593004
2014-08-08 09:41:42 -07:00
senorblanco
be129b26f1
Remove external SkImageFilter cache, and rename UniqueIDCache -> Cache.
...
There Can Only Be One.... Cache for SkImageFilter.
R=bsalomon@google.com
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/452923002
2014-08-08 07:14:35 -07:00
bsalomon
6eb03cc06d
Add option to dump images from nanobench.
...
Add option to set the repeat count to any number, replacs the --runOnce flag.
R=mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/450743002
2014-08-07 14:28:50 -07:00
joshualitt
c863ab07c2
Cleanup of context initialization
...
Cleanup context initialization on linux
BUG=skia:
R=bsalomon@chromium.org , bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/422323003
2014-08-07 13:48:50 -07:00
krajcevski
95b1b3d82d
Add astcbitmap to gm slides.
...
Add additional ASTC formats.
Add astc image decoder files.
R=reed@google.com , robertphillips@google.com , halcanary@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/444093002
2014-08-07 12:58:38 -07:00
krajcevski
7b62448065
Revert of - Add astcbitmap to gm slides ( https://codereview.chromium.org/444093002/ )
...
Reason for revert:
Breaking DM
Original issue's description:
> - Add astcbitmap to gm slides
> - Add additional ASTC formats
> - Add astc image decoder files
>
> Committed: https://skia.googlesource.com/skia/+/2fc05823fed4b9649338f3029cd1ba05ef49a02f
R=reed@google.com , robertphillips@google.com , halcanary@google.com
TBR=halcanary@google.com , reed@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/447343002
2014-08-07 11:33:59 -07:00
krajcevski
2fc05823fe
- Add astcbitmap to gm slides
...
- Add additional ASTC formats
- Add astc image decoder files
R=reed@google.com , robertphillips@google.com , halcanary@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/444093002
2014-08-07 11:18:09 -07:00
dandov
963137b75c
Stopped skipping tests in dm of SkPatch by implementing the
...
corresponding drawPath calls on classes that derive from SkCanvas.
BUG=skia:
R=egdaniel@google.com , bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/429343004
2014-08-07 07:49:53 -07:00
Derek Sollenberger
da7a944e29
Revert "Remove SkPaintOptionsAndroid"
...
This reverts commit 27fb94999b
.
Review URL: https://codereview.chromium.org/450513002
2014-08-06 16:34:40 -04:00
Derek Sollenberger
27fb94999b
Remove SkPaintOptionsAndroid
...
Review URL: https://codereview.chromium.org/447873003
2014-08-06 16:30:51 -04:00
fmalita
b5f7826c51
Explicit tile bounds for SkPictureShader
...
The integer picture size is not granular enough to allow precise tiling
in arbitrary coordinate systems. This CL adds an optional tile bounds
float rect param to control the tile size and location.
(this also allows tile spacing emulation for picture
shaders).
R=reed@google.com , robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/437393003
2014-08-06 13:07:15 -07:00
krajcevski
53f0959fc0
Allow custom blitters to be passed to SkDraw::drawPath
...
R=reed@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/444003004
2014-08-06 11:12:14 -07:00
bungeman
760ba8d392
Revert "Adds a GrGLPathRendering class that wraps the NV_path_rendering"
...
This reverts commit 5672da0fa5
.
This appears to be blocking the Skia roll by causing failures in the blink layout tests on the canvas-lost-gpu-context.html test.
The bisect for this can be seen at:
https://codereview.chromium.org/449473002/
Original issue's description:
> Adds a GrGLPathRendering class that wraps the NV_path_rendering
> extension and manages its various API versions. It also provides
> backup implementations when certain NVpr methods from later API
> versions are not present on the current system.
>
> Committed: https://skia.googlesource.com/skia/+/5672da0fa54f31c9727568e9dd5fe82c6e1585bc
2014-08-06 11:15:50 -04:00
djsollen
1b27704eba
Remove ALL font fallback logic from Skia.
...
R=reed@google.com , bungeman@google.com , caryclark@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/434623002
2014-08-06 06:58:06 -07:00
mtklein
847092c88b
SkThreadPool and co. are not public.
...
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/444583006
2014-08-06 06:55:12 -07:00
ch.dumez
43f9d3edf8
Expose SkColorTable class
...
Expose SkColorTable class as it is used in SkBitmap::allocPixels(SkColorTable*)
API, which is already exposed.
R=reed@google.com , ben@chromium.org
Author: ch.dumez@samsung.com
Review URL: https://codereview.chromium.org/418173011
2014-08-05 12:20:19 -07:00
egdaniel
6d7f5faeb3
Enable gpu Debug markers if tracing category skia.gpu is enabled
...
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/438023004
2014-08-04 12:54:39 -07:00
cdalton
5672da0fa5
Adds a GrGLPathRendering class that wraps the NV_path_rendering
...
extension and manages its various API versions. It also provides
backup implementations when certain NVpr methods from later API
versions are not present on the current system.
R=bsalomon@google.com , kkinnunen@nvidia.com , markkilgard@gmail.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/437473002
2014-08-04 11:19:11 -07:00
bsalomon
0673676854
Don't compare coord change matrices to determine effect compatibility when using explicit local coords.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/438053002
2014-08-04 10:56:40 -07:00
dandov
ecfff21bde
SkCanvas interface for drawing a patch.
...
Added function SkCanvas::drawPatch to the API. This function
receives the patch to draw and the paint.
Added function SkBaseDevice::drawPatch to the API. This function also receives the patch to draw and the paint.
Currently SkGpuDevice and SkBitmapDevice generate the mesh taking into
account the scale factor and call the corresponding device's drawVertices.
BUG=skia:
R=jvanverth@google.com , egdaniel@google.com , bsalomon@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/424663006
2014-08-04 10:02:00 -07:00
bsalomon
01c8da1eef
Remove unused matrix param from GrContext/GrDrawTarget rect drawing functions.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/441623005
2014-08-04 09:21:30 -07:00
george
c4ade57cd4
Ensure that SkDebugf is exported from the library.
...
This was caused by the change to always call SkDebugf() in SkASSERT(). There are many headers in Skia that call SkASSERT and so we were seeing linking issues in Gecko where we were using Skia across DLL boundaries.
R=reed@google.com , bsalomon@google.com , reed1
BUG=skia:
Author: george@mozilla.com
Review URL: https://codereview.chromium.org/438783002
2014-08-01 12:02:07 -07:00
Derek Sollenberger
3836dc80a6
Remove copile time enabling of SK_ARM_HAS_NEON.
...
We need to know this in our build system so that we can include
the necessary neon CPP files.
R=mtklein@google.com
Review URL: https://codereview.chromium.org/432453003
2014-08-01 09:21:19 -04:00
djsollen
21769c5249
Update NEON compiler defines to use SK_ prefix
...
BUG=skia:2785
R=mtklein@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/433513004
2014-08-01 05:32:32 -07:00
senorblanco
55b6d8be99
Implement a persistent uniqueID-based cache for SkImageFilter.
...
Add a unique ID to SkImageFilter, and use it as part
of a persistent cache of image-filtered results. This is used for
caching frame-to-frame coherent filters.
We also keep track of which filter subtrees do not reference the
src input, and use a GenID of zero for the src input in that case.
That way, subtrees which are not dependent on the filter input can be
cached independently of it.
This gives approximately a 4X speedup on
letmespellitoutforyou.com/samples/svg/filter_terrain.svg on Z620
and Nexus10. The cache key consists of the uniqueID of the filter, the
clip bounds, the CTM and the genID of the input bitmap.
Since this does not yet handle the case where the input primitives
(and part of the resulting filter tree) are unchanged, we have
to keep around the external cache for that painting case.
When the work to cache unchanging input primitives is done, the
old cache can be removed, and the new UniqueIDCache will be renamed
to Cache.
R=bsalomon@google.com , mtklein@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/414483003
2014-07-30 11:26:46 -07:00
cdalton
c8f5204667
Incorporate glStencilThenCover* nvpr methods
...
Adds the glStencilThenCover* nvpr methods to GrGLInterface and starts
using them. When drawing multible paths, this will make it so we only
have to send the index/transform data once. It will also allow the
driver to save time internally.
The glStencilThenCover* methods are a newer addition, so they aren't
available on every driver. In the event that they are not present, we
emulate them using the existing glStencil*/glCover* methods.
BUG=skia:
R=markkilgard@gmail.com , bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/423173004
2014-07-29 15:25:51 -07:00
egdaniel
b414f25cf9
Remove support in the gpu to use hardware AA lines. Current code paths could not reach this code and thus was never used.
...
The blend opt flag kDisableBlend should now be able to be removed, however it is left in this CL and will removed in its own.
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/427823002
2014-07-29 13:15:47 -07:00
egdaniel
b09bdd6bac
Revert of Remove gpu support for willUseHWAALines. ( https://codereview.chromium.org/423943003/ )
...
Reason for revert:
Breaking windows 7 compare gm's
Original issue's description:
> Remove gpu support for willUseHWAALines.
>
> By removing willUseHWAALines, we also no long reference the blend opt flag kDisableBlend so it has been removed
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e6dfba868c19b00562f8c733b9bf37dd4ec9e68c
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/430493003
2014-07-29 08:52:23 -07:00
bsalomon
944bcf0acb
Some fixes around GrContext::abandonContext:
...
Fix debug crash when GrResourceCache is destroyed after GrContext is abandoned while GrTextures are in the exlusive list.
Notify debug GL context that GL resources are expected to remain undeleted when context is destroyed after being abandoned.
Stop leaking program cache entries when context is abandoned.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/422323002
2014-07-29 08:01:52 -07:00
egdaniel
e6dfba868c
Remove gpu support for willUseHWAALines.
...
By removing willUseHWAALines, we also no long reference the blend opt flag kDisableBlend so it has been removed
BUG=skia:
R=bsalomon@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/423943003
2014-07-29 07:51:03 -07:00
kkinnunen
4509517e03
Use if instead of ifdef SK_SUPPORT_GPU
...
The SK_SUPPORT_GPU is always defined.
R=reed@google.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/331353003
2014-07-29 06:12:49 -07:00
tfarina
a8e2e1504b
Cleanup: Rename SkOSPath functions.
...
Mostly for brevity and matches better with Python:
Python | Old C++ | New C++
os.path.join | SkOSPath::SkPathJoin | SkOSPath::Join
os.path.basename | SkOSPath::SkBasename | SkOSPath::Basename
BUG=None
TEST=make all
R=mtklein@google.com , bsalomon@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/428443002
2014-07-28 19:26:58 -07:00
bsalomon
2354f8432a
Test abandoning GL context in dm/nanobench.
...
Rename GrContext::contextDestroyed to GrContext::abandonContext.
Remove GrContext::resetContext.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/422903002
2014-07-28 13:48:36 -07:00
bsalomon
4beef91ec0
Revert of Remove relative path to GrColor.h in SkShader.h ( https://codereview.chromium.org/422023005/ )
...
Reason for revert:
As Ben suspected, this breaks the chrome build.
Original issue's description:
> Remove relative path to GrColor.h in SkShader.h
>
> Committed: https://skia.googlesource.com/skia/+/939f430f660d26e46116a38d2a8436afbd55dfb9
R=bungeman@google.com , george@mozilla.com
TBR=bungeman@google.com , george@mozilla.com
NOTREECHECKS=true
NOTRY=true
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/423943005
2014-07-28 13:43:04 -07:00
bsalomon
939f430f66
Remove relative path to GrColor.h in SkShader.h
...
R=bungeman@google.com , george@mozilla.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/422023005
2014-07-28 13:27:35 -07:00
Derek Sollenberger
9ee1a4a460
Remove redundant helper function as all clients pass locale
...
R=tomhudson@google.com
Review URL: https://codereview.chromium.org/426643003
2014-07-28 10:04:55 -04:00
Derek Sollenberger
e83a7ecfd7
Remove unused code now that the android framework has move this logic elsewhere.
...
R=tomhudson@google.com
Review URL: https://codereview.chromium.org/424663005
2014-07-28 09:54:10 -04:00
bungeman
d6aeb6dc8f
Fix thread unsafe mutex initialization.
...
BUG=skia:2779
R=robertphillips@google.com , mtklein@google.com , reed@android.com , bsalomon@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/419113002
2014-07-25 11:52:48 -07:00
dandov
50d715476b
Added classes SkPatch and SkPatchMesh which help encapsulate and generalize this new primitive. The functionality and responsability of each class is better explained in the comments of the files.
...
Each patch defines a method genMesh that produces the geometry to draw. To do this they receive a SkPatchMesh object which they need to initialize in order to set up how the data is going to be formatted. Later they call function like setColor or pointAt to set the values at a specific index, the SkMeshPatch object handles the indices based on the format and makes it transparent to the client.
Added a slide to sample app to show how to set up this classes and how they interact.
BUG=skia:
R=jvanverth@google.com , egdaniel@google.com , bsalomon@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/405163003
2014-07-25 10:44:54 -07:00
bsalomon
6d3fe022d6
Rename GrGpuObject to GrGpuResource
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/418143004
2014-07-25 08:35:45 -07:00
bsalomon
c44be0e9e4
Merge GrGpuObject and GrCacheable.
...
We want to create a new base class for "meta" gr resources as part of the GrResourceCache rewrite and this is an iterim step towards that goal.s
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/414013005
2014-07-25 07:32:33 -07:00
krajcevski
2a413df4da
Add ASTC to list of alpha compressed formats
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/412113004
2014-07-24 08:16:01 -07:00
piotaixr
76d5b477c9
Now able to set the localMatrix when creating a SkShader from a SkImage
...
BUG=skia:2771
R=junov@chromium.org , reed@chromium.org , bsalomon@chromium.org , bsalomon@google.com
Author: piotaixr@chromium.org
Review URL: https://codereview.chromium.org/409653003
2014-07-22 15:02:05 -07:00
jvanverth
dd6d22751a
Replace use of GrTHashTable in GrFontCache with SkTDynamicHash.
...
Searching the font cache for existing text strikes was showing up
as a hotspot on Android. This change reduces that cost.
R=bsalomon@google.com , robertphillips@google.com , mtklein@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/390103002
2014-07-22 13:25:26 -07:00
bsalomon
1c63bf6e90
Revert "Revert of Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are… ( https://codereview.chromium.org/376703009/ )"
...
This reverts commit 249171e7d2
.
Uses 32 bit id instead of 64. Renamed instanceID to uniqueID to match existing code.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/414493002
2014-07-22 13:09:46 -07:00
senorblanco
bc9845bb60
Remove the single-sigma version of SkDropShadowImageFilter::Create().
...
It's no longer used in Chrome.
BUG=skia:
R=bsalomon@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/407203002
2014-07-22 12:49:25 -07:00
bsalomon
be035702f3
Remove unused enum value and member of GrGpuObject
...
R=robertphillips@google.com
TBR=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/413523002
2014-07-22 11:17:14 -07:00
robertphillips
d771f6bc27
Add auto purging for SkPicture-related Ganesh resources (esp. layers)
...
This is intended to lower the bookkeeping burden for the Layer Caching feature. Cached layers are now automatically purged when a picture is deleted.
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/408923002
2014-07-22 10:18:06 -07:00
caryclark
17f0b6df72
share dm and command flags
...
Share command flags between dm and unit tests.
Also, allow dm's core to be included by itself and iOSShell.
Command line flags that are the same (or nearly the same) in DM
and in skia_tests have been moved to common_flags. Authors,
please check to see that the shared common flag is correct for
the tool.
For iOS, the 'tool_main' entry point has a wrapper to allow multiple
tools to be statically linked in the iOSShell.
Since SkCommandLineFlags::Parse can only be called once, these calls
are disabled in the IOS build.
Since the iOS app directory is dynamically assigned a name, use '@' to
select it. (This is the same convention chosen by the Mobile Harness
iOS file system utilities.)
Move the heart of dm.gyp into dm.gypi so that it can be included by
itself and iOSShell.gyp.
Add tools/flags/SkCommonFlags.* to define and declare common
command line flags.
Add support for dm to iOSShell.
BUG=skia:
R=scroggo@google.com , mtklein@google.com , jvanverth@google.com , bsalomon@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/389653004
2014-07-22 10:15:35 -07:00
joshualitt
ac9779234e
Initial change to move 2D kernel to its own file.
...
BUG=skia:
R=bsalomon@chromium.org , senorblanco@chromium.org , bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/379253003
2014-07-22 09:52:12 -07:00
cdalton
b85a0aab69
Add a GrPathRange class
...
Adds a GrPathRange object that represents a range of paths on the gpu.
Updates GrDrawTarget::drawPaths and supporting code to use GrPathRange
instead of an array of GrPath objects.
Change-Id: I67845f3893cd4d955db947d699aa3733cbb081e0
BUG=skia:
R=bsalomon@google.com , jvanverth@google.com , kkinnunen@nvidia.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/400713003
2014-07-21 15:32:44 -07:00
bsalomon
dcabb05113
Make GrCacheable implement its own ref counting.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/392333008
2014-07-21 14:24:01 -07:00
sugoi
518d83dbc1
Skia side RGB to YUV gpu conversion
...
This code is the one that's currently working in my local chromium build. A few things still need to be addressed and I'll highlight these directly in the code.
BUG=skia:
R=reed@google.com , bsalomon@google.com , senorblanco@google.com , senorblanco@chromium.org , robertphillips@google.com , scroggo@google.com , halcanary@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/374743003
2014-07-21 11:37:39 -07:00
bsalomon
63e99f7a03
Allow GrGLEffects to produce variable length keys.
...
R=robertphillips@google.com , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/385713005
2014-07-21 08:03:14 -07:00
reed
3f8540346d
hide public factory for intermediate class
...
Use SK_DECLARE_UNFLATTENABLE_OBJECT if the subclass should not be directly instantiated.
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/399383007
2014-07-21 07:31:53 -07:00
dominikg
1bd6f7de52
Remove use of SK_SUPPORT_LEGACY_LAYERRASTERIZER_API.
...
Mozilla have removed any uses of the legacy API from their Moz2D code.
Since they were the last users we know of, we can remove the legacy API.
BUG=skia:2187
R=scroggo@google.com , reed@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/402613003
2014-07-21 02:43:20 -07:00
robertphillips
249171e7d2
Revert of Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are… ( https://codereview.chromium.org/376703009/ )
...
Reason for revert:
Trying to unblock roll wedged on 64 bit intrinsic call on XP
Original issue's description:
> Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are deleted.
>
> Also, rename GrCacheable::getGenerationID() to getInstanceID() since it doesn't behave like other "generation" IDs.
>
> Committed: https://skia.googlesource.com/skia/+/91bdbcdbbdf5cdf0fdb4518a0d30206c964cfdf6
R=jvanverth@google.com , bsalomon@google.com
TBR=bsalomon@google.com , jvanverth@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/405023003
2014-07-20 09:21:02 -07:00
bungeman
733418f91e
Remove SkRefPtr.
...
R=mtklein@google.com , reed@google.com , bsalomon@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/393913002
2014-07-17 12:17:55 -07:00
cdalton
8dd90cb1fd
Add IsPath to GrGLInterface
...
This will be used by path ranges.
BUG=skia:
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/403563002
2014-07-17 09:28:36 -07:00
bsalomon
91bdbcdbbd
Use the GrCacheable ID to eliminate the need for notifications to GrGpuGL when textures and RTs are deleted.
...
Also, rename GrCacheable::getGenerationID() to getInstanceID() since it doesn't behave like other "generation" IDs.
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/376703009
2014-07-17 09:28:07 -07:00
bsalomon
929f29a5c1
Makes GrGLProgramDesc's key store the lengths as well as offsets of the effect keys.
...
Makes it possible to use GrBackendEffectFactories other than GrTBEF by moving meta-key generation out of GrTBEF.
Cleans up docs around GrBackendEffectFactory.
Committed: https://skia.googlesource.com/skia/+/c0ea398aff8254e31152cbb94c9ab6150428e252
R=robertphillips@google.com , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/379113004
2014-07-17 07:55:11 -07:00
reed
b959ec7815
factor out flattening/unflattening of common fields from SkImageFilter
...
This is a precursor to changing SkImageFilters (and all effects) to unflatten via a factory instead of a constructor. In that world, each subclass of ImageFilter will need to control/initiate the unflattening of the common fields, so they can be extract and passed to their Factory.
R=senorblanco@google.com , robertphillips@google.com , mtklein@google.com , senorblanco@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/395273002
2014-07-17 07:03:09 -07:00
halcanary
805ef159d1
Set maximum output size for scaled-image-cache images
...
Accessable via:
SkScaledImageCache::{G,S}etMaximumOutputSizeForHighQualityFilter
Also, a unit test.
BUG=389439
R=humper@google.com , tomhudson@google.com , reveman@chromium.org , vangelis@chromium.org , reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/394003003
2014-07-17 06:58:01 -07:00
krajcevski
7ef21622b2
Add new ASTC pixel config
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/399623004
2014-07-16 15:21:14 -07:00
Mike Klein
0b4cc892cb
Disable assertion of fBoundsIsDirty.
...
We allow this to be raced on, and it may have already become not-dirty by the
time we get to this function if computed by another thread.
BUG=skia:
Review URL: https://codereview.chromium.org/398913002
2014-07-16 17:18:20 -04:00
joshualitt
ee5da55477
32 bpp floating point textures
...
This is VERY preliminary, but it was sufficient for me to get 32 bit floating point textures in a sample app
BUG=skia:
R=bsalomon@chromium.org , bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/359803003
2014-07-16 13:32:56 -07:00
Mike Klein
e7fd6db41a
Remove yet-unused 64-bit atomic hooks.
...
For now, I think we'll just be using sk_atomic_inc on 64-bit values, so
let's cut out the dead code for now.
NOTREECHECKS=true
BUG=skia:
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/398003004
2014-07-16 15:20:58 -04:00
mtklein
7940100fae
Revert of Makes GrGLProgramDesc's key store the lengths as well as offsets of the effect keys. ( https://codereview.chromium.org/379113004/ )
...
Reason for revert:
Most likely candidate for Valgrind failures:
[21:10:08.755668] ==3036== Use of uninitialised value of size 8
[21:10:08.755753] ==3036== at 0x734AB2: GrGpuGL::ProgramCache::getProgram(GrGLProgramDesc const&, GrEffectStage const**, GrEffectStage const**) (GrGpuGL_program.cpp:107)
[21:10:08.755788] ==3036== by 0x734ED2: GrGpuGL::flushGraphicsState(GrGpu::DrawType, GrDeviceCoordTexture const*) (GrGpuGL_program.cpp:253)
[21:10:08.755811] ==3036== by 0x6E81C2: GrGpu::setupClipAndFlushState(GrGpu::DrawType, GrDeviceCoordTexture const*, GrDrawState::AutoRestoreEffects*, SkRect const*) (GrGpu.cpp:350)
[21:10:08.755837] ==3036== by 0x6E9BE8: GrGpu::onDraw(GrDrawTarget::DrawInfo const&) (GrGpu.cpp:390)
[21:10:08.755858] ==3036== by 0x6EEECE: GrInOrderDrawBuffer::flush() (GrDrawTarget.h:506)
[21:10:08.755879] ==3036== by 0x6D0EB4: GrContext::flush(int) (GrContext.cpp:1327)
[21:10:08.755900] ==3036== by 0x6D3F8F: GrContext::writeTexturePixels(GrTexture*, int, int, int, int, GrPixelConfig, void const*, unsigned long, unsigned int) (GrContext.cpp:1349)
[21:10:08.755922] ==3036== by 0x6D39D7: GrContext::writeRenderTargetPixels(GrRenderTarget*, int, int, int, int, GrPixelConfig, void const*, unsigned long, unsigned int) (GrContext.cpp:1632)
[21:10:08.755949] ==3036== by 0x6FFDF3: GrRenderTarget::writePixels(int, int, int, int, GrPixelConfig, void const*, unsigned long, unsigned int) (GrRenderTarget.cpp:45)
[21:10:08.755978] ==3036== by 0x735563: SkGpuDevice::onWritePixels(SkImageInfo const&, void const*, unsigned long, int, int) (SkGpuDevice.cpp:280)
[21:10:08.756003] ==3036== by 0x57A048: SkBaseDevice::writePixels(SkImageInfo const&, void const*, unsigned long, int, int) (SkDevice.cpp:106)
[21:10:08.756025] ==3036== by 0x56D0AE: SkCanvas::writePixels(SkImageInfo const&, void const*, unsigned long, int, int) (SkCanvas.cpp:700)
[21:10:08.756050] ==3036== by 0x56D156: SkCanvas::writePixels(SkBitmap const&, int, int) (SkCanvas.cpp:652)
[21:10:08.756077] ==3036== by 0x5109B6: test_WritePixels(skiatest::Reporter*, GrContextFactory*) (WritePixelsTest.cpp:464)
[21:10:08.756099] ==3036== by 0x51114C: skiatest::WritePixelsClass::onRun(skiatest::Reporter*) (WritePixelsTest.cpp:361)
[21:10:08.756122] ==3036== by 0x406BE8: skiatest::Test::run() (Test.cpp:107)
[21:10:08.756145] ==3036== by 0x4064C2: SkTestRunnable::run() (skia_test.cpp:109)
[21:10:08.756167] ==3036== by 0x405D1A: tool_main(int, char**) (skia_test.cpp:221)
[21:10:08.756189] ==3036== by 0x405F75: main (skia_test.cpp:239)
[21:10:08.756211] ==3036== Uninitialised value was created by a stack allocation
[21:10:08.756233] ==3036== at 0x734CC8: GrGpuGL::flushGraphicsState(GrGpu::DrawType, GrDeviceCoordTexture const*) (GrGpuGL_program.cpp:213)
Original issue's description:
> Makes GrGLProgramDesc's key store the lengths as well as offsets of the effect keys.
>
> Makes it possible to use GrBackendEffectFactories other than GrTBEF by moving meta-key generation out of GrTBEF.
>
> Cleans up docs around GrBackendEffectFactory.
>
> Committed: https://skia.googlesource.com/skia/+/c0ea398aff8254e31152cbb94c9ab6150428e252
R=robertphillips@google.com , jvanverth@google.com , bsalomon@google.com
TBR=bsalomon@google.com , jvanverth@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/394213002
2014-07-16 06:16:43 -07:00
scroggo
0847059fcf
Remove kImageIsImmutable_Flag.
...
This flag was only used when setting or checking SkBitmap's
immutability when it did not have an SkPixelRef. Now that an
SkBitmap *must* have one in order to draw (e.g. you can no
longer have an SkBitmap that owns its pixels directly), its
immutabity without an SkPixelRef makes no sense.
Also, now that the flags are not contiguous starting from
0x01, use a more appropriate check to ensure only meaningful
flags are used.
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/387083002
2014-07-15 19:56:48 -07:00
bsalomon
c0ea398aff
Makes GrGLProgramDesc's key store the lengths as well as offsets of the effect keys.
...
Makes it possible to use GrBackendEffectFactories other than GrTBEF by moving meta-key generation out of GrTBEF.
Cleans up docs around GrBackendEffectFactory.
R=robertphillips@google.com , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/379113004
2014-07-15 19:41:17 -07:00
mtklein
a179a1ede9
SkAutoRef seems lonely. Might as well delete it.
...
(On the other hand, SkAutoUnref is well-used.)
NOTREECHECKS=true
BUG=skia:
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/393953004
2014-07-15 13:29:34 -07:00
scroggo
352c2181d1
Change SkCanvasState to use inheritance.
...
The base class, SkCanvasState, now holds the version, width, and
height. These fields will always be a necessary part of the class.
(Also add in some padding.)
The other fields, which may change, have been moved into the
subclass, SkCanvasState_v1. If/when the version changes, it will
correspond to a new subclass.
In SkCanvasStateUtils::CreateFromCanvasState, check the version on
the base class, then do a static_cast to the version corresponding
to SkCanvasState::version.
Remove CANVAS_STATE_VERSION, which is redundant with the version
specified by the subclass.
Use unambiguous type for rowBytes.
Build Android with SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG. This allows us
to run the full suite of CanvasState tests. It is also representative
of what will be used on Android by WebView.
Fix CanvasStateTest where it was broken inside ifdef'ed out code.
Use SkCanvas::getBaseLayerSize() instead of the deprecated
SkCanvas::getDeviceSize().
Update the comments in the header to be more clear. In particular,
an SkCanvasState can only be used to pass an SkCanvas' state to a
future version of Skia (or the same); not an older version.
NOTREECHECKS=true
BUG=b/15693384
R=reed@google.com , mtklein@google.com , djsollen@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/372003002
2014-07-15 12:34:26 -07:00
reed
f59eab2693
patch from issue 383923002
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/394603003
2014-07-14 14:39:15 -07:00
tfarina
6599258a99
Cleanup: Remove unused/unimplemented SkTextLayout.h.
...
Nobody uses it in Skia, Chromium and Blink. And it does not have any
implementation either.
BUG=None
TEST=make all
R=mtklein@google.com , reed@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/385323002
2014-07-14 12:32:47 -07:00
reed
3b72f79289
remove unused SkPixelRef constructor
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/390893002
2014-07-14 10:13:57 -07:00
reed
ed458688e2
remove SK_SUPPORT_LEGACY_PIXELREF_UNFLATTENABLE code
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/387313004
2014-07-14 09:21:31 -07:00
robertphillips
e8464994bb
Make SkPictureShader and SkPictureImageFilter use const SkPictures
...
R=mtklein@google.com , reed@google.com
TBR=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/390023002
2014-07-14 07:53:27 -07:00
scroggo
7e4b2b5027
Remove unused kImageIsOpaque_Flag.
...
This flag is never set or read. We now look at the alpha type to
determine opacity.
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/385943003
2014-07-14 07:53:18 -07:00
piotaixr
cef04f8188
Deleted SkImage::newShaderClamp: not used, not implemented.
...
Implemented SkImage::newShader.
BUG=skia:2701, 344804
R=junov@chromium.org , reed@chromium.org , bsalomon@chromium.org , reed@google.com
Author: piotaixr@chromium.org
Review URL: https://codereview.chromium.org/345463009
2014-07-14 07:48:04 -07:00
Robert Phillips
cfaeec446d
Remove Skia's use of the default SkPicture constructor and multi-clone
...
This cannot be landed until (Chrome: Switch to one-at-a-time SkPicture::clone interface - https://codereview.chromium.org/380323002/ ) has landed.
R=mtklein@google.com
TBR=reed@google.com
Review URL: https://codereview.chromium.org/388833003
2014-07-13 12:00:50 -04:00
robertphillips
dd528967fc
Remove SkPicture copy constructor
...
Given where we're heading with SkPicture why would you need to make a copy?
R=reed@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/381133002
2014-07-13 07:55:53 -07:00
reed
b184f7f52b
Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixels
...
This reverts commit 651eaeadeb
.
TBR=
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/390693002
2014-07-13 04:32:32 -07:00
reed
651eaeadeb
Revert of Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixels ( https://codereview.chromium.org/388803007/ )
...
Reason for revert:
still failing (randomly?) bench sometimes. need stack dump to diagnose.
Original issue's description:
> Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixels
> usning it.
>
> Revert "Revert of add readPixels() to SkBitmap (https://codereview.chromium.org/377303002/ )"
>
> This reverts commit d08cb905a7
.
>
> TBR=scroggo@google.com
>
> Committed: https://skia.googlesource.com/skia/+/debba5c3d091159149f8a88ab5dcd44dd72e0dc7
R=reed@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/382543005
2014-07-12 13:16:10 -07:00
reed
debba5c3d0
Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixels
...
usning it.
Revert "Revert of add readPixels() to SkBitmap (https://codereview.chromium.org/377303002/ )"
This reverts commit d08cb905a7
.
R=reed@chromium.org
TBR=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/388803007
2014-07-12 12:26:36 -07:00
jvanverth
733f5f5dbc
Refactor SkGrFontScaler and SkGrFontKey into non-virtual versions.
...
This is a pre-cleanup for another change, but has the side benefit of making
the code simpler in general.
No perf increase, despite removing virtual functions.
R=bsalomon@google.com , egdaniel@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/385263002
2014-07-11 19:45:16 -07:00
caryclark
936b73424f
ios fixes
...
skia_ios.mm
Get the app's Documents directory and pass use it to set the resource path.
This is a quick hack which will be replaced by a new application that is
a tiny shim around a command line tool.
SkImageEncoder.h
SkForceLinking.cpp
SkImageDecoder_CG.cpp
Add support for FORCE_LINKING so iOS sees the PNG encoder and others.
SkFloatBits.cpp
SkPoint.cpp
Handle denormalized numbers that are floored by the iOS ARM processor.
SkImageDecoder_iOS.mm
Remove empty encoder factory.
SkTouchGesture.cpp
Return early on empty state on touch rather than aborting (crashing)
JpegTest.cpp
Hal via stackoverflow.com says partial jpegs can be gray as well.
skia_test.cpp
Remove crash handler call for now to avoid link failure.
OverwriteLine.h
Remove fancy line overwrite for iOS.
Resources.cpp
Add interface to set resource directory based on runtime query.
BUG=skia:2736 skia:2737 skia:2738
R=reed@google.com , halcanary@google.com , mtklein@google.com , tfarina@chromium.org
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/373383003
2014-07-11 12:14:51 -07:00
scroggo
ef0fd61dc2
Remove SK_SUPPORT_LEGACY_SHADER_LOCALMATRIX.
...
This is no longer needed by Android.
BUG=skia:1976
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/379323002
2014-07-11 11:33:52 -07:00
scroggo
c870d494dd
Use SkShader's localMat for SkLocalMatrixShader.
...
Instead of setting SkShader::fLocalMatrix to Identity and storing
a separate SkMatrix inside SkLocalMatrixShader, reuse
SkShader::fLocalMatrix.
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/386693003
2014-07-11 10:42:12 -07:00
bsalomon
848faf00ec
This moves us towards variable length effect keys. The overall program key now allows for it. After the header it stores an array of offsets to effect keys. This allows us to grab the effect keys to pass to effects when they generate code. It also ensures that we can't get a collision by sets of keys that are different lengths but are the same when appended together.
...
R=robertphillips@google.com , jvanverth@google.com , egdaniel@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/356513003
2014-07-11 10:01:02 -07:00
bsalomon
00a8fae0ce
Add support for 64bit atomic inc/dec/cas
...
R=mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/377073002
2014-07-11 08:42:11 -07:00
jcgregorio
d08cb905a7
Revert of add readPixels() to SkBitmap ( https://codereview.chromium.org/377303002/ )
...
Reason for revert:
Maybe causing crashes in bench.
http://108.170.220.120:10117/builders/Test-ChromeOS-Daisy-MaliT604-Arm7-Debug/builds/2608/steps/RunBench/logs/stdio
Original issue's description:
> add readPixels() to SkBitmap
>
> BUG=chromium:390782
>
> Committed: https://skia.googlesource.com/skia/+/c4f216151b6ade70c35fade09a353052f40236b1
R=scroggo@google.com , bsalomon@google.com , reed@google.com
TBR=bsalomon@google.com , reed@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=chromium:390782
Author: jcgregorio@google.com
Review URL: https://codereview.chromium.org/382243003
2014-07-11 07:48:20 -07:00
robertphillips
ffc75efc1a
Revert of Add alternate SkPicture::clone ( https://codereview.chromium.org/381193002/ )
...
Reason for revert:
Going to try to just remove the many-at-once clone interface
Original issue's description:
> Add alternate SkPicture::clone
>
> This adds an alternate version of SkPicture::clone for two reasons:
>
> 1) Chromium uses the SkPicture copy constructor to unpack the pictures from the old-style clone interface (and I would like to remove the copy ctor)
>
> 2) This is part of the long term plan to wean Chrome off of cloning. Once pictures are thread safe we will switch the new SkPicture::clone call to just return 'this'. From there it is a small step to removing clone entirely.
>
> Note that the two versions of clone() is temporary. Once this is landed (and rolled) I will land a Chrome-side patch to remove their use of the old interface (Use new SkPicture::clone interface - https://codereview.chromium.org/380323002/ )
>
> Committed: https://skia.googlesource.com/skia/+/e372e78223a8ce916d276d6e0420d552fb0267e9
R=mtklein@google.com , reed@google.com
TBR=mtklein@google.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/386933004
2014-07-11 06:45:58 -07:00
bungeman
bf0b9ced0b
Add file access modes to sk_exists.
...
Both Windows and Posix 'access' calls take a mode parameter which,
in addition to checking existence, checks access modes.
This change exposes this functionality.
R=mtklein@google.com , reed@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/384903002
2014-07-10 15:18:23 -07:00
reed
c4f216151b
add readPixels() to SkBitmap
...
BUG=chromium:390782
R=scroggo@google.com , bsalomon@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/377303002
2014-07-10 14:15:57 -07:00
robertphillips
e372e78223
Add alternate SkPicture::clone
...
This adds an alternate version of SkPicture::clone for two reasons:
1) Chromium uses the SkPicture copy constructor to unpack the pictures from the old-style clone interface (and I would like to remove the copy ctor)
2) This is part of the long term plan to wean Chrome off of cloning. Once pictures are thread safe we will switch the new SkPicture::clone call to just return 'this'. From there it is a small step to removing clone entirely.
Note that the two versions of clone() is temporary. Once this is landed (and rolled) I will land a Chrome-side patch to remove their use of the old interface (Use new SkPicture::clone interface - https://codereview.chromium.org/380323002/ )
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/381193002
2014-07-10 14:10:58 -07:00
mtklein
42483d9026
Split SkTRacy into SkTRacy and SkTRacyReffable.
...
Looks like TSAN can't always suppress our existing implementation of SkTRacy
(what is turning here into SkTRacyReffable). To minimize flakiness, use
SkTRacy where possible and SkTRacyReffable where necessary.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/497cda3a6b72b9cb390334e8756d38b4ffac044f
NOTRY=true
R=robertphillips@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/388503002
2014-07-10 11:11:50 -07:00
mtklein
497cda3a6b
Split SkTRacy into SkTRacy and SkTRacyReffable.
...
Looks like TSAN can't always suppress our existing implementation of SkTRacy
(what is turning here into SkTRacyReffable). To minimize flakiness, use
SkTRacy where possible and SkTRacyReffable where necessary.
BUG=skia:
R=robertphillips@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/388503002
2014-07-10 10:38:22 -07:00
robertphillips
6142609b22
Cleanup SkPicture* classes a bit
...
This is an attempt to reduce the number of friends the various SkPicture* classes have.
Probably the only controversial part is making getBitmap, getPath, getPicture and getPaint
public on SkPictureData (and adding a new initIterator entry point).
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/384753004
2014-07-10 09:35:12 -07:00
Mike Klein
15840a2e84
Delete third_party/harfbuzz
...
BUG=skia:
R=bungeman@google.com , reed@google.com
Review URL: https://codereview.chromium.org/384503008
2014-07-10 11:32:44 -04:00
robertphillips
c26d991bf2
Split SkPictureReplacementPlayback out of SkPicturePlayback
...
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/383733002
2014-07-10 07:21:27 -07:00
reed
da03653f34
fix typo, had two RGBA instead of RGBA and BGRA
...
TBR=caryclark@google.com
BUG=skia:
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/382633004
2014-07-09 17:28:19 -07:00
ehsan.akhgari
db5f7bf0a4
Do not export SkTDArray when building Skia as a DLL
...
This class has four members (deleteAll, freeAll, unrefAll and
safeUnrefAll) which will only compile for certain instantiations of
SkTDArray depending on the template argument type. Marking this class
as dllexport breaks the build with clang-cl because of
http://llvm.org/PR20163 . Since this class is header-only, we can just
make it non-exported to enable building Skia as a DLL with clang-cl.
BUG=skia:
R=ctguil@chromium.org , mtklein@google.com , reed@google.com
Author: ehsan.akhgari@gmail.com
Review URL: https://codereview.chromium.org/368253002
2014-07-09 11:13:55 -07:00
tfarina
e53363fa7c
Cleanup: Remove SkUTF16_Str API.
...
It does not have any users in Skia, Blink and Chromium.
BUG=None
TEST=make all
R=mtklein@google.com , reed@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/366243004
2014-07-09 09:18:05 -07:00
mtklein
bd7746da97
Remove ability for Release code to call getRefCnt() or getWeakRefCnt().
...
These getRefCnt() methods are not thread safe, so Skia code should not
be calling them. unique() is fine.
SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt().
This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in
both debug and release modes.
BUG=skia:2726
Committed: https://skia.googlesource.com/skia/+/4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443
R=senorblanco@chromium.org , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/378643003
2014-07-09 07:52:32 -07:00
henrik.smiding
a9309f5e5b
Add thread safety configuration check.
...
Enables the possibility to set thread model in the configuration
files (like Android does).
Also adds a warning check to make sure that we have an
implementation for the thread safety class.
Author: joakim.landberg@intel.com
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 , torne@chromium.org , scroggo@google.com
Author: henrik.smiding@intel.com
Review URL: https://codereview.chromium.org/361423003
2014-07-09 07:25:09 -07:00
Mike Klein
874a62acef
Revert "Remove ability for Release code to call getRefCnt() or getWeakRefCnt()."
...
This reverts commit 4ae94ffce5
.
BUG=skia:
Review URL: https://codereview.chromium.org/382523002
2014-07-09 09:04:07 -04:00
mtklein
0b544ae222
Add SkRacy
...
SkRacy<T> is a zero-overhead wrapper for a T, except it also
silences race warnings when TSAN is running.
Here we apply in several classes. In SkMatrix and SkPathRef,
we use it to opportunistically cache some idempotent work.
In SkPixelRef, we wrap the genIDs. We think the worst that
can happen here is we'll increment the global next-genID a
few times instead of once when we go to get another ID.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7
CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot,Canary-Chrome-Win7-Ninja-x86-SharedLib_ToT-Trybot,Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/371363004
2014-07-08 19:37:47 -07:00
mtklein
d3f3e5895e
Revert of Add SkRacy ( https://codereview.chromium.org/371363004/ )
...
Reason for revert:
hidden symbol 'AnnotateBenignRaceSized' in obj/base/third_party/dynamic_annotations/libdynamic_annotations.a(obj/base/third_party/dynamic_annotations/dynamic_annotations.dynamic_annotations.o) is referenced by DSO lib/libblink_platform.so
Original issue's description:
> Add SkRacy
>
> SkRacy<T> is a zero-overhead wrapper for a T, except it also
> silences race warnings when TSAN is running.
>
> Here we apply in several classes. In SkMatrix and SkPathRef,
> we use it to opportunistically cache some idempotent work.
>
> In SkPixelRef, we wrap the genIDs. We think the worst that
> can happen here is we'll increment the global next-genID a
> few times instead of once when we go to get another ID.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7
R=reed@google.com , mtklein@chromium.org
TBR=mtklein@chromium.org , reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/377693005
2014-07-08 14:06:46 -07:00
mtklein
7b17547bc8
Revert of Missing volatile in AnnotateBenignRaceSized declaration. ( https://codereview.chromium.org/380473002/ )
...
Reason for revert:
sdf
Original issue's description:
> Missing volatile in AnnotateBenignRaceSized declaration.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/f7a180b
R=mtklein@chromium.org
TBR=mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/379623004
2014-07-08 14:04:45 -07:00
Mike Klein
f7a180b10f
Missing volatile in AnnotateBenignRaceSized declaration.
...
BUG=skia:
Review URL: https://codereview.chromium.org/380473002
2014-07-08 15:54:06 -04:00
mtklein
d5e3e6ae1b
Add SkRacy
...
SkRacy<T> is a zero-overhead wrapper for a T, except it also
silences race warnings when TSAN is running.
Here we apply in several classes. In SkMatrix and SkPathRef,
we use it to opportunistically cache some idempotent work.
In SkPixelRef, we wrap the genIDs. We think the worst that
can happen here is we'll increment the global next-genID a
few times instead of once when we go to get another ID.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/371363004
2014-07-08 12:30:39 -07:00
reed
be08aceaab
add setPreserveSrcDepth to replace PrefTable API for android
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/371273007
2014-07-08 11:15:59 -07:00
bsalomon
0139ae3ec4
Fix param name in GrEffect::CastEffect
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/376863006
2014-07-08 10:30:38 -07:00
Robert Phillips
004522f91c
Back off from SkPicture API hardening a bit
...
Sigh - Chromium still relies on the old clone functionality
TBR=reed@google.com
Review URL: https://codereview.chromium.org/371273006
2014-07-08 12:58:20 -04:00
bsalomon
83d081ae1d
Goodbye GrEffectRef.
...
Also, reworked some var names and comments around SkShader::asNewEffect.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/374923002
2014-07-08 09:56:11 -07:00
senorblanco
9ea3d57fde
Clean up SkImageFilter constructors.
...
Now that all creation of SkImageFilters goes through
factory Create() methods, there's no real reason for the
convenience constructors. Some SkImageFilter subclasses
which actually have zero DAG-able inputs were passing NULL
to the superclass constructor. This actually means 1 input,
with a NULL value, not zero inputs. This becomes more
relevant for the upcoming cache infrastructure, where this
indicates that the filter will use its src input, where in
fact some of these filters do not (they are image generators
only).
Limiting SkImageFilter to a single constructor resolves this
ambiguity.
Along the way, I removed all of the default parameters to
the constructors, since the Create methods always call them
with the full argument list.
BUG=skia:
R=reed@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/376953003
2014-07-08 09:16:22 -07:00
robertphillips
6daadc7481
Harden SkPicture interface a bit
...
With the removal of SkTimedPicture we can now make more of SkPicture private.
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/377833007
2014-07-08 08:38:18 -07:00
bsalomon
55fad7af61
Remove GrEffect::CreateEffectRef and GrEffect::AutoEffectRef.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/371103003
2014-07-08 07:34:21 -07:00
bsalomon
97b9ab72cd
Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
...
Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
Make GrEffectRef a typedef for GrEffect.
Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/377503004
2014-07-08 06:52:35 -07:00
mtklein
4ae94ffce5
Remove ability for Release code to call getRefCnt() or getWeakRefCnt().
...
These getRefCnt() methods are not thread safe, so Skia code should not
be calling them. unique() is fine.
SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt().
This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in
both debug and release modes.
BUG=skia:2726
R=senorblanco@chromium.org , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/378643003
2014-07-08 06:48:17 -07:00
robertphillips
3afef1f75f
Clean up a bit after SkPictureData/SkPicturePlayback split
...
This CL begins setting up the SkPicturePlayback split by simplifying the class and componentizing it a bit. It:
fuses SkPictureData::OperationList into SkPicture::OperationList
adds a handleOp method to SkPicturePlayback that can be reused by derived classes
removes a couple debugging tools (ENABLE_TIME_DRAW & SPEW_CLIP_SKIPPING)
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/378703002
2014-07-08 06:12:22 -07:00
reed
beaf62da36
remove unneeded flag for android
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/372133003
2014-07-07 15:54:20 -07:00
reed
969842ac9c
Revert of Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*. ( https://codereview.chromium.org/377503004/ )
...
Reason for revert:
broke linux builders
Original issue's description:
> Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
>
> Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
>
> Make GrEffectRef a typedef for GrEffect.
>
> Committed: https://skia.googlesource.com/skia/+/2011fe9cdfa63b83489a146cea6a724cede352c8
R=robertphillips@google.com , bsalomon@google.com
TBR=bsalomon@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
Author: reed@google.com
Review URL: https://codereview.chromium.org/372053003
2014-07-07 15:17:49 -07:00
bsalomon
2011fe9cdf
Make GrDrawState and GrPaint take GrEffect* instead of GrEffectRef*.
...
Make Sk-effect virtuals produce GrEffect* rather than GrEffectRef*
Make GrEffectRef a typedef for GrEffect.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/377503004
2014-07-07 15:11:31 -07:00
reed
060c41a499
remove unneeded flags (have been purged from chrome and android)
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/372793003
2014-07-07 14:45:11 -07:00
reed
9a9eae21ed
change pixelref to not inherit from SkFlattenable
...
If I can "inline" MallocPixelRef unflatten, then I think we can delete this code. The only caller today should be unflattening in the legacy path for bitmaps.
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/320873003
2014-07-07 14:32:06 -07:00
reed
620fc60b04
remove SK_SUPPORT_LEGACY_DEVICE_VIRTUAL_ISOPAQUE
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/373853002
2014-07-07 13:51:48 -07:00
robertphillips
ce4dd3de38
Split SkPicturePlayback out of SkPictureData
...
This splits the playback functionality out of SkPictureData. The old SkPictureData::draw method is pulled out along
with its supporting functions as verbatim as possible. Some follow on CLs will be required to:
re-enable profiling in the debugger (and remove the vestiges of SkTimedPicture)
re-enable display of command offsets in the picture (this should probably wait until we've switched to SkRecord though)
Clean up CachedOperationList (maybe fuse with SkPicture::OperationList)
Split SkPicturePlayback into a base class and two derived classes
Implement parallel version of GatherGPUInfo for SkRecord
Landing this is blocked on removing Android's use of the abortPlayback entry point.
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/377623002
2014-07-07 13:46:35 -07:00
bsalomon
f99f884cd8
Remove use of GrEffectRef from draw state and below.
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/372773002
2014-07-07 11:54:23 -07:00
bsalomon
81d71885f1
Remove GrEffectStage::DeferredStage
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/373603005
2014-07-07 10:46:32 -07:00
tomhudson
d930511ee7
Linear-time implementation of willPlaybackBitmaps(), computed & cached
...
on construction in SkPicture. Unit test.
Template trickery thanks to mtklein@.
BUG=skia:2702
R=mtklein@google.com , reed@android.com , reed@google.com , tomhudson@google.com , mtklein, reed
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/366443002
2014-07-05 13:37:53 -07:00
reed
e1085e0381
move SkChecksum and SkEmptyShader to private
...
TBR=reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/366133002
2014-07-03 07:26:01 -07:00
kkinnunen
32b9a3b02e
Add functions to support NV_path_rendering in OpenGL ES
...
Add OpenGL ES extension functions needed to support NV_path_rendering in OpenGL
ES.
The added glProgramPathFragmentInputGenNV call is defined in NV_path_rendering
revision 30, similar to following:
Append to the end of the "Shader Inputs" subsection of Section 3.12.2
"Shader Execution":
The command
void ProgramPathFragmentInputGenNV(uint program,
int location,
enum genMode,
int components,
const float *coeffs);
controls how a user-defined (non-built-in) fragment input of a
GLSL program object is computed for fragment shading operations that
occur as a result of CoverFillPathNV or CoverStrokePathNV.
/program/ names a GLSL program object. If /program/ has not been
successfully linked, the error INVALID_OPERATION is generated.
The given fragment input generation state is loaded into the fragment
input variable location identified by /location/. This location
is a value returned either by GetProgramResourceLocation with a
/programInterface/ of FRAGMENT_INPUT_NV and a given fragment shader
input variable name or by GetProgramResourceiv with FRAGMENT_INPUT_NV
for the /programInterface/ and LOCATION for the property for a given
fragment input resource index.
....
glProgramPathFragmentInputGenNV will be used instead of glPathTexGen,
because the latter depends on fixed function pipeline that is not
exposed in ES.
Also add glGetProgramResourceLocation from OpenGL 4.3 or
ARB_program_interface_query.
Also add FRAGMENT_INPUT define to be used with glGetProgramResourceLocation.
The added functions are not used yet, but they're needed when implementing
NV_path_rendering support for OpenGL ES. They can also be used on OpenGL.
Remove uncalled NV_path_rendering functions, so they do not cause confusion
or take space in the interface definition. The ones that are later used
can be re-added when needed.
Remove definitions NV_path_rendering that are for NV_path_rendering function
parameters that are not used. The ones that are later used
can be re-added when needed.
Committed: https://skia.googlesource.com/skia/+/4a995dfff2ecf91e8bf999d77e3218cec596232c
R=bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/345723002
2014-07-02 22:56:36 -07:00
tomhudson
e438ddbc74
Uses optional mutex to guard construction of the singleton, which
...
initializes the non-threadsafe libfontconfig. Without this change,
Skia's parallel path ops test runner crashes 6/10 and hangs 2/10 on
startup; with this change, 0/10 problems.
BUG=skia:2693
R=mtklein@google.com , bungeman@google.com , reed@google.com
Committed: https://skia.googlesource.com/skia/+/df022f5972ae6a2a1d96d15c50eca52cade3abd8
Committed: https://skia.googlesource.com/skia/+/60b08a0adfe73f593af62c8d3f55958438360e1b
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/355573006
2014-07-01 18:54:41 -07:00
mtklein
e41f3886ea
Revert of Fix race condition in parallel font initialization. ( https://codereview.chromium.org/355573006/ )
...
Reason for revert:
canaries still slightly broken
Original issue's description:
> Fix race condition in parallel font initialization.
>
> Uses a mutex to guard construction of the singleton, which initialies
> the non-threadsafe libfontconfig. Without this change, the parallel
> path ops test runner crashes 6/10 and hangs 2/10 on startup; with this
> change, 0/10 problems.
>
> BUG=skia:2693
> R=mtklein@google.com ,bungeman@google.com
>
> Committed: https://skia.googlesource.com/skia/+/df022f5972ae6a2a1d96d15c50eca52cade3abd8
>
> Committed: https://skia.googlesource.com/skia/+/60b08a0adfe73f593af62c8d3f55958438360e1b
R=bungeman@google.com , reed@google.com , tomhudson@google.com , tomhudson@chromium.org
TBR=bungeman@google.com , reed@google.com , tomhudson@chromium.org , tomhudson@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2693
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/354133004
2014-07-01 13:33:32 -07:00
reed
f0aed97aec
correctly plumb through explicit rowbytes for allocPixels
...
BUG=skia:
R=caryclark@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/357073003
2014-07-01 12:48:11 -07:00
fmalita
696d361176
Temporarily resurface matrix/clip save flags enum values.
...
Pending Android build fixes.
R=reed@google.com , scroggo@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/365463005
2014-07-01 11:55:41 -07:00
robertphillips
db539905bb
Rename SkPicturePlayback to SkPictureData
...
This is in preparation for splitting the playback portion of the new SkPictureData class into a new SkPicturePlayback class.
R=reed@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/362773002
2014-07-01 08:47:04 -07:00
tomhudson
60b08a0adf
Fix race condition in parallel font initialization.
...
Uses a mutex to guard construction of the singleton, which initialies
the non-threadsafe libfontconfig. Without this change, the parallel
path ops test runner crashes 6/10 and hangs 2/10 on startup; with this
change, 0/10 problems.
BUG=skia:2693
R=mtklein@google.com , bungeman@google.com , reed@google.com , tomhudson@google.com
Committed: https://skia.googlesource.com/skia/+/df022f5972ae6a2a1d96d15c50eca52cade3abd8
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/355573006
2014-07-01 08:06:14 -07:00
bsalomon
9245b7ee76
When performing offscreen rendering on windows, attempt to use a pbuffer context.
...
A pbuffer context is less likely to have a blocking SwapBuffers (due to vsync).
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/336863009
2014-07-01 07:20:11 -07:00
scroggo
2fd0d14b9b
Adjust the alpha type for pixelRefs.
...
Move SkBitmap's validate_alphaType to SkImageInfo, with the new
name SkColorTypeValidateAlphaType. Use it in SkPixelRef's constructors,
as well as in SkDecodingImageGenerator. This fixes a bug where an
SkPixelRef's SkAlphaType could get out of sync with its SkBitmap,
when both were assigned the same SkAlphaType.
R=reed@google.com , halcanary@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/346593003
2014-07-01 07:08:20 -07:00
tfarina
10722184fd
Cleanup: Delete SkJSON header.
...
It seems it does not have any implementation so it is unlikely it will
have any user, either internal or external.
BUG=None
TEST=make all
R=bsalomon@google.com , mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/353183006
2014-06-30 17:11:33 -07:00
reed
50a7b0e621
Revert of Fix race condition in parallel font initialization. ( https://codereview.chromium.org/355573006/ )
...
Reason for revert:
breaks chrome builds
Original issue's description:
> Fix race condition in parallel font initialization.
>
> Uses a mutex to guard construction of the singleton, which initialies
> the non-threadsafe libfontconfig. Without this change, the parallel
> path ops test runner crashes 6/10 and hangs 2/10 on startup; with this
> change, 0/10 problems.
>
> BUG=skia:2693
> R=mtklein@google.com ,bungeman@google.com
>
> Committed: https://skia.googlesource.com/skia/+/df022f5972ae6a2a1d96d15c50eca52cade3abd8
R=mtklein@google.com , bungeman@google.com , reed@google.com , tomhudson@google.com , tomhudson@chromium.org
TBR=bungeman@google.com , mtklein@google.com , reed@google.com , tomhudson@chromium.org , tomhudson@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2693
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/365503003
2014-06-30 16:48:24 -07:00
tomhudson
df022f5972
Fix race condition in parallel font initialization.
...
Uses a mutex to guard construction of the singleton, which initialies
the non-threadsafe libfontconfig. Without this change, the parallel
path ops test runner crashes 6/10 and hangs 2/10 on startup; with this
change, 0/10 problems.
BUG=skia:2693
R=mtklein@google.com , bungeman@google.com , reed@google.com , tomhudson@google.com
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/355573006
2014-06-30 14:14:01 -07:00
reed
e6772216b4
add SK_API to config helpers so chrome can call them
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/359353003
2014-06-30 14:00:41 -07:00
reed
6c6ddb8805
update dox
...
TBR=
NOTRY=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/352873003
2014-06-30 12:44:03 -07:00
krajcevski
238b456a7c
R11 EAC texture compression is introduced as part of the OpenGL ES 3.0 spec. This is a format that will likely be required on most mobile phones in the upcoming years, making it better to target than LATC, which is only available on NVIDIA GPUs.
...
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/330763008
2014-06-30 09:09:22 -07:00
reed
52d9ac6c92
stop calling SkCanvas::getDevice
...
BUG=skia:
R=bsalomon@google.com , robertphillips@google.com , junov@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/355193006
2014-06-30 09:05:34 -07:00
robertphillips
952841bf41
Begin atlasing
...
This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):
1) the atlased layers cannot be purged nor aged out
2) the texture backing the atlas is not pulled from (or returned to) the resource cache
#1 is on hold until we have a recycling rectanizer
A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.
Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/354533004
2014-06-30 08:26:50 -07:00
Florin Malita
5f6102d079
SaveFlags be-gone
...
Remove the deprecated save(SaveFlags), willSave(SaveFlags) and all
traces of kMatrix_SaveFlags/kClip_SaveFlag.
BUG=skia:2297
R=mtklein@google.com , reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/340403003
2014-06-30 10:13:28 -04:00
kkinnunen
80549fcdd5
Support using OpenGL ES context on desktop
...
Support using OpenGL ES context on desktop for unix and Android platforms. This
is mainly useful in development.
Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
possible parameters for the flag are "gl" and "gles".
R=bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/319043005
2014-06-30 06:36:31 -07:00
robertphillips
e462f2bed3
Revert of Begin atlasing ( https://codereview.chromium.org/354533004/ )
...
Reason for revert:
Sigh
Original issue's description:
> Begin atlasing
>
> This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):
>
> 1) the atlased layers cannot be purged nor aged out
> 2) the texture backing the atlas is not pulled from (or returned to) the resource cache
>
> #1 is on hold until we have a recycling rectanizer
>
> A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.
>
> Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b
R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/359953002
2014-06-29 17:16:27 -07:00
robertphillips
55e61f0ef4
Begin atlasing
...
This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):
1) the atlased layers cannot be purged nor aged out
2) the texture backing the atlas is not pulled from (or returned to) the resource cache
#1 is on hold until we have a recycling rectanizer
A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/354533004
2014-06-29 15:08:31 -07:00
reed
bae704b050
add rowbytes option to allocPixels
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/345263005
2014-06-28 14:26:36 -07:00
reed
ce41ad1b33
remove SK_SUPPORT_LEGACY_INSTALLPIXELSPARAMS code
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/359143002
2014-06-28 13:25:31 -07:00
senorblanco
ca6a7c2945
Make perlin noise do CTM-correct scaling.
...
When drawing perlin noise, generate noise at the resolution determined
by CTM, not by the resolution at construction time. This required moving
the generation of PaintingData to getContext() and asNewEffect() for the
raster and GPU paths, respectively.
It also required adjusting the matrices used during rendering
to be translate-only.
R=sugoi@chromium.org , bsalomon@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/358903002
2014-06-27 13:35:52 -07:00
mtklein
d3e474e20c
Deprecate SkPicture::clone().
...
Chrome will need -DSK_SUPPORT_LEGACY_PICTURE_CLONE.
This removes the modes from our tools that use clone(). No
bots run these. DM used clone() in a way that we can just
share the picture now.
I plan to bring back the ability to test multithreaded
picture rendering soon.
BUG=skia:2378
R=robertphillips@google.com , mtklein@google.com , bsalomon@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/338633011
2014-06-27 12:34:44 -07:00
reed
89443aba5b
change gpudevice and pdfdevice to inherit from basedevice
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/354133002
2014-06-27 11:34:19 -07:00
reed
982542dce8
add SkSurface::NewRasterDirectReleaseProc
...
allows for lifetime control of pixel memory on raster surface
BUG=skia:
R=fmalita@google.com , bsalomon@google.com , fmalita@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/351373005
2014-06-27 06:48:14 -07:00
reed
0766931dc4
delete code for SK_SUPPORT_LEGACY_GETTOTALCLIP
...
TBR=
NOTRY=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/354953008
2014-06-27 04:49:12 -07:00
tfarina
11a005ee01
Promote SkInterpolator unit test to our tests driver.
...
BUG=None
TEST=make tests && out/Debug/tests -m Interpolator
R=mtklein@google.com , bsalomon@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/351713005
2014-06-26 13:07:05 -07:00