bsalomon
e25eea4b36
Use child processors to implement compose color filter.
...
Review URL: https://codereview.chromium.org/1368423003
2015-09-29 06:38:55 -07:00
bsalomon
f1b7a1d828
Make skpaint->grpaint flow work for composing draws (verts and atlas)
...
One side effect is that the SkShader's (or implicit shader's) fragment processor is responsible for the transition from an unpremul paint color to a premul color.
Review URL: https://codereview.chromium.org/1348583002
2015-09-28 06:26:29 -07:00
bsalomon
87ba62e67c
Replace GrExtractAlphaFragmentProcessor with DstIn compose processor
...
Review URL: https://codereview.chromium.org/1347943003
2015-09-22 06:42:00 -07:00
bsalomon
c21b09eec9
Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*
...
Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa
Review URL: https://codereview.chromium.org/1316513002
2015-08-28 18:46:56 -07:00
rmistry
a511e6ad10
Revert of Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor* (patchset #8 id:140001 of https://codereview.chromium.org/1316513002/ )
...
Reason for revert:
Primary suspect in failing DEPS rolls:
* https://codereview.chromium.org/1315753006
* https://codereview.chromium.org/1308323006
* https://codereview.chromium.org/1320903004
Primary suspect because the failing win bots did not fail in https://codereview.chromium.org/1315753005
Original issue's description:
> Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*
>
> Committed: https://skia.googlesource.com/skia/+/ecfdc251be71f3d634e76afdd6375bf55fc061aa
TBR=joshualitt@google.com ,wangyix@google.com,robertphillips@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1313573005
2015-08-28 17:16:50 -07:00
bsalomon
ecfdc251be
Change SkShader;asFragmentProcessor signature to no longer take skpaint\grcolor*
...
Review URL: https://codereview.chromium.org/1316513002
2015-08-28 14:33:47 -07:00
bsalomon
4204800cd8
Convert child FPs from refs to pending executions when parent converts
...
Review URL: https://codereview.chromium.org/1315923004
2015-08-27 16:43:48 -07:00
bsalomon
ac856c97ac
Remove GrStagedProcessor, remove the word Stage as it applies to FPs
...
Committed: https://skia.googlesource.com/skia/+/24243446cdf7b7e4e132c2a0c387c7723777e0c7
Review URL: https://codereview.chromium.org/1307223004
2015-08-27 06:30:17 -07:00
rmistry
4bf69f7bbc
Revert of Remove GrStagedProcessor, remove the word Stage as it applies to FPs (patchset #6 id:90001 of https://codereview.chromium.org/1307223004/ )
...
Reason for revert:
Causes bot failures:
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Debug/builds/1639
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/1702
https://uberchromegw.corp.google.com/i/client.skia.android/builders/Test-Android-GCC-NexusPlayer-GPU-PowerVR-x86-Debug/builds/1223
Original issue's description:
> Remove GrStagedProcessor, remove the word Stage as it applies to FPs
>
> Committed: https://skia.googlesource.com/skia/+/24243446cdf7b7e4e132c2a0c387c7723777e0c7
TBR=joshualitt@google.com ,egdaniel@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1306803003
2015-08-26 06:48:27 -07:00
bsalomon
24243446cd
Remove GrStagedProcessor, remove the word Stage as it applies to FPs
...
Review URL: https://codereview.chromium.org/1307223004
2015-08-26 05:39:18 -07:00
mtklein
790d74f7c1
No need to re-declare pure virtual name().
...
Fixes inconsistent override warning.
BUG=skia:
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1293413003
2015-08-19 11:05:39 -07:00
wangyix
93ab254b7e
This change is in preparation for updating how processor keys and meta keys are generated for frag procs.
...
BUG=skia:4182
Review URL: https://codereview.chromium.org/1298233002
2015-08-19 08:23:12 -07:00
wangyix
b1daa86732
When getGLInstance is called on a frag proc, the resulting GrGLFragmentProcessor will be the root of a tree of GrGLFragmentProcessors that mirrors the GrFragmentProcessor's tree. This allows setData() to be called recursively (removing the responsibility from compose shader) and allows gl instances direct access to their children gl instances so they can emit their code.
...
BUG=skia:4182
Review URL: https://codereview.chromium.org/1287023009
2015-08-18 11:29:32 -07:00
wangyix
54017d7e5b
Made isEqual in GrFragmentProcessor recursive
...
Added comment about how computeInvariantOutput() is non-recursive in GrFragmentProcessor
Made isEqual() recursive in GrFragmentProcessor
BUG=skia:4182
Review URL: https://codereview.chromium.org/1287343005
2015-08-18 07:39:33 -07:00
wangyix
69ed114d38
Added class AutoFragmentChildProcAdvance to be constructed before a child emitCode and destructed after
...
Fixed wrong indent
Changed auto child advance back to backwards linear search for getting subset of coords and samplers array of a child
Used offset from parent instead of backwards linear search to find a child proc's coords and transforms in Auto...Advance
append mangleString to variable name in nameVariable()
BUILDS! Added AutoFragmentChildProcAdvance class; fixed a few errors from previous commits
BUG=skia:4182
Review URL: https://codereview.chromium.org/1286293002
2015-08-18 07:24:29 -07:00
wangyix
58d890bd45
All child GrFragmentProcs' transforms and textures will be stored in the root GrFragmentProc in preorder
...
Changed childProcessor(i) to return const referencd
Fixed rootProc/parentProc offset issues; renamed a few things.
added nonempty check to gatherTransforms to avoid segfault
removed recursive append_gr_coord_transforms() from GrGLProgramBuilder
BUILDS! Changed num*includeProc() calls to num() calls
added gatherCoordTransforms(). added coordTransforms() for root proc only
Modified GrFragmentProcessor to append child proc transforms and textures to root proc's arrays.
BUG=skia:4182
Review URL: https://codereview.chromium.org/1275853005
2015-08-12 09:40:47 -07:00
joshualitt
2fe7923f7e
Expose coord transforms from GrPipeline
...
BUG=skia:
Review URL: https://codereview.chromium.org/1275603002
2015-08-05 12:02:27 -07:00
wangyix
4b3050b410
Added registerChild; transforms, textures, glKey automatically handled.
...
BUG=skia:
Review URL: https://codereview.chromium.org/1266633003
2015-08-04 07:59:37 -07:00
wangyix
570e7a34da
Removed GrFragmentProcessor::fWillUseInputColor
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1259303003
2015-07-28 11:47:44 -07:00
jvanverth
e9c0fc616d
Pull out shader-specific caps into GrShaderCaps and GrGLSLCaps
...
BUG=skia:
Review URL: https://codereview.chromium.org/1116713002
2015-04-29 11:18:05 -07:00
jvanverth
cfc18867d9
Use GLSLCaps for creating processor keys and GLSL-specific programs
...
Effectively all this does is future-proof any GLSL-specific code, as
GLSLCaps is just a typedef of GLCaps.
BUG=skia:
Review URL: https://codereview.chromium.org/1109863004
2015-04-28 08:48:20 -07:00
egdaniel
71e236c03e
Remove willReadDst from GrFragmentProcessor.
...
Since only XP's can read dst now, there is no reason to have this query on GrFP.
This also triggered a chain reaction of cleaning up/removing unnecessary code
elsewhere.
BUG=skia:
Review URL: https://codereview.chromium.org/851143003
2015-01-20 06:34:51 -08:00
joshualitt
abb52a1a70
Move most of the transform logic into the primitive processors
...
BUG=skia:
Review URL: https://codereview.chromium.org/822423004
2015-01-13 15:02:10 -08:00
joshualitt
290c09b8bb
initial changes to add local matrix to primitive processor
...
BUG=skia:
Review URL: https://codereview.chromium.org/820523002
2014-12-19 13:45:20 -08:00
joshualitt
56995b5cc0
Remove GP from drawstate, revision of invariant output for GP
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/c6bc58eded89b0c0a36b8e20e193c200f297a0da
Review URL: https://codereview.chromium.org/791743003
2014-12-11 15:44:02 -08:00
joshualitt
8c0f615fdd
Revert of Remove GP from drawstate, revision of invariant output for GP (patchset #9 id:160001 of https://codereview.chromium.org/791743003/ )
...
Reason for revert:
breaks mac
Original issue's description:
> Remove GP from drawstate, revision of invariant output for GP
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c6bc58eded89b0c0a36b8e20e193c200f297a0da
TBR=bsalomon@google.com ,egdaniel@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/794843002
2014-12-10 14:12:22 -08:00
joshualitt
c6bc58eded
Remove GP from drawstate, revision of invariant output for GP
...
BUG=skia:
Review URL: https://codereview.chromium.org/791743003
2014-12-10 13:48:57 -08:00
joshualitt
eb2a676165
Remove backend factories
...
BUG=skia:
Review URL: https://codereview.chromium.org/778453002
2014-12-04 11:35:34 -08:00
bsalomon
420d7e9a79
Auto-compare GrProcessors' texture accesses in isEqual().
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/654313002
2014-10-16 09:18:09 -07:00
bsalomon
de258cd6b4
Make GrFragmentProcessor auto-compare coord xforms.
...
Review URL: https://codereview.chromium.org/657923002
2014-10-15 19:06:21 -07:00
bsalomon
98b33ebe6f
Some cleanup in processor header files.
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/659803004
2014-10-15 11:05:26 -07:00
bsalomon
6251d17dfa
Split GrFragmentProcessor into its own header
...
Review URL: https://codereview.chromium.org/660573002
2014-10-15 10:50:36 -07:00