joshualitt
9cc1775e72
rename GrShaderDataManager -> GrProcessorDataManager
...
BUG=skia:
Review URL: https://codereview.chromium.org/1228683002
2015-07-09 06:28:14 -07:00
joshualitt
8ca93e7c73
Initial CL to create dummy GrShaderDataManager and thread it through
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1225673007
2015-07-08 06:51:43 -07:00
mtklein
36352bf5e3
C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}
...
NOPRESUBMIT=true
BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002
Review URL: https://codereview.chromium.org/1037793002
2015-03-25 18:17:32 -07:00
mtklein
72c9faab45
Fix up all the easy virtual ... SK_OVERRIDE cases.
...
This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases. We'll have to manually clean up the rest
over time unless I level up in regexes.
for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end
BUG=skia:
Review URL: https://codereview.chromium.org/806653007
2015-01-09 10:06:40 -08:00
joshualitt
5531d51ce7
remove view matrix from context
...
BUG=skia:
Review URL: https://codereview.chromium.org/808703006
2014-12-17 15:50:11 -08:00
mtklein
3f3b3d0035
Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
...
This was needed for pictures before v33, and we're now requiring v35+.
Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88
Review URL: https://codereview.chromium.org/769953002
2014-12-01 11:47:08 -08:00
mtklein
6e78293ee8
Revert of Remove SK_SUPPORT_LEGACY_DEEPFLATTENING. (patchset #1 id:1 of https://codereview.chromium.org/769953002/ )
...
Reason for revert:
Breaks canary builds. Will reland after the Chromium change lands.
Original issue's description:
> Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
>
> This was needed for pictures before v33, and we're now requiring v35+.
>
> Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/52c293547b973f7fb5de3c83f5062b07d759ab88
TBR=reed@google.com ,mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/768183002
2014-12-01 10:56:05 -08:00
mtklein
52c293547b
Remove SK_SUPPORT_LEGACY_DEEPFLATTENING.
...
This was needed for pictures before v33, and we're now requiring v35+.
Will follow up with the same for skia/ext/pixel_ref_utils_unittest.cc
BUG=skia:
Review URL: https://codereview.chromium.org/769953002
2014-12-01 10:23:11 -08:00
joshualitt
b0a8a377f8
Patch to create a distinct geometry processor. The vast majority of this patch
...
is just a rename. The meat is in GrGeometryProcessor, GrProcessor,
GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory,
GrProcessUnitTestFactory, and the builders
BUG=skia:
R=bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/582963002
2014-09-23 09:50:21 -07:00
reed
9fa60daad4
Simplify flattening to just write enough to call the factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc).
...
Refactoring pattern:
1. guard the existing constructor(readbuffer) with the legacy build-flag
2. If you are a instancable subclass, implement CreateProc(readbuffer) to create a new instances from the buffer params (or return NULL).
If you're a shader subclass
1. You must read/write the local matrix if your class accepts that in its factory/constructor, else ignore it.
R=robertphillips@google.com , mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org , sugoi@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/395603002
2014-08-21 07:59:51 -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
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
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
dandov
9de5b514d3
SkShader::asNewEffect Refactoring
...
The new signature is:
bool asNewEffect(GrContext* context, const SkPaint& paint, GrColor* grColor, GrEffectRef** grEffect, const SkMatrix* localMatrixOrNull) const;
It will fix the hack for skcolorshader by modifying the GrColor parameter in SkGr::SkPaint2GrPaintShader.
BUG=skia:2646
R=jvanverth@google.com , bsalomon@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/318923005
2014-06-10 14:38:28 -07:00
commit-bot@chromium.org
96fb7489ba
add localmatrix parameter to shader's asNewEffect
...
BUG=skia:
R=bsalomon@google.com , dominikg@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/278963002
git-svn-id: http://skia.googlecode.com/svn/trunk@14686 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 20:28:11 +00:00
commit-bot@chromium.org
ce56d96506
Remove SkShader virtual method validContext
...
patch from issue 267923005
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/261773005
git-svn-id: http://skia.googlecode.com/svn/trunk@14573 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 18:39:18 +00:00
commit-bot@chromium.org
e901b6de3e
create struct to hold all the params passed around for shader::context
...
BUG=skia:
R=scroggo@google.com , dominikg@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/264843006
git-svn-id: http://skia.googlecode.com/svn/trunk@14514 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-01 19:31:31 +00:00
commit-bot@chromium.org
87fcd95019
Revert of Revert of Extract most of the mutable state of SkShader into a separate Context object. ( https://codereview.chromium.org/249643002/ )
...
Reason for revert:
Chromium side change landed along side DEPS roll that includes r14323.
Original issue's description:
> Revert of Extract most of the mutable state of SkShader into a separate Context object. (https://codereview.chromium.org/207683004/ )
>
> Reason for revert:
> This is blocking the DEPS roll into Chromium. Failures can be seen here:
>
> http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/174333
>
> Original issue's description:
> > Extract most of the mutable state of SkShader into a separate Context object.
> >
> > SkShader currently stores some state during draw calls via setContext(...).
> > Move that mutable state into a separate SkShader::Context class that is
> > constructed on demand for the duration of the draw.
> >
> > Calls to setContext() are replaced with createContext() which returns a context
> > corresponding to the shader object or NULL if the parameters to createContext
> > are invalid.
> >
> > TEST=out/Debug/dm
> > BUG=skia:1976
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14216
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14323
>
> TBR=scroggo@google.com ,skyostil@chromium.org,tomhudson@chromium.org,senorblanco@chromium.org,reed@google.com,bungeman@google.com,dominikg@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14326
R=scroggo@google.com , skyostil@chromium.org , tomhudson@chromium.org , senorblanco@chromium.org , reed@google.com , bungeman@google.com , dominikg@chromium.org
TBR=bungeman@google.com , dominikg@chromium.org , reed@google.com , scroggo@google.com , senorblanco@chromium.org , skyostil@chromium.org , tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/246403013
git-svn-id: http://skia.googlecode.com/svn/trunk@14328 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 19:10:51 +00:00
commit-bot@chromium.org
6e5671d8c9
Revert of Extract most of the mutable state of SkShader into a separate Context object. ( https://codereview.chromium.org/207683004/ )
...
Reason for revert:
This is blocking the DEPS roll into Chromium. Failures can be seen here:
http://build.chromium.org/p/tryserver.chromium/builders/android_dbg/builds/174333
Original issue's description:
> Extract most of the mutable state of SkShader into a separate Context object.
>
> SkShader currently stores some state during draw calls via setContext(...).
> Move that mutable state into a separate SkShader::Context class that is
> constructed on demand for the duration of the draw.
>
> Calls to setContext() are replaced with createContext() which returns a context
> corresponding to the shader object or NULL if the parameters to createContext
> are invalid.
>
> TEST=out/Debug/dm
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14216
>
> Committed: http://code.google.com/p/skia/source/detail?r=14323
R=scroggo@google.com , skyostil@chromium.org , tomhudson@chromium.org , senorblanco@chromium.org , reed@google.com , bungeman@google.com , dominikg@chromium.org
TBR=bungeman@google.com , dominikg@chromium.org , reed@google.com , scroggo@google.com , senorblanco@chromium.org , skyostil@chromium.org , tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/249643002
git-svn-id: http://skia.googlecode.com/svn/trunk@14326 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 16:16:55 +00:00
commit-bot@chromium.org
bc2f1dc85e
Extract most of the mutable state of SkShader into a separate Context object.
...
SkShader currently stores some state during draw calls via setContext(...).
Move that mutable state into a separate SkShader::Context class that is
constructed on demand for the duration of the draw.
Calls to setContext() are replaced with createContext() which returns a context
corresponding to the shader object or NULL if the parameters to createContext
are invalid.
TEST=out/Debug/dm
BUG=skia:1976
Committed: http://code.google.com/p/skia/source/detail?r=14216
R=scroggo@google.com , skyostil@chromium.org , tomhudson@chromium.org , senorblanco@chromium.org , reed@google.com , bungeman@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/207683004
git-svn-id: http://skia.googlecode.com/svn/trunk@14323 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 09:11:58 +00:00
commit-bot@chromium.org
53783b026a
Revert of Extract most of the mutable state of SkShader into a separate Context object. ( https://codereview.chromium.org/207683004/ )
...
Reason for revert:
Causing memory leaks in Chromium.
Original issue's description:
> Extract most of the mutable state of SkShader into a separate Context object.
>
> SkShader currently stores some state during draw calls via setContext(...).
> Move that mutable state into a separate SkShader::Context class that is
> constructed on demand for the duration of the draw.
>
> Calls to setContext() are replaced with createContext() which returns a context
> corresponding to the shader object or NULL if the parameters to createContext
> are invalid.
>
> TEST=out/Debug/dm
> BUG=skia:1976
>
> Committed: http://code.google.com/p/skia/source/detail?r=14216
R=scroggo@google.com , skyostil@chromium.org , tomhudson@chromium.org , senorblanco@chromium.org , reed@google.com , dominikg@chromium.org
TBR=dominikg@chromium.org , reed@google.com , scroggo@google.com , senorblanco@chromium.org , skyostil@chromium.org , tomhudson@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:1976
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/241283003
git-svn-id: http://skia.googlecode.com/svn/trunk@14247 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 21:09:49 +00:00
commit-bot@chromium.org
001f4ed2fb
Extract most of the mutable state of SkShader into a separate Context object.
...
SkShader currently stores some state during draw calls via setContext(...).
Move that mutable state into a separate SkShader::Context class that is
constructed on demand for the duration of the draw.
Calls to setContext() are replaced with createContext() which returns a context
corresponding to the shader object or NULL if the parameters to createContext
are invalid.
TEST=out/Debug/dm
BUG=skia:1976
R=scroggo@google.com , skyostil@chromium.org , tomhudson@chromium.org , senorblanco@chromium.org , reed@google.com , bungeman@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/207683004
git-svn-id: http://skia.googlecode.com/svn/trunk@14216 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-16 10:16:39 +00:00
skia.committer@gmail.com
c282ba85ba
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14021 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-02 03:05:59 +00:00
commit-bot@chromium.org
9fbbcca1c9
SkPerlinNoiseShader::CreateTubulenceNoise() is misspelled
...
Add missing 'r'.
BUG=skia:2329
R=bsalomon@google.com , hcm@google.com , sugoi@chromium.org
Author: siglesias@igalia.com
Review URL: https://codereview.chromium.org/207543008
git-svn-id: http://skia.googlecode.com/svn/trunk@14008 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-01 16:09:37 +00:00
commit-bot@chromium.org
0f10f7bf1f
Allow toString capability to be toggled independent of developer mode.
...
This change is motivated by the desire to see the text information in the debugger when not in developer mode. It is structured so user's can disable it if the capability is not wanted.
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/197763008
git-svn-id: http://skia.googlecode.com/svn/trunk@13795 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 18:02:17 +00:00
commit-bot@chromium.org
fd5c9a6e04
Begin making SkPerlinNoiseShader const.
...
The overall goal is to make SkShader itself immutable (BUG=skia:1976).
The fields cannot yet be made constant, due to the constructor which
takes an SkReadBuffer. Other than that constructor, the fields are now
unchanged.
Remove setTileSize and initPaint. Merge initPaint with the constructor
of PaintingData, since it is only ever used on a new PaintingData.
Merge setTileSize with the SkPerlinNoiseShader constructor, its only
call site.
BUG=skia:1976
R=reed@google.com , sugoi@google.com , dominikg@chromium.org , senorblanco@google.com , senorblanco@chromium.org
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/169973002
git-svn-id: http://skia.googlecode.com/svn/trunk@13682 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-06 15:13:53 +00:00
commit-bot@chromium.org
8b0e8ac5f5
Refactor read and write buffers.
...
Eliminates SkFlattenable{Read,Write}Buffer, promoting SkOrdered{Read,Write}Buffer
a step each in the hierarchy.
What used to be this:
SkFlattenableWriteBuffer -> SkOrderedWriteBuffer
SkFlattenableReadBuffer -> SkOrderedReadBuffer
SkFlattenableReadBuffer -> SkValidatingReadBuffer
is now
SkWriteBuffer
SkReadBuffer -> SkValidatingReadBuffer
Benefits:
- code is simpler, names are less wordy
- the generic SkFlattenableFooBuffer code in SkPaint was incorrect; removed
- write buffers are completely devirtualized, important for record speed
This refactoring was mostly mechanical. You aren't going to find anything
interesting in files with less than 10 lines changed.
BUG=skia:
R=reed@google.com , scroggo@google.com , djsollen@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/134163010
git-svn-id: http://skia.googlecode.com/svn/trunk@13245 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 18:58:24 +00:00
sugoi@google.com
384f5e2a9b
Adding missing SK_API identifier to class so that it's accessible in debug blink.
...
Review URL: https://codereview.chromium.org/14190016
git-svn-id: http://skia.googlecode.com/svn/trunk@8857 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 14:54:15 +00:00
sugoi@google.com
e3b4c5097a
New SVG turbulence in Skia
...
This cl contains the code for CPU generation of noise.
TEST:Added 'perlinnoise' gm
Review URL: https://codereview.chromium.org/13094003
git-svn-id: http://skia.googlecode.com/svn/trunk@8541 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-05 13:47:09 +00:00
robertphillips@google.com
8cf10efe75
Reverting r8376, r8373 and r8371 due to Android shader compilation failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 22:16:02 +00:00
sugoi@google.com
2daa365123
New SVG turbulence in Skia
...
This cl contains the code for both CPU and GPU generation of noise. Both
codepaths yield equivalent results.
TEST:Added 'perlinnoise' gm
Review URL: https://codereview.chromium.org/13047005
git-svn-id: http://skia.googlecode.com/svn/trunk@8371 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 19:31:04 +00:00
robertphillips@google.com
b7636d3fad
Reverting 8313 (SVG turbulence) due to Ubuntu failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8316 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 21:22:03 +00:00
sugoi@google.com
3067cc904d
New SVG turbulence in Skia
...
This cl contains the code for both CPU and GPU generation of noise. Both codepaths yield equivalent results.
TEST:Added 'perlinnoise' gm
Review URL: https://codereview.appspot.com/7322060
git-svn-id: http://skia.googlecode.com/svn/trunk@8313 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 21:01:07 +00:00