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