egdaniel
574a4c153d
Move shader compiling to ProgramBuilder and various ShaderBuilder cleanups.
...
An additional positive of this CL is that GrGLShaderBuilder is now GL independent besides GrGLProgramBuilder
BUG=skia:
Review URL: https://codereview.chromium.org/1431433003
2015-11-02 06:22:44 -08:00
bsalomon
02141734f2
Stop creating static GrProcessor instances
...
R=joshualitt@google.com
BUG=skia:4483
Review URL: https://codereview.chromium.org/1414733007
2015-10-21 06:57:31 -07:00
bsalomon
4a33952961
Bye bye processor data manager.
...
Review URL: https://codereview.chromium.org/1388113002
2015-10-06 08:40:51 -07:00
bsalomon
38ddbadd00
Mangle output var in GrGLFragmentProcessor::emitChild
...
R=joshualitt@google.com
Review URL: https://codereview.chromium.org/1362873002
2015-09-24 06:00:00 -07:00
bsalomon
ae4738f677
Create fragment processor for performing input color blend with child processor
...
The new FP is used to implement SkXM::Mode color filters and SkXM::Mode image filters. Also, these now support all advanced SkXM::Mode xfermodes.
Review URL: https://codereview.chromium.org/1334293003
2015-09-15 15:33:27 -07:00
bsalomon
b5b603241a
Test that GrFragmentProcessors work without input colors.
...
Committed: https://skia.googlesource.com/skia/+/72c58e7052af2a0855412ce4b249f977069db751
Review URL: https://codereview.chromium.org/1341853002
2015-09-14 12:26:34 -07:00
bsalomon
59ce45fe79
Revert of Test that GrFragmentProcessors work without input colors. (patchset #2 id:20001 of https://codereview.chromium.org/1341853002/ )
...
Reason for revert:
Need to fix up more processor subclasses.
Original issue's description:
> Test that GrFragmentProcessors work without input colors.
>
> Committed: https://skia.googlesource.com/skia/+/72c58e7052af2a0855412ce4b249f977069db751
TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1338403003
2015-09-14 12:01:42 -07:00
bsalomon
72c58e7052
Test that GrFragmentProcessors work without input colors.
...
Review URL: https://codereview.chromium.org/1341853002
2015-09-14 11:55:52 -07:00
wangyix
059dffae80
There's a set probability that a linear pipeline of random procs will be created (old behavior), or a pipeline with a single proc tree (added behavior).
...
Had to move GrComposeEffect class definition from SkComposeShader.cpp to SkComposeShader.h so that GLProgramsTest can call GrComposeEffect::Create()
BUG=skia:4182
Review URL: https://codereview.chromium.org/1314923002
2015-09-10 06:57:06 -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
mdempsky
38f1f6f9e5
Remove overly complicated GR_CREATE_STATIC_PROCESSOR macro
...
This macro was responsible for producing code like:
static SkAlignedStorage<sizeof(Foo)> g_gFoo_Storage;
static Foo* gFoo = new(g_gFoo_Storage.get()) Foo;
static SkAutoTDestroy<Foo> gFoo_ad(gFoo);
which would allocate static storage for an object of type Foo
(g_gFoo_Storage), lazily instantiate the object in that memory (via
gFoo's initializer), and then ensure that at global destruction time
the object is destroyed (via gFoo_Ad's destructor).
However, the exact same effect is achieved by just writing:
static Foo gFoo;
Review URL: https://codereview.chromium.org/1314763009
2015-08-27 12:57:01 -07:00
hendrikw
885bf09255
skia: add ability to load command_buffer_gles2
...
BUG=skia:
Review URL: https://codereview.chromium.org/1306823003
2015-08-27 10:38:39 -07:00
halcanary
96fcdcc219
Style Change: NULL->nullptr
...
DOCS_PREVIEW= https://skia.org/?cl=1316233002
Review URL: https://codereview.chromium.org/1316233002
2015-08-27 07:41:16 -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
halcanary
385fe4d4b6
Style Change: SkNEW->new; SkDELETE->delete
...
DOCS_PREVIEW= https://skia.org/?cl=1316123003
Review URL: https://codereview.chromium.org/1316123003
2015-08-26 13:07:49 -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
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
bsalomon
16b991390b
Split GrDrawBatch and GrVertexBatch into their own files
...
TBR=joshualitt@google.com
Review URL: https://codereview.chromium.org/1296483002
2015-08-13 14:55:50 -07:00
bsalomon
abd30f54b7
Introduce GrBatch subclasses GrDrawBatch and GrVertexBatch to prepare for non-drawing batches
...
Review URL: https://codereview.chromium.org/1293583002
2015-08-13 13:34:48 -07:00
joshualitt
74417824cd
Make folder for batches
...
BUG=skia:
Review URL: https://codereview.chromium.org/1277233002
2015-08-07 11:42:17 -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
bsalomon
eae6200acb
Some cleanup in GrTextureProvider and GrResourceProvider.
...
Review URL: https://codereview.chromium.org/1261643004
2015-07-31 13:59:31 -07:00
wangyix
7c157a9888
Added GrGLFragmentProcessor::EmitArgs struct for use with emitCode()
...
BUG=skia:
Review URL: https://codereview.chromium.org/1251173002
2015-07-22 15:08:53 -07:00
bsalomon
bea0150d83
Revert of Remove rt flags that are not necessary (patchset #1 id:1 of https://codereview.chromium.org/1226123012/ )
...
Reason for revert:
breaks tests, e.g.
https://build.chromium.org/p/client.skia.android/builders/Test-Android-GCC-Nexus9-GPU-TegraK1-Arm64-Release/builds/752/steps/dm/logs/stdio
Original issue's description:
> Remove rt flags that are not necessary
>
> Committed: https://skia.googlesource.com/skia/+/b6b0a6ef179f4143c94ba7e0e1be6e7ce4b0a23a
TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1234503004
2015-07-16 10:00:28 -07:00
bsalomon
b6b0a6ef17
Remove rt flags that are not necessary
...
Review URL: https://codereview.chromium.org/1226123012
2015-07-16 09:34:57 -07:00
joshualitt
1c735488cb
Start to propagate constness of GrPipelineBuilder up the stack
...
BUG=skia:
Review URL: https://codereview.chromium.org/1229143007
2015-07-13 08:08:25 -07:00
joshualitt
9cc1775e72
rename GrShaderDataManager -> GrProcessorDataManager
...
BUG=skia:
Review URL: https://codereview.chromium.org/1228683002
2015-07-09 06:28:14 -07:00
joshualitt
0067ff5e0f
fix up test create functions
...
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1213623022
2015-07-08 14:26:19 -07:00
vbuzinov
dded69693d
Implement support for mixed sampled render targets
...
Adds a new FBO type kStencil_MSFBOType that is selected whenever
NV_framebuffer_mixed_samples extension is available. In this new
FBO type a non-msaa color buffer is created with a multisampled
stencil buffer attachment.
Replaces numSamples() with separate numColorSamples and numStencilSamples
methods in RenderTarget.
In mixed samples mode non-MSAA codepaths are used to draw simple shapes,
while NVPR-rendered paths and text are rendered with a multisampled
stencil.
BUG=skia:3177
Review URL: https://codereview.chromium.org/1001503002
2015-06-12 08:59:45 -07:00
bsalomon
4061b1262e
Remove GrContext from GrDrawTarget
...
Still exists on clip target (for now).
Review URL: https://codereview.chromium.org/1166553002
2015-05-29 10:26:19 -07:00
bsalomon
682c269a15
Store context options on caps.
...
Committed: https://skia.googlesource.com/skia/+/f28cff71db2cbb1ff18a8fbf1e80ca761d1f69bc
Review URL: https://codereview.chromium.org/1158433006
2015-05-22 14:01:46 -07:00
bsalomon
08bf86d1b7
Revert of Store context options on caps. (patchset #3 id:40001 of https://codereview.chromium.org/1158433006/ )
...
Reason for revert:
breaking chromeos build (???)
Original issue's description:
> Store context options on caps.
>
> Committed: https://skia.googlesource.com/skia/+/f28cff71db2cbb1ff18a8fbf1e80ca761d1f69bc
TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1151603005
2015-05-22 12:41:05 -07:00
bsalomon
f28cff71db
Store context options on caps.
...
Review URL: https://codereview.chromium.org/1158433006
2015-05-22 12:25:41 -07:00
bsalomon
4b91f768b3
rename GrDrawTargetCaps to GrCaps
...
Review URL: https://codereview.chromium.org/1133123009
2015-05-19 09:29:46 -07:00
joshualitt
1573206f20
fix for angle bot
...
TBR=
BUG=skia:
Review URL: https://codereview.chromium.org/1137333004
2015-05-13 12:15:14 -07:00
joshualitt
6c891107ce
GLProgramsTest 3.0
...
BUG=skia:
Review URL: https://codereview.chromium.org/1139743002
2015-05-13 08:51:50 -07:00
bsalomon
d309e7aa0e
This replaces the texture creation/caching functions on GrContext with a GrTextureProvider interface. The goal is to pass this narrowly focused object in places that currently take a GrContext but don't need and shouldn't use its other methods. It also has an extended private interface for interacting with non-texture resource types.
...
Review URL: https://codereview.chromium.org/1107973004
2015-04-30 14:18:54 -07:00
cdalton
9954bc38c4
Use texture barriers to read directly from the RT
...
Updates GrXferProcessor to read directly from the RT texture when
texture barriers are supported and it needs to know the dst color.
Also adds the notion of an Xfer barrier and uses it to issue texture
barriers when the XP will read the RT.
BUG=skia:
Review URL: https://codereview.chromium.org/1040303002
2015-04-29 14:17:00 -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
jvanverth
505306374d
Remove legacy NVPR support
...
BUG=skia:
Review URL: https://codereview.chromium.org/1110553003
2015-04-27 10:36:27 -07:00
bsalomon
d79c549467
Make non-AA hairline stroke rects snap to pixels centers so they close.
...
BUG=skia:3717
Review URL: https://codereview.chromium.org/1101663007
2015-04-27 10:07:04 -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
bsalomon
6f7f2012ee
Move GrAutoLocaleSetter to new file and fix issue with null locale
...
TBR=egdaniel@google.com
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/1002623004
2015-03-16 14:00:52 -07:00
bsalomon
3318ee7d5e
Use C locale for numerics when emitting shaders.
...
BUG=skia:3330
Review URL: https://codereview.chromium.org/1012723002
2015-03-16 11:56:29 -07:00
joshualitt
570d2f81a6
I'd really like to land this before the branch so speedy reviews are appreciated.
...
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336
Review URL: https://codereview.chromium.org/936943002
2015-02-25 13:19:48 -08:00
joshualitt
2907059d0e
Revert of Pass clip to context (patchset #8 id:180001 of https://codereview.chromium.org/936943002/ )
...
Reason for revert:
Strange blur problems on nexus 5
Original issue's description:
> I'd really like to land this before the branch so speedy reviews are appreciated.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/586d5d640b19860dfbbd903a5188da1bbbe87336
TBR=jvanverth@google.com ,senorblanco@google.com,bsalomon@google.com,senorblanco@chromium.org,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/956083002
2015-02-25 13:04:44 -08:00