History log of /external/skia/src/gpu/gl/GrGLProgram.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2279325d539700ee3da29d6e874b3b3ce1dcf49c 30-Jan-2016 ethannicholas <ethannicholas@google.com> added support for PLS path rendering

BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002

Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822

Review URL: https://codereview.chromium.org/1541903002
/external/skia/src/gpu/gl/GrGLProgram.cpp
5366a09ed07e886dd5fd1b94828241c53df3726d 22-Jan-2016 ethannicholas <ethannicholas@google.com> Revert of added support for PLS path rendering (patchset #16 id:360001 of https://codereview.chromium.org/1541903002/ )

Reason for revert:
ASAN failure at src/gpu/GrXferProcessor.cpp:224

Original issue's description:
> added support for PLS path rendering
>
> BUG=skia:3555
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002
>
> Committed: https://skia.googlesource.com/skia/+/7df3f5e127f8016d17b637cc48a6a4718f1a6822

TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626553002

Review URL: https://codereview.chromium.org/1626553002
/external/skia/src/gpu/gl/GrGLProgram.cpp
7df3f5e127f8016d17b637cc48a6a4718f1a6822 22-Jan-2016 ethannicholas <ethannicholas@google.com> added support for PLS path rendering

BUG=skia:3555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541903002

Review URL: https://codereview.chromium.org/1541903002
/external/skia/src/gpu/gl/GrGLProgram.cpp
fa8963252e122c5288c8e92b5ecc25a8fea21c3b 13-Jan-2016 egdaniel <egdaniel@google.com> Move some program building utils from GL to GLSL

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535603006

Review URL: https://codereview.chromium.org/1535603006
/external/skia/src/gpu/gl/GrGLProgram.cpp
2047b7855546b21f7956c398592c070b3f91a9db 21-Dec-2015 bsalomon <bsalomon@google.com> Don't ref/unref the static src-over xp
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1540363002

bug=chromium:570301

Review URL: https://codereview.chromium.org/1540363002
/external/skia/src/gpu/gl/GrGLProgram.cpp
0eafe79f42e3c675f3c504aed4a41abf511df2b7 20-Nov-2015 egdaniel <egdaniel@google.com> Create GrGLSLVaryingHandler class for program building

BUG=skia:

Review URL: https://codereview.chromium.org/1462123003
/external/skia/src/gpu/gl/GrGLProgram.cpp
e659a581f63fdccb64dce2dc8a478cf56831feea 13-Nov-2015 egdaniel <egdaniel@google.com> Move GrGLPrimitive/GeometryProc to GLSL

BUG=skia:

Review URL: https://codereview.chromium.org/1441683008
/external/skia/src/gpu/gl/GrGLProgram.cpp
fa4cc8bf2aa782431609dd2ac16b1fc36de72e44 13-Nov-2015 egdaniel <egdaniel@google.com> Move XferProcessors to glsl

This is basically a move and rename

TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1440073002
/external/skia/src/gpu/gl/GrGLProgram.cpp
64c4728c70001ed074fecf5c4e083781987b12e9 13-Nov-2015 egdaniel <egdaniel@google.com> Make all GrFragmentProcessors GL independent.

TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1434313002
/external/skia/src/gpu/gl/GrGLProgram.cpp
574a4c153d8a3f42b2806848f5c23cbf55e18bbb 02-Nov-2015 egdaniel <egdaniel@google.com> 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
/external/skia/src/gpu/gl/GrGLProgram.cpp
018fb62d12d1febf121fe265da5b6117b86a6541 28-Oct-2015 egdaniel <egdaniel@google.com> Create GLSL base class for ProgramDataManager

BUG=skia:

Review URL: https://codereview.chromium.org/1428543003
/external/skia/src/gpu/gl/GrGLProgram.cpp
0d3f061262a53b775f0a92b0abf8a4a846290d65 21-Oct-2015 egdaniel <egdaniel@google.com> Move GrGLShaderVar to GrGLSL

BUG=skia:

Review URL: https://codereview.chromium.org/1417123002
/external/skia/src/gpu/gl/GrGLProgram.cpp
cdf79dbf2f18aca733a1d33f8c5f32a8e85c142c 19-Oct-2015 egdaniel <egdaniel@google.com> Remove unused member variables in GrGLProgram

BUG=skia:

Review URL: https://codereview.chromium.org/1416523003
/external/skia/src/gpu/gl/GrGLProgram.cpp
102081aba2525230fb1d904add4f66c5f46403b5 11-Sep-2015 joshualitt <joshualitt@chromium.org> move GrGLPathProcessor back into GrPathProcessor

BUG=skia:

Review URL: https://codereview.chromium.org/1333423003
/external/skia/src/gpu/gl/GrGLProgram.cpp
d8dd47b5fa52430a1ab5c07335c0c13fcd43a82d 11-Sep-2015 joshualitt <joshualitt@chromium.org> remove path specific program building classes

BUG=skia:

Review URL: https://codereview.chromium.org/1336763003
/external/skia/src/gpu/gl/GrGLProgram.cpp
465283cdf98ed9ab5285ca7b9814e430fca1d452 11-Sep-2015 joshualitt <joshualitt@chromium.org> Remove batchtracker

BUG=skia:

Review URL: https://codereview.chromium.org/1332923003
/external/skia/src/gpu/gl/GrGLProgram.cpp
ac856c97acc84dcb54d9cdb068ec8a02b8869647 27-Aug-2015 bsalomon <bsalomon@google.com> 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
/external/skia/src/gpu/gl/GrGLProgram.cpp
4bf69f7bbc073c1dc257f93f8c5b2a530123cb3c 26-Aug-2015 rmistry <rmistry@google.com> 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
/external/skia/src/gpu/gl/GrGLProgram.cpp
24243446cdf7b7e4e132c2a0c387c7723777e0c7 26-Aug-2015 bsalomon <bsalomon@google.com> Remove GrStagedProcessor, remove the word Stage as it applies to FPs

Review URL: https://codereview.chromium.org/1307223004
/external/skia/src/gpu/gl/GrGLProgram.cpp
b1daa86732fe70aa4630c89d75ff0fd619d77c77 18-Aug-2015 wangyix <wangyix@google.com> 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
/external/skia/src/gpu/gl/GrGLProgram.cpp
7aedda57f84f942b5f0ba6c1b6e7ba329e6b18f1 30-Jun-2015 kkinnunen <kkinnunen@nvidia.com> Refactor separable varying location info to be stored in GrGLProgram subclass

Refactor separable varying location info to be stored in GrGLProgram
subclass GrGLProgram instead of storing it in GrGLPathProcessor.

Separable varyings are exactly analoguous to uniforms: they are inputs
to the shader program. Shader compile-time information about uniforms is gathered to
GrGLProgramBuilder. This information is the converted to link-time
information, uniform locations, when constructing the program. Separable
varyings need to have same lifetime model.

This is needed in the future to support path rendering in Chromium. The
Chromium pseudo-extension will expose program fragment input binding
function similar to uniform binding function. Thus the separable varying
locations need to be decided and bound before link, e.g. before
GrGLProgram is created. This will be achieved in further patches by
overloading GrGLProgramBuilder::bindProgramResourceLocations() in
GrGLNvprProgramBuilder.

BUG=chromium:344330

Review URL: https://codereview.chromium.org/1186113007
/external/skia/src/gpu/gl/GrGLProgram.cpp
cba99b88fd5fb39def7a094dc32c0745c7a1cfea 24-Jun-2015 jvanverth <jvanverth@google.com> Move GLSL-specific routines/classes to separate glsl directory

The purpose is to begin separating our GLSL-specific code from
our GL-specific code, so it can be used with the GL45 platform

Review URL: https://codereview.chromium.org/1202293002
/external/skia/src/gpu/gl/GrGLProgram.cpp
4271765d110be2661562f30f47addc9cb69ca4c7 18-Jun-2015 cdalton <cdalton@nvidia.com> Don't call bindTexture from GrGLProgram

Updates GrGLProgram to tell the gpu object which textures it wants
bound, instead of calling bindTexture directly. This begins to break
its dependence on the specific GrGLGpu object.

BUG=skia:

Review URL: https://codereview.chromium.org/1192463003
/external/skia/src/gpu/gl/GrGLProgram.cpp
cabe20cafd5f091a68bbc2c0c48755ba9b61b0b7 01-Jun-2015 kkinnunen <kkinnunen@nvidia.com> Refactor GrGpu path rendering functions to GrPathRendering

GrGpu, GrGLGpu, GrPathRendering, GrGLPathRendering all duplicated
each others' path rendering related member functions. Make
GrPathRending the logical extension of GrGpu by removing the methods
from GrGpu. Similarly to the GL variants.

Changes includes and forward declarations due to removing
GrDrawTarget.h include from GrGpu.h. This was necessary due to
GrDrawTarget.h including GrPathRendering.h, and now GrPathRendering.h
includes GrGpu.h. (Also GrGpu.h does not need GrDrawTarget.h anymore).

Very slight runtime improvement on x86_64:
desk_fontwipe.skp_1 836us -> 841us 1.01x
desk_silkfinance.skp_1 2.01ms -> 2.01ms 1x
desk_forecastio.skp_1 7.03ms -> 7.05ms 1x
desk_weather.skp_1 3.74ms -> 3.74ms 1x
desk_twitter.skp_1 8.02ms -> 8.01ms 1x
desk_mapsvg.skp_1 5.24ms -> 5.23ms 1x
desk_pokemonwiki.skp_1 7.06ms -> 7.03ms 1x
desk_sfgate.skp_1 3.19ms -> 3.17ms 1x
tabl_cuteoverload.skp_1 2.66ms -> 2.64ms 0.99x
...
tabl_transformice.skp_1 3.06ms -> 2.98ms 0.98x
tabl_googlecalendar.skp_1 11.3ms -> 11ms 0.97x
tabl_gamedeksiam.skp_1 12.8ms -> 12.4ms 0.97x
desk_samoasvg.skp_1 10.6ms -> 10.3ms 0.97x
tabl_worldjournal.skp_1 4.44ms -> 4.3ms 0.97x

Review URL: https://codereview.chromium.org/1157683006
/external/skia/src/gpu/gl/GrGLProgram.cpp
6a44c6a7d89b748fb040d41697a337d357d7fa22 26-May-2015 bsalomon <bsalomon@google.com> Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names.

Committed: https://skia.googlesource.com/skia/+/bb106b5f6ee18f7453b63f3a95f421b60a957f39

Review URL: https://codereview.chromium.org/1132093004
/external/skia/src/gpu/gl/GrGLProgram.cpp
d23a395d519835f78630aaea3f2a2c30ecdffe87 23-May-2015 bungeman <bungeman@google.com> Revert of Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names. (patchset #6 id:100001 of https://codereview.chromium.org/1132093004/)

Reason for revert:
This is asserting on GTX660 bots with '!dst'. This may just be catching an existing issue.

https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/622/steps/dm/logs/stdio

https://build.chromium.org/p/client.skia/builders/Test-Win7-MSVC-ShuttleA-GPU-HD2000-x86-Debug-ANGLE/builds/209/steps/dm/logs/stdio

https://build.chromium.org/p/client.skia/builders/Test-Win8-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/318/steps/dm/logs/stdio

Original issue's description:
> Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names.
>
> Committed: https://skia.googlesource.com/skia/+/bb106b5f6ee18f7453b63f3a95f421b60a957f39

TBR=egdaniel@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1158453004
/external/skia/src/gpu/gl/GrGLProgram.cpp
bb106b5f6ee18f7453b63f3a95f421b60a957f39 22-May-2015 bsalomon <bsalomon@google.com> Move DstCoordTexture to GrXP, rename and remove the word "copy" from dstcopytexture names.

Review URL: https://codereview.chromium.org/1132093004
/external/skia/src/gpu/gl/GrGLProgram.cpp
e578a95d3ab16544794b94da4e7ae13fc2ce6244 14-May-2015 joshualitt <joshualitt@chromium.org> Remove viewmatrix from GrGeometryProcessor base class

BUG=skia:

Review URL: https://codereview.chromium.org/1127953003
/external/skia/src/gpu/gl/GrGLProgram.cpp
8072caa80384292858d31ae34b7e19768875866b 12-Feb-2015 joshualitt <joshualitt@chromium.org> A simple change to move a bunch of stuff out of Gr*Geometry.h

BUG=skia:

Review URL: https://codereview.chromium.org/920863002
/external/skia/src/gpu/gl/GrGLProgram.cpp
50785a3d10b53bea5beb6e18431a2449860be237 06-Feb-2015 bsalomon <bsalomon@google.com> Revert of Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #1 id:1 of https://codereview.chromium.org/901663007/)

Reason for revert:
The revert didn't help the 10.9 bot. Unreverting by reverting the revert (which is basically relanding the original patch which itself was a revert of a revert). Revert.

Original issue's description:
> Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #11 id:200001 of https://codereview.chromium.org/885923002/)
>
> Reason for revert:
> Testing to see if reverting fixes 10.9 bots.
>
> Original issue's description:
> > Move DstCopy on gpu into the GrXferProcessor.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c
> >
> > Committed: https://skia.googlesource.com/skia/+/5e1378d0e075a323144ba14e0a4cbcca35eccc69
>
> TBR=joshualitt@google.com,egdaniel@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/21b2c53218ab25f4268e3992e51d916076a2a7ee

TBR=joshualitt@google.com,egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/873723009
/external/skia/src/gpu/gl/GrGLProgram.cpp
21b2c53218ab25f4268e3992e51d916076a2a7ee 05-Feb-2015 bsalomon <bsalomon@google.com> Revert of Move DstCopy on gpu into the GrXferProcessor. (patchset #11 id:200001 of https://codereview.chromium.org/885923002/)

Reason for revert:
Testing to see if reverting fixes 10.9 bots.

Original issue's description:
> Move DstCopy on gpu into the GrXferProcessor.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c
>
> Committed: https://skia.googlesource.com/skia/+/5e1378d0e075a323144ba14e0a4cbcca35eccc69

TBR=joshualitt@google.com,egdaniel@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/901663007
/external/skia/src/gpu/gl/GrGLProgram.cpp
5e1378d0e075a323144ba14e0a4cbcca35eccc69 05-Feb-2015 egdaniel <egdaniel@google.com> Move DstCopy on gpu into the GrXferProcessor.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/74a11753604768bf461b80cabb66060e8564d82c

Review URL: https://codereview.chromium.org/885923002
/external/skia/src/gpu/gl/GrGLProgram.cpp
4dce32c46675efb901618161771d450241af4307 04-Feb-2015 egdaniel <egdaniel@google.com> Revert "Move DstCopy on gpu into the GrXferProcessor."

This reverts commit 74a11753604768bf461b80cabb66060e8564d82c.

TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd

Review URL: https://codereview.chromium.org/896163003
/external/skia/src/gpu/gl/GrGLProgram.cpp
7adb35559430303a25be37f21af56c0df6c62f2b 04-Feb-2015 egdaniel <egdaniel@google.com> Revert of Revert "Move DstCopy on gpu into the GrXferProcessor." (patchset #1 id:1 of https://codereview.chromium.org/896163003/)

Reason for revert:
failed on my manual revert

Original issue's description:
> Revert "Move DstCopy on gpu into the GrXferProcessor."
>
> This reverts commit 74a11753604768bf461b80cabb66060e8564d82c.
>
> TBR=joshualitt@google.com,bsalomon@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/900913002
/external/skia/src/gpu/gl/GrGLProgram.cpp
3e9dfdb3784c0cbfecf7589a74aa9aff7ef40abd 04-Feb-2015 egdaniel <egdaniel@google.com> Revert "Move DstCopy on gpu into the GrXferProcessor."

This reverts commit 74a11753604768bf461b80cabb66060e8564d82c.

TBR=joshualitt@google.com,bsalomon@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/896163003
/external/skia/src/gpu/gl/GrGLProgram.cpp
74a11753604768bf461b80cabb66060e8564d82c 04-Feb-2015 egdaniel <egdaniel@google.com> Move DstCopy on gpu into the GrXferProcessor.

BUG=skia:

Review URL: https://codereview.chromium.org/885923002
/external/skia/src/gpu/gl/GrGLProgram.cpp
8dd688b7569df569a672a8a67b2db86a9d376cfc 22-Jan-2015 egdaniel <egdaniel@google.com> Rename GrOptDrawState to GrPipeline and GrDrawState to GrPipelineBuilder

BUG=skia:

Review URL: https://codereview.chromium.org/858343002
/external/skia/src/gpu/gl/GrGLProgram.cpp
b77e4b6bf08b1619982d0a835ab4daf693aefcb6 21-Jan-2015 joshualitt <joshualitt@chromium.org> remove drawType from optState

BUG=skia:

Review URL: https://codereview.chromium.org/864853002
/external/skia/src/gpu/gl/GrGLProgram.cpp
873ad0e0b4d67bdc7bad025018f597450e7004c6 20-Jan-2015 joshualitt <joshualitt@chromium.org> BUG=skia:

Review URL: https://codereview.chromium.org/815643005
/external/skia/src/gpu/gl/GrGLProgram.cpp
71c9260e6fa1798ad1e41b2c2ae9b3cce08bb610 14-Jan-2015 joshualitt <joshualitt@chromium.org> More changes to bring together path / geo procs

BUG=skia:

Review URL: https://codereview.chromium.org/820783005
/external/skia/src/gpu/gl/GrGLProgram.cpp
abb52a1a70a81915c6196e0fb3e9bcb05e8be14d 14-Jan-2015 joshualitt <joshualitt@chromium.org> Move most of the transform logic into the primitive processors

BUG=skia:

Review URL: https://codereview.chromium.org/822423004
/external/skia/src/gpu/gl/GrGLProgram.cpp
ee2af95db72152dfa61c841875df0594ca93437d 30-Dec-2014 joshualitt <joshualitt@chromium.org> ViewMatrix uniform upload moved to GeometryProcessor

BUG=skia:

Review URL: https://codereview.chromium.org/827973002
/external/skia/src/gpu/gl/GrGLProgram.cpp
40d4bd8dafe9ed844f29a3de3d8965672248ee73 29-Dec-2014 joshualitt <joshualitt@chromium.org> removing coord change matrices

BUG=skia:

Review URL: https://codereview.chromium.org/821243003
/external/skia/src/gpu/gl/GrGLProgram.cpp
39edf7664f50b6c890b933b5bbed67a8735b349b 22-Dec-2014 jvanverth <jvanverth@google.com> Rename GrGpuGL -> GrGLGpu

Review URL: https://codereview.chromium.org/824753002
/external/skia/src/gpu/gl/GrGLProgram.cpp
290c09b8bbd8d221d363150e2ce87158f4668df0 19-Dec-2014 joshualitt <joshualitt@chromium.org> initial changes to add local matrix to primitive processor

BUG=skia:

Review URL: https://codereview.chromium.org/820523002
/external/skia/src/gpu/gl/GrGLProgram.cpp
16b278989532ee9f9a38e3eb4754b228ff495cb8 18-Dec-2014 joshualitt <joshualitt@chromium.org> Change to create device coord coordset

BUG=skia:

Review URL: https://codereview.chromium.org/812063002
/external/skia/src/gpu/gl/GrGLProgram.cpp
861e1037017bbb7ac52ec5ebecab3a636a82a3e8 16-Dec-2014 bsalomon <bsalomon@google.com> Rename GrGpuGL to GrGLGpu for consistency

Review URL: https://codereview.chromium.org/808593003
/external/skia/src/gpu/gl/GrGLProgram.cpp
9b98932adaceb7ad0a617ade16616923f6bffe84 15-Dec-2014 joshualitt <joshualitt@chromium.org> This change will ultimately pull uniform color, and to a much lesser degree uniform coverage, into GPs. There are still some loose ends because drawstate has the ability to override the GP, but fixing these cleanly will have to wait until we have deferred geometry in place and can make attribute / uniform decisions on the fly.

BUG=skia:

Review URL: https://codereview.chromium.org/746423007
/external/skia/src/gpu/gl/GrGLProgram.cpp
c230414861558ce20b74281b1ca363e56c441832 11-Dec-2014 egdaniel <egdaniel@google.com> Create xfer processor backend.

This includes:
-Having an actual XP stage at the end of the gl pipeline.
-All Blending work is handled by XP until actually setting GL blend states
-GLPrograms test to test XP

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/4dffc940c430eec66d4707490eace19c9b3f7904

Review URL: https://codereview.chromium.org/764643004
/external/skia/src/gpu/gl/GrGLProgram.cpp
294738268d3a9317282224f03063eb38ad19717c 11-Dec-2014 joshualitt <joshualitt@google.com> Revert of Create xfer processor backend. (patchset #6 id:100001 of https://codereview.chromium.org/764643004/)

Reason for revert:
CL breaks windows DM

Original issue's description:
> Create xfer processor backend.
>
> This includes:
> -Having an actual XP stage at the end of the gl pipeline.
> -All Blending work is handled by XP until actually setting GL blend states
> -GLPrograms test to test XP
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4dffc940c430eec66d4707490eace19c9b3f7904

TBR=bsalomon@google.com,joshualitt@chromium.org,egdaniel@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/789343002
/external/skia/src/gpu/gl/GrGLProgram.cpp
4dffc940c430eec66d4707490eace19c9b3f7904 10-Dec-2014 egdaniel <egdaniel@google.com> Create xfer processor backend.

This includes:
-Having an actual XP stage at the end of the gl pipeline.
-All Blending work is handled by XP until actually setting GL blend states
-GLPrograms test to test XP

BUG=skia:

Review URL: https://codereview.chromium.org/764643004
/external/skia/src/gpu/gl/GrGLProgram.cpp
87f48d997ec29e5eeaa7567355775e93465dd60d 04-Dec-2014 joshualitt <joshualitt@chromium.org> create and thread batch tracker object

I remove the factory on the next CL

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294

Review URL: https://codereview.chromium.org/772513002
/external/skia/src/gpu/gl/GrGLProgram.cpp
dafa4d09cbe66943b2414bdeaa0f6ef7f900dc4a 04-Dec-2014 joshualitt <joshualitt@chromium.org> move program descriptor generation to flush

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/829e1b80b1020b17f2078020c990e079b70c077c

Review URL: https://codereview.chromium.org/777673003
/external/skia/src/gpu/gl/GrGLProgram.cpp
f78c60c92a8c212fc462262f2ce81e584d0f02f8 04-Dec-2014 joshualitt <joshualitt@google.com> Revert of move program descriptor generation to flush (patchset #7 id:120001 of https://codereview.chromium.org/777673003/)

Reason for revert:
breaking linux build

Original issue's description:
> move program descriptor generation to flush
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/829e1b80b1020b17f2078020c990e079b70c077c

TBR=egdaniel@google.com,bsalomon@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/776243005
/external/skia/src/gpu/gl/GrGLProgram.cpp
841a6b54c11137e210aa81e8b56e1763c3571cb8 04-Dec-2014 joshualitt <joshualitt@google.com> Revert of create and thread batch tracker object (patchset #9 id:160001 of https://codereview.chromium.org/772513002/)

Reason for revert:
Breaking linux layout test

Original issue's description:
> create and thread batch tracker object
>
> I remove the factory on the next CL
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294

TBR=bsalomon@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/774133003
/external/skia/src/gpu/gl/GrGLProgram.cpp
c3a6eb23483e5d28073b509a5f637f41660de294 04-Dec-2014 joshualitt <joshualitt@chromium.org> create and thread batch tracker object

I remove the factory on the next CL

BUG=skia:

Review URL: https://codereview.chromium.org/772513002
/external/skia/src/gpu/gl/GrGLProgram.cpp
829e1b80b1020b17f2078020c990e079b70c077c 03-Dec-2014 joshualitt <joshualitt@chromium.org> move program descriptor generation to flush

BUG=skia:

Review URL: https://codereview.chromium.org/777673003
/external/skia/src/gpu/gl/GrGLProgram.cpp
2dd1ae016d7f297b433c3ea3a771ef8e01657c1f 03-Dec-2014 joshualitt <joshualitt@chromium.org> First step to moving vertex attributes to the geometryProcessor

BUG=skia:

Review URL: https://codereview.chromium.org/761563002
/external/skia/src/gpu/gl/GrGLProgram.cpp
9176e2c159089458b1e2226a94fab1af0fba32ac 20-Nov-2014 joshualitt <joshualitt@chromium.org> dstCopy on optdrawstate

BUG=skia:

Review URL: https://codereview.chromium.org/735363003
/external/skia/src/gpu/gl/GrGLProgram.cpp
ae59b77612c42ff6b793dc33e3d115e6a5db34cc 19-Nov-2014 bsalomon <bsalomon@google.com> Create GrOptDrawState before recording draw in GrInOrderDrawBuffer

Review URL: https://codereview.chromium.org/739673002
/external/skia/src/gpu/gl/GrGLProgram.cpp
e27065ae243575f6d5d545909ad3030773c14db8 06-Nov-2014 egdaniel <egdaniel@google.com> Send coverage VA as floats instead of bytes
NOTREECHECKS=True

BUG=skia:

Review URL: https://codereview.chromium.org/700943005
/external/skia/src/gpu/gl/GrGLProgram.cpp
37b4d866b1446d35c989f9a97885a777ddc7d1c8 03-Nov-2014 egdaniel <egdaniel@google.com> Force input coverage to be only a byte in gpu shaders.

Prime coverage invariant output calculations with single component

BUG=skia:

Review URL: https://codereview.chromium.org/649783003
/external/skia/src/gpu/gl/GrGLProgram.cpp
79f8faeea2692d2948c0f634e956d1e7fc8333e0 29-Oct-2014 joshualitt <joshualitt@chromium.org> OptState owns program descriptor

BUG=skia:

Review URL: https://codereview.chromium.org/674543004
/external/skia/src/gpu/gl/GrGLProgram.cpp
0e602827df086d2bbb215d828d7fdcbbe16e792b 28-Oct-2014 joshualitt <joshualitt@chromium.org> Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2

Committed: https://skia.googlesource.com/skia/+/95f5194abce19e8ed875f3495fd16c79a9b931b4

Review URL: https://codereview.chromium.org/678073005
/external/skia/src/gpu/gl/GrGLProgram.cpp
98102a8f795abbfcb98547ced4a8b72eadbad377 28-Oct-2014 joshualitt <joshualitt@google.com> Revert of Patch to remove constant attributes (patchset #8 id:120002 of https://codereview.chromium.org/678073005/)

Reason for revert:
I'll checkin tonight when the tree is quieter

Original issue's description:
> Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2
>
> Committed: https://skia.googlesource.com/skia/+/95f5194abce19e8ed875f3495fd16c79a9b931b4

TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/683203002
/external/skia/src/gpu/gl/GrGLProgram.cpp
95f5194abce19e8ed875f3495fd16c79a9b931b4 28-Oct-2014 joshualitt <joshualitt@chromium.org> Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2

Review URL: https://codereview.chromium.org/678073005
/external/skia/src/gpu/gl/GrGLProgram.cpp
9f2825f249110153eba6c5a5713713033696be5c 28-Oct-2014 joshualitt <joshualitt@google.com> Revert of Patch to remove constant attributes (patchset #6 id:100001 of https://codereview.chromium.org/678073005/)

Reason for revert:
Breaks the K1

Original issue's description:
> Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2

TBR=bsalomon@google.com,egdaniel@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/679363002
/external/skia/src/gpu/gl/GrGLProgram.cpp
84c94c0dfd1e12e97d8a835882dda575f36e41d2 27-Oct-2014 joshualitt <joshualitt@chromium.org> Working patch to remove constant attributes. This may cause some gm mismatches, I will rebaseline tonight.

BUG=skia:

Review URL: https://codereview.chromium.org/678073005
/external/skia/src/gpu/gl/GrGLProgram.cpp
a5305a110ab5201d5dadd40cbe711582d5ac4996 11-Oct-2014 joshualitt <joshualitt@chromium.org> Opt state takes a GP instead of a GeometryStage

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/71856d520461ae025a0332aa0ce9735a096d9baf

Review URL: https://codereview.chromium.org/637003003
/external/skia/src/gpu/gl/GrGLProgram.cpp
89c7a2ec3e9f7e1b9705214f450bb12288799da9 10-Oct-2014 joshualitt <joshualitt@chromium.org> Revert of Opt state takes a GP instead of a GeometryStage (patchset #18 id:1500001 of https://codereview.chromium.org/637003003/)

Reason for revert:
Revert because this may be causing a break in a chrome gpu test

Original issue's description:
> Opt state takes a GP instead of a GeometryStage
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/71856d520461ae025a0332aa0ce9735a096d9baf

TBR=bsalomon@google.com,egdaniel@google.com,danakj@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/647183002
/external/skia/src/gpu/gl/GrGLProgram.cpp
71856d520461ae025a0332aa0ce9735a096d9baf 10-Oct-2014 joshualitt <joshualitt@chromium.org> Opt state takes a GP instead of a GeometryStage

BUG=skia:

Review URL: https://codereview.chromium.org/637003003
/external/skia/src/gpu/gl/GrGLProgram.cpp
47bb38283072dc87dc93220cd2f370ca109972ff 08-Oct-2014 joshualitt <joshualitt@chromium.org> Cleanup of shader building system

this is a huge refactor and cleanup of the gl shader building system in
Skia. The entire shader building pipeline is now part of
GrGLProgramCreator, which takes a gp, and some fps, and creates a
program. I added some subclasses of GrGLProgram to handle the
eccentricities of Nvpr/Nvpres. Outside of the builders folder
and GrGLPrograms, this change is basically just a rename

solo gp

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/fe1233c3f12f81bb675718516bbb32f72af726ec

Review URL: https://codereview.chromium.org/611653002
/external/skia/src/gpu/gl/GrGLProgram.cpp
db0d3ca07008ea2c1f24d0fd9ceecf10af6ae63b 07-Oct-2014 joshualitt <joshualitt@chromium.org> Revert of Cleanup of shader building system (patchset #25 id:470001 of https://codereview.chromium.org/611653002/)

Reason for revert:
Seems to have messed up windows 7 gms

Original issue's description:
> Cleanup of shader building system
>
> this is a huge refactor and cleanup of the gl shader building system in
> Skia. The entire shader building pipeline is now part of
> GrGLProgramCreator, which takes a gp, and some fps, and creates a
> program. I added some subclasses of GrGLProgram to handle the
> eccentricities of Nvpr/Nvpres. Outside of the builders folder
> and GrGLPrograms, this change is basically just a rename
>
>
> solo gp
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/fe1233c3f12f81bb675718516bbb32f72af726ec

TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/635533005
/external/skia/src/gpu/gl/GrGLProgram.cpp
fe1233c3f12f81bb675718516bbb32f72af726ec 07-Oct-2014 joshualitt <joshualitt@chromium.org> Cleanup of shader building system

this is a huge refactor and cleanup of the gl shader building system in
Skia. The entire shader building pipeline is now part of
GrGLProgramCreator, which takes a gp, and some fps, and creates a
program. I added some subclasses of GrGLProgram to handle the
eccentricities of Nvpr/Nvpres. Outside of the builders folder
and GrGLPrograms, this change is basically just a rename

solo gp

BUG=skia:

Review URL: https://codereview.chromium.org/611653002
/external/skia/src/gpu/gl/GrGLProgram.cpp
307796bc2e3731099d96773db7385fe70cb94f7d 06-Oct-2014 egdaniel <egdaniel@google.com> Plumb OptDrawState down to VertexShaderBuilder

BUG=skia:

Review URL: https://codereview.chromium.org/628293002
/external/skia/src/gpu/gl/GrGLProgram.cpp
b0a8a377f832c59cee939ad721e1f87d378b7142 23-Sep-2014 joshualitt <joshualitt@chromium.org> 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
/external/skia/src/gpu/gl/GrGLProgram.cpp
c06482494d2be6481a3666a66254b6c66890f994 22-Sep-2014 egdaniel <egdaniel@google.com> Calculate Primary and Secondary output types in the GrOptDrawState

Follow up CL to https://codereview.chromium.org/545693004/

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/554833002
/external/skia/src/gpu/gl/GrGLProgram.cpp
ae444965c43ad16575730ce8e3abdcaded296d94 22-Sep-2014 egdaniel <egdaniel@google.com> Change GrGLProgramDesc header to have DoPathRendering flag instead of RequiresVertexShader

Also update GLProgramTests to fix bug where it would incorrectly try to PathRendering when we did
not want to.

BUG=skia:
R=bsalomon@google.com, joshualitt@chromium.org

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/586793002
/external/skia/src/gpu/gl/GrGLProgram.cpp
23e280d1f227d94f6b3dfd0b47359cca1569e1b4 18-Sep-2014 joshualitt <joshualitt@chromium.org> Changes to remove program effects builder

BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/551253004
/external/skia/src/gpu/gl/GrGLProgram.cpp
408d6125b32c86e1f81ce60465e3bf4491e755fc 17-Sep-2014 joshualitt <joshualitt@chromium.org> Breaking out full program and frag only

BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/576543005
/external/skia/src/gpu/gl/GrGLProgram.cpp
170f90b4576f291879371ecd6ae4bc2b1d85c64a 16-Sep-2014 egdaniel <egdaniel@google.com> Attach GrOptDrawState into shader building pipeline

The OptDrawState is now used for creating the actual gl shader. Current
optimizations dones in GrOptDrawState include:
All blend optimizations
Constant color/coverage stage optimizations

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/ee6206572b42fec11f83ad0c1e6d435903640518

R=bsalomon@google.com, joshualitt@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/504203004
/external/skia/src/gpu/gl/GrGLProgram.cpp
49586bec7383d4ccb81f85f8e2dc4162e2d4f6a8 16-Sep-2014 joshualitt <joshualitt@chromium.org> removing GrDrawEffect

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/8ddbe8b9366c8c59c4fb55f01f253de8a0b37d6e

R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/571163002
/external/skia/src/gpu/gl/GrGLProgram.cpp
8a4c1030ff4b8336b5ac5b0712691e2f65383440 16-Sep-2014 egdaniel <egdaniel@google.com> Revert of Attach GrOptDrawState into shader building pipeline (patchset #11 id:220001 of https://codereview.chromium.org/504203004/)

Reason for revert:
Failing some msaa gm's

Original issue's description:
> Attach GrOptDrawState into shader building pipeline
>
> The OptDrawState is now used for creating the actual gl shader. Current
> optimizations dones in GrOptDrawState include:
> All blend optimizations
> Constant color/coverage stage optimizations
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/ee6206572b42fec11f83ad0c1e6d435903640518

R=bsalomon@google.com, joshualitt@google.com
TBR=bsalomon@google.com, joshualitt@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/560443004
/external/skia/src/gpu/gl/GrGLProgram.cpp
08da4f22d790cfc51bbeb10b4b84dab49cf0eaec 16-Sep-2014 joshualitt <joshualitt@chromium.org> Revert of removing GrDrawEffect (patchset #4 id:60001 of https://codereview.chromium.org/571163002/)

Reason for revert:
reverting to unblock another revert

Original issue's description:
> removing GrDrawEffect
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8ddbe8b9366c8c59c4fb55f01f253de8a0b37d6e

R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/577593003
/external/skia/src/gpu/gl/GrGLProgram.cpp
8ddbe8b9366c8c59c4fb55f01f253de8a0b37d6e 16-Sep-2014 joshualitt <joshualitt@chromium.org> removing GrDrawEffect

BUG=skia:
R=bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/571163002
/external/skia/src/gpu/gl/GrGLProgram.cpp
ee6206572b42fec11f83ad0c1e6d435903640518 16-Sep-2014 egdaniel <egdaniel@google.com> Attach GrOptDrawState into shader building pipeline

The OptDrawState is now used for creating the actual gl shader. Current
optimizations dones in GrOptDrawState include:
All blend optimizations
Constant color/coverage stage optimizations

BUG=skia:
R=bsalomon@google.com, joshualitt@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/504203004
/external/skia/src/gpu/gl/GrGLProgram.cpp
49f085dddff10473b6ebf832a974288300224e60 05-Sep-2014 bsalomon <bsalomon@google.com> "NULL !=" = NULL

R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
/external/skia/src/gpu/gl/GrGLProgram.cpp
bd769d0f1c8cf6ccbb2738dfad1624a4c828e4eb 04-Sep-2014 joshualitt <joshualitt@chromium.org> Initial change to create GeometryProcessor

BUG=skia:
R=bsalomon@google.com, robertphillips@google.com, egdaniel@google.com, jvanverth@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/509153002
/external/skia/src/gpu/gl/GrGLProgram.cpp
842b086a3c876061e1279d47e6009629c9818b03 02-Sep-2014 egdaniel <egdaniel@google.com> When ignoring color input don't use vertex attribs on gpu

Also rename SolidWhite_ColorInput enum to be AllOnes_ColorInput to better reflect what it's use is

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/525433002
/external/skia/src/gpu/gl/GrGLProgram.cpp
ec56e4545477e30d4f165ca55ed99f90525c6c38 26-Aug-2014 kkinnunen <kkinnunen@nvidia.com> Implement NV_path_rendering on OpenGL ES

Implement support for NV_path_rendering on OpenGL ES. Use
glProgramPathFragmentInputGenNV function call instead of glPathTexGenNV to
communicate transforms to fragment shader.

The intention is that the NVPR paths will be drawn with the same shader program
as non-NVPR geometry. For NVPR calls, the GPU will skip the vertex shader and
just run the fragment shader.

After program is linked, query the locations of the fragment shader inputs with
glGetResourceLocation. The location will be used to set the transforms with
glProgramPathFragmentInputGenNV.

The functions and their workings are documented in:

glProgramPathFragmentInputGenNV
https://www.opengl.org/registry/specs/NV/path_rendering.txt
(note: addition as of API version 1.3)

glGetResourceLocation
https://www.opengl.org/registry/specs/ARB/program_interface_query.txt
http://www.opengl.org/registry/doc/glspec44.core.pdf
(function is in core Open GL 4.4)

Note: glProgramPathFragmentInputGenNV could be used also for OpenGL. However,
using seems to trigger a bug in the driver. Disable this feature on OpenGL at
least until the driver is fixed and released. The bug manifests in shadertext
test, where the lower-left text pair is missing. Valgrind catches a bad read
for the test and causes the context to OOM reproducibly.

R=bsalomon@google.com, cdalton@nvidia.com, joshualitt@google.com, joshualitt@chromium.org

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/367643004
/external/skia/src/gpu/gl/GrGLProgram.cpp
30ba436f04e61d4505fb854d5fc56079636e0788 22-Aug-2014 joshualitt <joshualitt@chromium.org> Initial refactor of shaderbuilder to prepare for geometry shaders

gitignore for eclipse

BUG=skia:
R=bsalomon@google.com, bsalomon@chromium.org

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/491673002
/external/skia/src/gpu/gl/GrGLProgram.cpp
ccdaa0422501e5cbcba53d6bd19f2736f1beaef3 20-Aug-2014 kkinnunen <kkinnunen@nvidia.com> Separate GL path rendering state from GrGpuGL to GrGLPathRendering

Separate GL path rendering state from GrGpuGL to GrGLPathRendering. This
makes GrGpuGL code simpler.

The intention is that while GrGpuGL represents the global environment for GL,
the GrGLPathRendering represents the global environment for path rendering
extension.

Add GrPathRendering, a base class for path rendering, and inherit
GrGLPathRendering from that. Move the path rendering virtual functions from
GrGpu to GrPathRendering.

R=bsalomon@google.com, cdalton@nvidia.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/452823002
/external/skia/src/gpu/gl/GrGLProgram.cpp
dddc18a6bba67ad43a65f4c244b95f76cefef617 04-Aug-2014 kkinnunen <kkinnunen@nvidia.com> Make GrGLProgram be available to GrGLProgramDataManager

GL APIs such as glProgramPathFragmentInputGenNV need the explicit program id in
order to set the program resources. For GrGLProgramDataManager to call the APIs,
the program id needs to be available to the GrGLProgramDataManager.

One GrGLProgramDataManager is used to explicitly manage the resources of one
GrGLProgram. Refactor the classes to reflect this: make GrGLProgram create and
own GrGLProgramDataManager. This way the program id can be made available through
GrGLProgram backpointer.

In order to do this, remove the population of the program link results
information for uniforms in GrGLProgramDataManager during shader generation.

Instead, accumulate the info to the uniform list of GrGLShaderBuilder. After the
generation, compilation and link is successful, this info can be used to
construct both GrGLProgram and GrGLProgramDataManager.

Changes names of functions to create UniformHandles and convert them to list
indices. This tries to highlight that they're different lists, even though at
the moment they match index-wise. E.g the contract is that handles can be
created based on the shader builder state, and the object can later be set with
the handle and the manager that was created with the builder.

This is needed to support NV_path_rendering for GLES.

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/426553011
/external/skia/src/gpu/gl/GrGLProgram.cpp
7510b224e52b9518a8ddf7418db0e9c258f79539 30-Jul-2014 kkinnunen <kkinnunen@nvidia.com> Rename GrGLUniformManager to GrGLProgramDataManager

Rename GrGLUniformManager to GrGLProgramDataManager in anticipation that the
class would be used to manage shader resources that are not uniforms.

This is needed in order to implement NVPR on GLES.

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/365853002
/external/skia/src/gpu/gl/GrGLProgram.cpp
02cafcc1bf6e2968c2efdf459871167970da150e 21-Jul-2014 egdaniel <egdaniel@google.com> Remove gpu shader optimatization for solid white or trans black colors

Running test on the added bench which draws a grid of all white paths, all blue paths, or alternating checkered white/blue paths.

With optimization in (ms):
White Blue Checkered
Linux ~80 ~80 ~160
N7 ~800 ~1100 ~1500
Moto-e ~830 ~1100 ~2500

Without optimization in (ms):
White Blue Checkered
Linux ~80 ~80 ~80
N7 ~1100 ~1100 ~1100
Moto-e ~1100 ~1100 ~1500

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/5f78d2251a440443c9eaa321dad058d7a32bfef7

R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/375823005
/external/skia/src/gpu/gl/GrGLProgram.cpp
c855ca0c9408d2a218655a138fab9cc18a2b3940 11-Jul-2014 egdaniel <egdaniel@google.com> Revert of Remove gpu shader optimatization for solid white or trans black colors (https://codereview.chromium.org/375823005/)

Reason for revert:
possible test and gm failures

Original issue's description:
> Remove gpu shader optimatization for solid white or trans black colors
>
> Running test on the added bench which draws a grid of all white paths, all blue paths, or alternating checkered white/blue paths.
>
> With optimization in (ms):
> White Blue Checkered
> Linux ~80 ~80 ~160
> N7 ~800 ~1100 ~1500
> Moto-e ~830 ~1100 ~2500
>
> Without optimization in (ms):
> White Blue Checkered
> Linux ~80 ~80 ~80
> N7 ~1100 ~1100 ~1100
> Moto-e ~1100 ~1100 ~1500
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/5f78d2251a440443c9eaa321dad058d7a32bfef7

R=bsalomon@google.com
TBR=bsalomon@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/385163004
/external/skia/src/gpu/gl/GrGLProgram.cpp
5f78d2251a440443c9eaa321dad058d7a32bfef7 11-Jul-2014 egdaniel <egdaniel@google.com> Remove gpu shader optimatization for solid white or trans black colors

Running test on the added bench which draws a grid of all white paths, all blue paths, or alternating checkered white/blue paths.

With optimization in (ms):
White Blue Checkered
Linux ~80 ~80 ~160
N7 ~800 ~1100 ~1500
Moto-e ~830 ~1100 ~2500

Without optimization in (ms):
White Blue Checkered
Linux ~80 ~80 ~80
N7 ~1100 ~1100 ~1100
Moto-e ~1100 ~1100 ~1500

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/375823005
/external/skia/src/gpu/gl/GrGLProgram.cpp
a05fa0669bac20e521ac3c1905fe8391fd659e60 30-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Use GrGLShaderBuilder::GenProgramOutput in GrGLProgram.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/305203002

git-svn-id: http://skia.googlecode.com/svn/trunk@15002 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
facad13fa840d362a8ea40161916fe609cb52657 30-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GrGLShaderBuilder store a GenProgramOutput

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/304383002

git-svn-id: http://skia.googlecode.com/svn/trunk@14982 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
6eac42e3ab68b085117d7f91621276a722b5a3a7 29-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Incremental refactoring of GrGLProgram and GrGLShaderBuilder

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/302663006

git-svn-id: http://skia.googlecode.com/svn/trunk@14980 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
0365261597f73c049f2d8c117c8c87ef2fb2c9ab 29-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move all code generation from GrGLProgram to GrGLShaderBuilder

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/306663003

git-svn-id: http://skia.googlecode.com/svn/trunk@14974 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
47c66ddaeb48faf963a2ef3f508a7d816e4168cc 29-May-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> separate view matrix from rt adjustment

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/299943002

git-svn-id: http://skia.googlecode.com/svn/trunk@14944 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
88cb22b6b4816c7a9ca6c5b795965b4606f9eb7b 30-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Convert GrCrash->SkFAIL GrDebugCrash->SkDEBUGFAIL

R=robertphillips@google.com, reed@google.com, mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/257393004

git-svn-id: http://skia.googlecode.com/svn/trunk@14460 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
0a6fe71f1bc0e601b41b7ae6d28b8c96a2c41116 23-Apr-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Use fixed function pipeline only when drawing paths

Use fixed function pipeline only when drawing paths. Previously FF
vertex shader was used when drawing normal geometry if path rendering
was enabled.

This is required to make Chromium integration easier. This way
fixed function vertex shading, including vertexshader-less programs,
need not be implemented in the Chromium command buffer.

Removes FF TexGen functionality, as it is not used anymore. Likewise
removes the fixedFunctionSupport GL capability flag.

BUG=chromium:344330
R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/212753002

git-svn-id: http://skia.googlecode.com/svn/trunk@14334 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
8a13588b6f41ba892bcf6e8ceef6b449c4a5d83d 05-Feb-2014 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Stop discarding in frag shader when coverage is zero and stencil writes are enabled

This fixes the corruption in the NVPR images here:
http://108.170.217.252:10117/builders/Test-Win8-ShuttleA-GTX660-x86-Debug/builds/251/steps/CompareGMs/logs/stdio

caused by:

https://skia.googlesource.com/skia.git/+/65ee5f424cb4dabd453268902c00086605d77c1d

The stencil path step writes inside and outside the clip when the clip is implemented by
a coverage effect. The path cover step then doesn't write outside of the clip because the FS
discards. This leaves stencil values outside of the clip non-zero which messed up subsequent
path or clip draws to those samples.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/154623002

git-svn-id: http://skia.googlecode.com/svn/trunk@13320 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
ab1c13864df34aecfd4840ea7d1e4f8730b44f4e 05-Dec-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix compilation with SK_ENABLE_INST_COUNT=1

Add INHERITED declarations to class declarations that prevent
compilation with the flag.

Remove SK_DEFINE_INST_COUNT from all class implementations. Instead,
use function-local static variables in the reference count helper
classes to create the global instances to store the needed info. The
accessor functions are defined inline in the helper classes, so
definitions are not needed. The initialization point of the variables
should be as well defined as previously.

Remove SK_DECLARE_INST_COUNT_TEMPLATE and use SK_DECLARE_INST_COUNT
instead. This avoids possible future compilation errors further.

For SK_ENABLE_INST_COUNT=0 compilation, add an empty static member
function to all classes that use SK_DECLARE_INST_COUNT and
SK_DECLARE_INST_COUNT_ROOT macros. The function ensures that classes
contain public INHERITED typedef. This member function seems to be
compiled away. This shouĺd ensure that part of the compilation errors
are caught earlier.

Also adds DSK_DECLARE_INST_COUNT to few SkPDFDict subclasses.

R=robertphillips@google.com, richardlin@chromium.org, bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/98703002

git-svn-id: http://skia.googlecode.com/svn/trunk@12501 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
e0a868c84ebc34c5a16b5faa1546016abb9ca0ac 22-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Apply hairline optimization only if the path renderer wants it

Make the decision to convert thin, non-hairline paths to hairline
paths at the renderer level.

The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.

Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by a renderer that
wants the optimization. Previously the optimization was applied only
when callgraph started with SkCanvas::drawPath.

Applies the optimization for GrAAHairLineRenderer and
GrDefaultPathRenderer.

This changes gm results for dashing3_{msaa4,gpu} and drawlooper_msaa4.

R=bsalomon@google.com, jvanverth@google.com, rmistry@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/38573007

git-svn-id: http://skia.googlecode.com/svn/trunk@12357 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
1b20a10f0205da2d53e0837e4ddc6b2bd3b8a462 08-Nov-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Do not apply hairline optimization for paths if nv_path_rendering is used"

This reverts commit r12185.

Review URL: https://codereview.chromium.org/66813002

git-svn-id: http://skia.googlecode.com/svn/trunk@12187 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
44fb865e81a57e0c72de3109d0ed5ea428aa1f44 08-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Do not apply hairline optimization for paths if nv_path_rendering is used

Do not convert thin, non-hairline paths to hairline paths if
nv_path_rendering is used.

The current nv_path_rendering implementation does not render
hairlines. Rendering the hairlines with normal renderers cause
unneccessary gl program changes, which is quite slow.

Changes the behavior of non-nv_path_rendering paths to always perform
the optimization if the shape ends up being painted by the
path-drawing code (GrContext::drawPathInternal). Previously the
optimization was applied only when callgraph started with
SkCanvas::drawPath. This changes drawlooper_msaa4, dashing3_msaa4 and
dashing3_gpu

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/38573007

git-svn-id: http://skia.googlecode.com/svn/trunk@12185 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
d3baf20dd1de9940717dd50b5c9ff6061561342e 07-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Added support for Chrome's gpu command buffer extension BindUniformLocation.

R=bsalomon@google.com, bsalomon

Author: skaslev@chromium.org

Review URL: https://codereview.chromium.org/62163004

git-svn-id: http://skia.googlecode.com/svn/trunk@12178 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
20807224936f8040424022a6bd6442b94b333d7f 01-Nov-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix two inconsistencies in handling fixed-function texture coordinate set generation

Prevent off-by-one bug leaving the texture coordinate set 0 always enabled if
it ever was used. This makes the code consistent with its apparent purpose.

When enabling / disabling texture coordinate sets, call glPathTexGen
only if path rendering is applicable. This makes the functions
consistent with GrGpuGL::resetContext.

R=cdalton@nvidia.com, bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/54403003

git-svn-id: http://skia.googlecode.com/svn/trunk@12074 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
a34995e18b1f0a7d8c9f23451718bb30ff0105b0 23-Oct-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Implement SkColorFilter as a GrGLEffect

Adds GrEffect::willUseInputColor() which indicates whether or not the
input color affects the output of the effect. This is needed for
certain Xfermodes, such as kSrc_Mode. For these modes the color filter
will not use the input color.

An effect with GrEffect::willUseInputColor() true will cause all color
or coverage effects before it to be discarded, as their computations
cannot affect the output. In these cases program is marked as having
white input color.

This fixes an assert when Skia is compiled in a mode that prefers
using uniforms instead of attributes for constants. (Flags
GR_GL_USE_NV_PATH_RENDERING or GR_GL_NO_CONSTANT_ATTRIBUTES). Using
attributes hides the problem where the fragment shader does not need
input color for color filters that ignore DST part of the filter. The
assert would be hit when uniform manager tries to bind an uniform which
has been optimized away by the shader compiler.

Adds specific GrGLSLExpr4 and GrGLSLExpr1 classes. This way the GLSL
expressions like "(v - src.a)" can remain somewhat readable in form of
"(v - src.a())". The GrGLSLExpr<typename> template implements the
generic functionality, GrGLSLExprX is the specialization that exposes
the type-safe interface to this functionality.

Also adds operators so that GLSL binary operators of the form
"(float * vecX)" can be expressed in C++. Before only the equivalent
"(vecX * float)" was possible. This reverts the common blending
calculations to more conventional order, such as "(1-a) * c" instead of
"c * (1-a)".

Changes GrGLSLExpr1::OnesStr from 1 to 1.0 in order to preserve the
color filter blending formula string the same (with the exception of
variable name change).

Shaders change in case of input color being needed:
- vec4 filteredColor;
- filteredColor = (((1.0 - uFilterColor.a) * output_Stage0) + uFilterColor);
- fsColorOut = filteredColor;
+ vec4 output_Stage1;
+ { // Stage 1: ModeColorFilterEffect
+ output_Stage1 = (((1.0 - uFilterColor_Stage1.a) * output_Stage0) + uFilterColor_Stage1);
+ }
+ fsColorOut = output_Stage1;

Shaders change in case of input color being not needed:
-uniform vec4 uFilterColor;
-in vec4 vColor;
+uniform vec4 uFilterColor_Stage0;
out vec4 fsColorOut;
void main() {
- vec4 filteredColor;
- filteredColor = uFilterColor;
- fsColorOut = filteredColor;
+ vec4 output_Stage0;
+ { // Stage 0: ModeColorFilterEffect
+ output_Stage0 = uFilterColor_Stage0;
+ }
+ fsColorOut = output_Stage0;
}

R=bsalomon@google.com, robertphillips@google.com, jvanverth@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/25023003

git-svn-id: http://skia.googlecode.com/svn/trunk@11912 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
8e919add406c5d20918a7f0ca811317312e6ce67 21-Oct-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix GrProgramsTest to not generate tests with too many TexCoord references

Make GrProgramsTest check how many texture coordinate sets are
available and select random effects up until the amount runs out.

Otherwise, following effect sequence would fail the shader compilation
when Skia is compiled with nv_path_rendering on (eg. when fixed
function codepath is used):
* Stage 0: TextureDomain (1 texcoord)
* Stage 1: Convolution (1 texcoord)
* Stage 2: Bitmap Alpha Threshold (2 texcoords)
* Stage 3: DisplacementMap (2 texcoords)
* Stage 4: Config Conversion (1 texcoords)
* Stage 5: Two-Point Conical Gradient (2 texcoords)

This would use more texture coordinate sets than 8, which is fairly
common amount currently.

R=bsalomon@google.com, cdalton@nvidia.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/32403002

git-svn-id: http://skia.googlecode.com/svn/trunk@11881 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
824c346b6e0e114063c1a8ad4ba7c3a669ee2cff 10-Oct-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Express (GLSL expression, possibly known value) pairs as a class

Express (GLSL expression, possibly known value) pairs as a class
instead of two variables Introduces GrGLSLExpr<N> to encapsulate
the expression and possibly constant-folded value of the expression.

This simplifies passing of the expressions to functions.

Changes the shaders with following patterns:
{ // Stage 0: Linear Gradient
vec4 colorTemp = mix(uGradientStartColor_Stage0, uGradientEndColor_Stage0, clamp(vMatrixCoord_Stage0.x, 0.0, 1
colorTemp.rgb *= colorTemp.a;
- output_Stage0 = vec4((vColor) * (colorTemp));
+ output_Stage0 = (vColor * colorTemp);
+ }

Previously the vector cast was always added if constant folding was
effective, regardless of the term dimensions. Now the vector upcast is
not inserted in places where it is not needed, ie. when the binary
operator term is of the target dimension.

Also, some parentheses can be omitted. It is assumed that
GrGLSLExpr<N>("string") constructors construct a simple expression or
parenthesized expression.

Otherwise the shader code remains identical.

R=jvanverth@google.com, bsalomon@google.com, robertphillips@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/25048002

git-svn-id: http://skia.googlecode.com/svn/trunk@11690 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
c4dc0ad8e252a7e30d19b47d3d0d9f2c69faf854 09-Oct-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Implement filling a path with nv_path_rendering cover

Implement filling a path with nv_path_rendering cover functionality.

The nv_path_rendering cover can be used if the fill is non-inverted
and the draw operation does not require use of vertex shaders.

Moves code for the inverted fill from GrStencilAndCoverPathRenderer
down to GrGpuGL.

R=bsalomon@google.com, markkilgard@gmail.com, cdalton@nvidia.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/22686002

git-svn-id: http://skia.googlecode.com/svn/trunk@11667 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
6b30e457409f37c91c301cd82040e733e2930286 04-Oct-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Use vertexless shaders when NVpr is available

Adds support for vertexless shaders and enables them when
NV_path_rendering is available. This takes a
GrGLFragmentOnlyShaderBuilder class, a GrGLTexGenEffectArray class,
support for setting TexGen and the projection matrix in GrGpuGL, and
code for setting the GL fixed function state where necessary.

R=bsalomon@google.com, kkinnunen@nvidia.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/25846002

git-svn-id: http://skia.googlecode.com/svn/trunk@11620 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
261dc569b6a53729bea6e4e7a0cf2afa980eb82d 04-Oct-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move VertexBuilder to a GrGLFullShaderBuilder subclass

Removes the VertexBuilder nested class from GrGLShaderBuilder in favor
of a new GrGLFullShaderBuilder subclass, and adds an optional emitCode
overload to GrGLEffect that takes a GrGLFullShaderBuilder. Makes
setData virtual in GrGLEffectArray and adds a GrGLVertexEffectArray
subclass that gets built using a GrGLFullShaderBuilder. Also adds a
new GrGLVertexEffect subclass that makes the GrGLFullShaderBuilder
overload required for emitCode, and updates GrGLEffects to inherit
from GrGLVertexEffect where needed.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/25474006

git-svn-id: http://skia.googlecode.com/svn/trunk@11612 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
3390b9ac9ad69a6e772c2b957d75d19611239025 03-Oct-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Repurpose GrGLCoordTransform as GrGLProgramEffects

Creates a GrGLProgramEffects class that the GrGLProgram uses to manage
an array of effects. This gives us enough abstraction for the program
to cleanly handle different types of coord transforms.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/25605008

git-svn-id: http://skia.googlecode.com/svn/trunk@11588 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
77af6805e5faea1e2a5c0220098aec9082f3a6e5 02-Oct-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GPU coord transforms automatic

Adds a GrCoordTransform class and updates the framework to handle
coord transforms similar to how it handles textures with
GrTextureAccess. Renames GrGLEffectMatrix to GrGLCoordTransform and
slightly repurposes it to be used by the framework instead of effects.

R=bsalomon@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/24853002

git-svn-id: http://skia.googlecode.com/svn/trunk@11569 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
949eef0af2f5b47000e637347801cf2970092a38 01-Oct-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Use explicitly-sized enums in GrGLProgramDesc::KeyHeader

Uses enums explicitly sized to 8 bits in GrGLProgramDesc::KeyHeader,
instead of storing them as uint8_t values. This avoids the need to
static_cast them.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/23875048

git-svn-id: http://skia.googlecode.com/svn/trunk@11560 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
410552a73d59611901033b2bc5147cc6ade0207c 30-Sep-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Move the GL shader compilation step into GrGLShaderBuilder

Moves the compilation step and a few other blocks of code from
GrGLProgram to GrGLShaderBuilder. This way GrGLProgram doesn't have to
know whether or not there is a vertex shader.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/23533066

git-svn-id: http://skia.googlecode.com/svn/trunk@11523 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
a4acf12a9353ffc834d2c6ee673be447487963c9 30-Sep-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert "Add a requiresVertexShader method to GrGLEffect"

This reverts commit 1a30a3af805b7ea688d4a0f0bfe373c204085a27. We're
going to take a different direction for vertexless shaders.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/23464082

git-svn-id: http://skia.googlecode.com/svn/trunk@11521 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
a91f03165335267bda7cf04ae5ffb60c1362f017 06-Sep-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add a requiresVertexShader method to GrGLEffect

Adds requiresVertexShader to GrGLEffect and updates the necessary
effects to override it and return true. Also reworks GrGLProgram
and GrGLShaderBuilder so the program creates all the GL effects
at the beginning, and determines if it needs a vertex shader before
creating the shader builder.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/23471008

git-svn-id: http://skia.googlecode.com/svn/trunk@11140 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
215a682d2d561be69b7a28eb76a98849ad03cbc0 05-Sep-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add getGLMatrix method to MatrixState

Removes redundant code by consolidating it into a single method. No
change in functionality, this is strictly a refactoring.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/23767005

git-svn-id: http://skia.googlecode.com/svn/trunk@11112 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
9188a15f846ae79892c332aed2a72ee38116bdc6 05-Sep-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add a GrGpuGL reference for GrGLProgram/GrGLUniformManager

Updates GrGLProgram and GrGLUniformManager to keep a GrGpuGL reference
instead of one for GrGLContextInfo. No change in functionality, this
is in preparation to support fixed function GL calls for vertexless
shaders.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/23636011

git-svn-id: http://skia.googlecode.com/svn/trunk@11111 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
5a02cb48fdff04dc274d4cb1af8c4dc65a503438 30-Aug-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Isolate VertexBuilder from GrGLShaderBuilder

Adds a nested class to GrGLShaderBuilder called VertexBuilder. Now
GrGLShaderBuilder can only modify the fragment shader directly. In
order to modify the vertex shader, the client code needs to call
getVertexShader, which will return null for vertex-less shaders.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/23754003

git-svn-id: http://skia.googlecode.com/svn/trunk@11046 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
74a3a2135ca82ab9324b7e499caa3280348a4fda 30-Aug-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Rename ShaderType enum to ShaderVisibility

Renames ShaderType in GrGLShaderBuilder to ShaderVisibility. It is now
used solely as a bitfield. Methods that previously accepted a single
ShaderType value are split into separate calls:

- getShader -> vsGetShader, gsGetShader, fsGetShader
- emiitFunction -> fsEmitFunction
- appendTextureLookup -> fsAppendTextureLookup

No change in functionality. This is a refactoring to allow us to
separate the vertex/geometry and fragment parts of GrGLShaderBuilder.

R=bsalomon@google.com

Author: cdalton@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/23826002

git-svn-id: http://skia.googlecode.com/svn/trunk@11044 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
515dcd36032997ce335daa0163c6d67e851bcad1 28-Aug-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Replace uses of GR_DEBUG by SK_DEBUG.

BUG=None
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23137022

git-svn-id: http://skia.googlecode.com/svn/trunk@10978 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
330313a8a8343876ee596da39da06a5d69badd9c 22-Aug-2013 mtklein@google.com <mtklein@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> My clang now doesn't complain about !"foo".

BUG=
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/22875037

git-svn-id: http://skia.googlecode.com/svn/trunk@10874 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
f6de475e5cbd143f348ff7738919e397b7fe7f57 17-Aug-2013 tfarina@chromium.org <tfarina@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Replace uses of GrAssert by SkASSERT.

R=bsalomon@google.com

Review URL: https://codereview.chromium.org/22850006

git-svn-id: http://skia.googlecode.com/svn/trunk@10789 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
7425c124f685978a0a6f0a1f79e89154019e7c99 14-Aug-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Refactor GrGLUniformManager::UniformHandle to initialize itself by default

Refactor GrGLUniformManager::UniformHandle to initialize itself to
"invalid" state by default. This simplifies the effect
constructors. In the future, it should also help catch potential
uninitialized uniform variable usage.

Remove unneeded explicit uniform handle validity assertions before the
handle usage. The assertion will always be made when handle is
converted to index.

BUG=skia:1492
R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/22340010

git-svn-id: http://skia.googlecode.com/svn/trunk@10713 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
2c84aa35988c661b3e5513c8ba9b3959832ff288 06-Jun-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> separate arrays for color and coverage effects.

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/16180006

git-svn-id: http://skia.googlecode.com/svn/trunk@9465 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
804e9941ebd6217c592ecee2b5a5d1cbeaea1c42 06-Jun-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GrGLProgram no longer depend on kNumStages

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/16158007

git-svn-id: http://skia.googlecode.com/svn/trunk@9462 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
2db3ded335fdb6697623bece61cabc307a414770 22-May-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GrGLProgramDesc's key variable length by compacting the effect key array

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/15252004

git-svn-id: http://skia.googlecode.com/svn/trunk@9239 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
504976ef6f1b969c2ac13ff1140ea1067f085ffa 09-May-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move loops that chain together effects into GrGLShaderBuilder from GrGLProgram.

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/14925010

git-svn-id: http://skia.googlecode.com/svn/trunk@9073 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
5920ac276877b36624e07baf97c7768e80a07f98 19-Apr-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Perform coverage blend with the dst in the shader when using a dst-reading xfermode.
Review URL: https://codereview.chromium.org/14233006

git-svn-id: http://skia.googlecode.com/svn/trunk@8762 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
cb6dc752281841a8d3245d14530e30eff39816d3 19-Apr-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@8759 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
018f179efb2413431bdb1a9e6701eb44ef36b792 18-Apr-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Expand modulate, add, subtract, extract component glsl helpers.
Review URL: https://codereview.chromium.org/13895006

git-svn-id: http://skia.googlecode.com/svn/trunk@8755 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
42eff161a2acdbf03a71666b3fc31079a1bba86f 02-Apr-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reland 8459 with fix for #extension after default precision in FS.



git-svn-id: http://skia.googlecode.com/svn/trunk@8479 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
97055966846f1d3312714d4b811124443aecf681 02-Apr-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reverting r8459 due to shader error on Nexus 10



git-svn-id: http://skia.googlecode.com/svn/trunk@8474 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
054ae99d93711c26e40682a0e3a03a47ea605c53 01-Apr-2013 jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Take two for r8466:

Replace the old attribute binding and index interface with one where we include the binding as part of the attribute array. Also removed the fixed attribute indices for constant color and coverage attributes, and replaced with dynamic ones based on current attribute set. Removed binding of color and coverage attributes unless they're actually set.

Original author: bsalomon@google.com

Author: jvanverth@google.com

Reviewed By: bsalomon@google.com,robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/13296005


git-svn-id: http://skia.googlecode.com/svn/trunk@8468 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
c7bf2963f00a29bd28e5e2a446da79f93c1d9383 01-Apr-2013 jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Rolling back r8466.

Not reviewed.


git-svn-id: http://skia.googlecode.com/svn/trunk@8467 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
fb495b537f5ddd6966f02cfe38f6b106a4869934 01-Apr-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Revise attribute binding interface.

Replace the old attribute binding and index interface with one where we include the binding as part of the attribute array. Also removed the fixed attribute indices for constant color and coverage attributes, and replaced with dynamic ones based on current attribute set. Removed binding of color and coverage attributes unless they're actually set.

Original author: bsalomon@google.com

Author: jvanverth@google.com

Reviewed By: bsalomon@google.com,robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/13296005

git-svn-id: http://skia.googlecode.com/svn/trunk@8466 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
ee040a74225a91ddfa15e25ed5abe268cace53e2 01-Apr-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GrGLShaderBuilder responsible for enabling GLSL extensions
Review URL: https://codereview.chromium.org/12668019

git-svn-id: http://skia.googlecode.com/svn/trunk@8459 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
26e18b593ab65e4d92dfbce92579d8bc180d4c2c 29-Mar-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add support for reading the dst pixel value in an effect. Use in a new effect for the kDarken xfer mode.

The current implementation is to always make a copy of the entire dst before the draw.
It will only succeed if the RT is also a texture.
Obviously, there is lots of room for improvement.
Review URL: https://codereview.chromium.org/13314002

git-svn-id: http://skia.googlecode.com/svn/trunk@8449 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
798c8c4fe61f2172ae52cb626843a64069e18882 27-Mar-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move GrGLProgramDesc::Build to new cpp file.
Review URL: https://codereview.chromium.org/13097007

git-svn-id: http://skia.googlecode.com/svn/trunk@8414 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
31ec7985f2b52a0cab4aa714a613b918cf663c08 27-Mar-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move GrGLProgram::Desc out of GrGLProgram.
Review URL: https://codereview.chromium.org/12942014

git-svn-id: http://skia.googlecode.com/svn/trunk@8411 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
37cbc7fd014e3b35833523dbdbe3bc3ac52ecacd 27-Mar-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@8404 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
e9144c64a6e75795b591d2adc28f627d7c3fb8f7 26-Mar-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Program key coverage/discard fixes.
Review URL: https://codereview.chromium.org/13095004

git-svn-id: http://skia.googlecode.com/svn/trunk@8393 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
4647f9059825c062169d4d454c12640d82ae16c0 26-Mar-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Replace edge types with GrEdgeEffect.

This strips out last of the edge types and the fixed function edge attribute and replaces them with using GrEdgeEffect. Also fixes a minor bug when checking attribute counts -- it was using kAttribIndexCount instead of kVertexAttribCnt.

Original Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/13069003

git-svn-id: http://skia.googlecode.com/svn/trunk@8392 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
bcce8926524827775539874346dd424a9510dbc9 25-Mar-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GrDrawTarget::Caps ref counted and GrGLCaps derive from it.

Also rename GrDrawTarget::getCaps() -> GrDrawTarget::caps().
Review URL: https://codereview.chromium.org/12843026

git-svn-id: http://skia.googlecode.com/svn/trunk@8364 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
c78188896e28a4ae49e406a7422b345ae177dafe 20-Mar-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Attempt to reland 8264-5 with warning-as-error fixes.




git-svn-id: http://skia.googlecode.com/svn/trunk@8272 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
67e7cde5c5e59a8f1de7ee28276b8193ecb2bc7f 20-Mar-2013 reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> revert 8265-8264 (broke build)



git-svn-id: http://skia.googlecode.com/svn/trunk@8268 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
ae81d5c4aa1716756b2cfb4c44f27f4dce2716ef 20-Mar-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Adds local coords to GrEffect system.

Effects can ask the builder for local coords which may or may not be distinct from positions.

GrEffectStage tracks changes to relationship between pos and local coords.

GrGLEffectMatrix and GrSingleTextureEffect can use either pos or textures as intput coords

GrSimpleTextureEffect now allows for an explicit texture coords attribute.
Review URL: https://codereview.chromium.org/12531015

git-svn-id: http://skia.googlecode.com/svn/trunk@8264 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
65eb4d5a210884cc92c43a8582cbd1ccbddcab57 19-Mar-2013 jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add stroked ovals and CircleEdgeEffect.

Adds some optimizations to the circle and ellipse shaders, static effect
instances for their GrEffects, and some minor changes to GrDrawState::setEffect
to make GrEffect setup faster.


git-svn-id: http://skia.googlecode.com/svn/trunk@8238 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
91274b99722d9be62e077ab979c630c23cdd04b1 13-Mar-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@8120 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
ff6ea2663f76aa85ec55ddd0f00ca7906f1bc4e3 12-Mar-2013 commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add GrEllipseEdgeEffect.

Adds the effect that replaces the old oval rendering code. Also hooks in code to set attribute names and indices for effects.

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/12462008

git-svn-id: http://skia.googlecode.com/svn/trunk@8092 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
f910d3b23bcf590ee937628dbab8e39a98ee5860 07-Mar-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GrGLEffects use an interface to append their code.

A small step towards encapsulating GrGLShaderBuilder.
Review URL: https://codereview.chromium.org/12547012

git-svn-id: http://skia.googlecode.com/svn/trunk@8018 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
37ebe3fbf6c4a5728bc2c322cc0f626444f987bf 04-Mar-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Address some valgrind issues

https://codereview.appspot.com/7448051/



git-svn-id: http://skia.googlecode.com/svn/trunk@7966 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
f140f18878215d6b4f21a94485cd1d2dbce8e976 02-Mar-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@7939 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
9b855c7c95ce9fff7a447e4a6bdf8a469c1f3097 01-Mar-2013 jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Resubmit r7899 and r7901.


git-svn-id: http://skia.googlecode.com/svn/trunk@7929 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
af3a3b9fb1f3be46082013a2d1977d12faf1f61c 01-Mar-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert r7901 & r7899 to allow DEPS roll



git-svn-id: http://skia.googlecode.com/svn/trunk@7909 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
6177e6999d23a4268ffd98dedfb1da00e272a89b 28-Feb-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Split GrGLContextInfo into GrGLContext & GrGLContextInfo

https://codereview.appspot.com/7436045/



git-svn-id: http://skia.googlecode.com/svn/trunk@7905 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
b8b705b1b983a2ee3a254bed4dd03f926101e4e7 28-Feb-2013 jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add new vertex attribute array specification.

This changes the old method of setting vertex layout to a new one where we
specify vertex attribute data separately from attribute bindings (i.e. program
functionality). Attribute data is now set up via an array of generic attribute
types and offsets, and this is mapped to the old program functionality by
setting specific attribute indices. This allows us to create more general
inputs to shaders.


git-svn-id: http://skia.googlecode.com/svn/trunk@7899 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
880b8fcf255e67a15687e8b7cc47397372db683c 19-Feb-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Refactor tracking of bound vbufs and ibufs and vertex attrib arrays.
Review URL: https://codereview.appspot.com/7359045

git-svn-id: http://skia.googlecode.com/svn/trunk@7779 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
3976825a21532e254311b90b4a9046e25717e335 14-Feb-2013 jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove unused texture coordinate flags.

Currently we support 5 texture stages, each with 5 possible texture coordinate attributes.
However, we only ever use one explicit texture coordinate. This change removes all but one
(now named just "aTexCoord") of the possible explicit texture coordinates.

Review URL: https://codereview.appspot.com/7308094/


git-svn-id: http://skia.googlecode.com/svn/trunk@7737 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
6a51dcbf81cff6d92996ab3f4c7457478e441896 13-Feb-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Attempt to reland r7713 with fix.



git-svn-id: http://skia.googlecode.com/svn/trunk@7719 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
1eeef1646d230cd352778a2b0f67725a60028595 13-Feb-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert r7713 until GM changes are understood.



git-svn-id: http://skia.googlecode.com/svn/trunk@7718 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
d2afa6e45319849accb3ec4eefeb3e7afc96b93d 13-Feb-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move view matrix flush to GrGLPrograms.
Review URL: https://codereview.appspot.com/7322064

git-svn-id: http://skia.googlecode.com/svn/trunk@7713 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
91207482c9398944fc997aeb99ed5f8674be58cb 12-Feb-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move code that builds GrGLProgram::Desc to GrGLProgram. Move color and coverage flush to GrGLProgram.
Review URL: https://codereview.appspot.com/7322058

git-svn-id: http://skia.googlecode.com/svn/trunk@7708 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
3cb406bb88f5aa09cf9f5a9554b4b1314cf1a2ee 05-Feb-2013 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Implement support for origin-TopLeft render targets. Note that the default behaviour remains the same: textures default to origin-TopLeft, render targets default to origin-BottomLeft, and backend textures default to origin-BottomLeft. However, the caller can override the default by setting fOrigin in GrTextureDesc, GrBackendTextureDesc or GrBackendRenderTargetDesc.

Review URL: https://codereview.appspot.com/7230049

git-svn-id: http://skia.googlecode.com/svn/trunk@7594 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
cf9faf6ce9e3351b4d4030753eb43c8cd2010e0c 05-Feb-2013 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reverting r7545 (render target origin change) due to layout test issues (see https://codereview.chromium.org/12210002/)



git-svn-id: http://skia.googlecode.com/svn/trunk@7571 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
ed8659b51d9f2bad3f004df6033d72cc32d71c0d 04-Feb-2013 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Implement support for origin-TopLeft render targets in GL backend.

Review URL: https://codereview.appspot.com/7230049

git-svn-id: http://skia.googlecode.com/svn/trunk@7545 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
cc78238f0b6aa1a7b3fc767758d9eeef4c1bffa9 28-Jan-2013 jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move vertex layout definitions from GrDrawTarget to GrDrawState.

This is the first step in revising vertex layouts so that the currently
installed GrEffects determine the current vertex layout.

https://codereview.appspot.com/7235051/


git-svn-id: http://skia.googlecode.com/svn/trunk@7423 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
6340a41108633ac1ce5941e5cd30538630c4c55b 22-Jan-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Let them eat GrEffectRef.

Changes the remaining existing code that operates on naked GrEffects to GrEffectRef.
Review URL: https://codereview.appspot.com/7124058

git-svn-id: http://skia.googlecode.com/svn/trunk@7321 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
46d3d39e65e0b3ea2ad7c91c176ccafb4df0fa24 22-Jan-2013 jvanverth@google.com <jvanverth@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add GPU support for axis-aligned ovals:
- Add drawOval base function to SkDevice, and override in SkGpuDevice
- Move isSimilarityMatrix to SkMatrix (renamed to isSimilarity) and fixed up unit test
- Since both SkGpuDevice::drawOval() and GrContext::drawPath() can try to draw ovals, added GrContext::canDrawOval() and GrContext::internalDrawOval() to avoid duplicate code
- Hooked in axis-aligned oval fill shader
- Enabled GPU stroked circles
- Added stroked circle bench test

Review URL: https://codereview.appspot.com/7137050



git-svn-id: http://skia.googlecode.com/svn/trunk@7304 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
7fc0e0a75a99ac5ea2e5d03ab3a00cacabacfa09 15-Jan-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@7173 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
7af56bee17764a0c118c8856a035bb3d27766969 14-Jan-2013 humper@google.com <humper@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Runtime configuration system for skia. This will allow developers to control settings at launch time without relying on compile-time flags or recompilation. It can be used to turn features on and off, as well as to control numeric quantities to 'tune' algorithms. Once I make sure it's working across all platforms I'll send out a quick tutorial on its use.

Review URL: https://codereview.appspot.com/7098051

git-svn-id: http://skia.googlecode.com/svn/trunk@7158 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
8ae714b186ae5f4eaddee239281fbfe7282320c9 05-Jan-2013 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@7038 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
34cccde630fc618649b9737bee464203d042bfbb 04-Jan-2013 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Allow GrEffects with multiple textures.

It will work as long as the total number of textures sis less than GrDrawState::kNumStages. That will be fixed in a follow up CL.
Review URL: https://codereview.appspot.com/7040052

git-svn-id: http://skia.googlecode.com/svn/trunk@7023 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
ef818a470ef7ea28ad8f70ef77bb658458cee48a 10-Dec-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix for Mac-specific OpenGL == complaint in GrGLProgram.cpp

Unreviewed



git-svn-id: http://skia.googlecode.com/svn/trunk@6743 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
45a15f551b5b3c6c747d8eaf6466b7d3b76a8fae 10-Dec-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Modifications to GrPatherRenderer(Chain) interfaces to support clip mask manager.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6904069

git-svn-id: http://skia.googlecode.com/svn/trunk@6741 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
dbe49f735484f8862e378b63d0a074a301093dd0 05-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove default texture coords / texture matrix
Review URL: https://codereview.appspot.com/6775100

git-svn-id: http://skia.googlecode.com/svn/trunk@6293 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
b9086a026844e4cfd08b219e49ce3f12294cba98 01-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Replace GrMatrix with SkMatrix.
Review URL: https://codereview.appspot.com/6814067

git-svn-id: http://skia.googlecode.com/svn/trunk@6247 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
81712883419f76e25d2ffec38a9438284a45a48d 01-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove GrScalar, replace with SkScalar.
Review URL: https://codereview.appspot.com/6812064

git-svn-id: http://skia.googlecode.com/svn/trunk@6243 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
d8b5faca043100d7a1e4594b4d10e462532af390 01-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reland r6233 with fix.



git-svn-id: http://skia.googlecode.com/svn/trunk@6241 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
115b06f3d51902a122621e897360ba80153527b3 01-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Re-revert r6233.



git-svn-id: http://skia.googlecode.com/svn/trunk@6239 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
c3a58f345de16c185db3a20578c7ddf52bc89d38 01-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reland r6233 with fix for config conversion texture matrices.

git-svn-id: http://skia.googlecode.com/svn/trunk@6238 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
66e534da8e2b3de928f7ce132da61947a73ab7cb 01-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert r6233 while investigating bot failures.




git-svn-id: http://skia.googlecode.com/svn/trunk@6235 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
ce49e16d3b4a5b554d75a609e4ac8973c23c17e2 01-Nov-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Checkpoint in moving texture matrices out of GrGLProgram and into GrGLEffect.
Review URL: https://codereview.appspot.com/6818064

git-svn-id: http://skia.googlecode.com/svn/trunk@6233 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
e862d16162fd46ad9b2832c8844b00c81bedbac0 31-Oct-2012 skia.committer@gmail.com <skia.committer@gmail.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Sanitizing source files in Skia_Periodic_House_Keeping

git-svn-id: http://skia.googlecode.com/svn/trunk@6210 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
17504f5d5ea2550d29d2118193627129beb7f8b2 30-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Expose vertex position to GrGLEffect via GrGLShaderBuilder.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6814054

git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6195 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
2eaaefd7e6a58339b3f93333f1e9cc92252cc303 29-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Pass GrCustomStage to key-generation functions and emitCode().

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6819046

git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6182 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
2d0baded0f45dfde9dc8c25313ff14ea18c0c915 26-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make the orientation of a texture accessible from and known by GrSurface.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6801044

git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6148 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
28a15fb8d603847949a61657ef5cb73ed9915021 26-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GrGLEffect::setData take GrEffectStage rather than GrEffect.

This allows the coord-change matrix to be communicated to setData(). An accessor for this matrix is also added to GrEffectStage.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6779057

git-svn-id: http://skia.googlecode.com/svn/branches/gpu_dev@6143 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
08283afc265f1153834256fc1012519813ba6b73 26-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Rename GrSamplerState to GrEffectStage.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6777053

git-svn-id: http://skia.googlecode.com/svn/trunk@6135 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
c196b522d06919885c6bbe28b7b06d2e5b2cb9bf 25-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Misc stage->effect renaming

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6787043

git-svn-id: http://skia.googlecode.com/svn/trunk@6132 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
46fba0d79335f17429bb71d87a04d93fb2ee992b 25-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Rename StageKey and related stuff.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6785049

git-svn-id: http://skia.googlecode.com/svn/trunk@6130 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
396e61fe440590744345e0c56970b26ab464591d 25-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Rename GrProgramStageFactory to GrBackendEffectFactory.
Review URL: https://codereview.appspot.com/6773044

git-svn-id: http://skia.googlecode.com/svn/trunk@6125 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
d698f77c13d97c61109b861eac4d25b14a5de935 25-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> GrGLProgramStage Renaming Part 1.

Renamed cpp and h
s/GrGLProgramStage/GrGLEffect/
Review URL: https://codereview.appspot.com/6759054

git-svn-id: http://skia.googlecode.com/svn/trunk@6090 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
021fc736f89fddac4f26b3f32f50263ff8fe3279 25-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> GrCustomStage Renaming Part 5

Stuff found by searching for "stage".

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6772043

git-svn-id: http://skia.googlecode.com/svn/trunk@6089 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
f271cc7183fe48ac64d2d9a454eb013c91b42d53 24-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> GrCustomStage Renaming Part 3

Rename all things *CUSTOM_STAGE*, customStage*, and other miscellany

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6769048

git-svn-id: http://skia.googlecode.com/svn/trunk@6081 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
6f261bed0252e3f3caa595798364e0bf12a2573a 24-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> GrCustomStage Renaming Part 2

GrSamplerState member rename
GrCustomStageUnitTest rename
some comment updates
Review URL: https://codereview.appspot.com/6771043

git-svn-id: http://skia.googlecode.com/svn/trunk@6078 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
a469c28c3c16214733a25201a286970f57b3d944 24-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> CustomStage Renaming Part 1

Search and replace:
GrCustomStage->GrEffect
GrCustomStageTestFactory->GrEffectTestFactory

renamed the cpp/h files from customStage->effect

reordered gypi, #includes, forward decls to maintain alphabetical sort.

manually fixed up some whitespace and linewraps

deleted a commented out #include

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6758046

git-svn-id: http://skia.googlecode.com/svn/trunk@6076 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
96182216f187fd103392ccaa34f505fe54fcff7e 24-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Pass the GrCustomStage and key to GrGLProgramStage emitCode.

The key computation may encode some analysis that emitCode may be able to skip by examining the key.
Review URL: https://codereview.appspot.com/6709075

git-svn-id: http://skia.googlecode.com/svn/trunk@6075 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
374e75956e7a56bbbd2da5509f9c4117512515d2 23-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Combine the emit functions in GrGLProgramStage.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6741064

git-svn-id: http://skia.googlecode.com/svn/trunk@6057 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
706f66831a575bdc2b1ab1331b48b793cd487356 23-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reland r6330 thru r6333 but do without enabling GL_ARB_fragment_coord_conventions on Intel GPUs.



git-svn-id: http://skia.googlecode.com/svn/trunk@6048 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
d3353646c31ccb90cc43727ef0fa7869b4e4fe07 22-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert r6330 thru 6333 while we figure out what to do about Intel bots (possible driver bug).

git-svn-id: http://skia.googlecode.com/svn/trunk@6037 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
159d42b546f94fdc5972f3fbdfde9fd8a8735953 22-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove two params from GrGLProgramStage::setData that are no longer necessary.

R=senorblanco@chromium.org
Review URL: https://codereview.appspot.com/6744062

git-svn-id: http://skia.googlecode.com/svn/trunk@6031 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
4fe9b1b7406f8e29102287c4594ef8cf733513a7 22-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Automatically handle converting gl_FragCoord to Skia's y-down device coords.

NOTE: THIS WILL LIKELY REQUIRE GM REBASELINING.

R=robertphillips@google.com,senorblanco@chromium.org
Review URL: https://codereview.appspot.com/6744061

git-svn-id: http://skia.googlecode.com/svn/trunk@6030 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
d7bafb700c62dff466a88bee81d793e51737284b 22-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GrGLShaderBuilder responsible for inserting begining of main() function defition and closing brace.

This will allow another change I am working on to insert code at the begining of a shader.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6737058

git-svn-id: http://skia.googlecode.com/svn/trunk@6028 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
4285accf5af574e6c826d5d09f0359c6149fd717 22-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GrGLProgram be responsible for calling setData on custom stages.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6752044

git-svn-id: http://skia.googlecode.com/svn/trunk@6027 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
67e78c9e47c38a51816412a24a10f4fe2db142a3 17-Oct-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Use GrCustomStage to implement color matrix.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/6716044

git-svn-id: http://skia.googlecode.com/svn/trunk@5975 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
6d003d1ddced3e71684b8b3785d1e5a16255688d 11-Sep-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Wrap all GrCustomStage textures in GrTextureAccess, remove StageDesc::fInConfigFlags

Review URL: https://codereview.appspot.com/6494114



git-svn-id: http://skia.googlecode.com/svn/trunk@5485 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
2d8edaf17510e50261b8a4e2a0daf7e617674999 07-Sep-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Try r5428 again with fix



git-svn-id: http://skia.googlecode.com/svn/trunk@5431 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
4592df8e9142803c44334273f1b4f37d09ec65dd 07-Sep-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert 5428 and 5429.



git-svn-id: http://skia.googlecode.com/svn/trunk@5430 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
dbbf843dfe2a62ad341ebe4f946667204c64231d 07-Sep-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Consolidate texture access functions, provide default GrTextureAccess

Review URL: https://codereview.appspot.com/6506086/


git-svn-id: http://skia.googlecode.com/svn/trunk@5428 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
f06df1bb9ab201a78bfc906a9e95326c6e15a119 06-Sep-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Introduce GrGLShaderBuilder::TextureSampler

Review URL: https://codereview.appspot.com/6495099/



git-svn-id: http://skia.googlecode.com/svn/trunk@5422 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
100abf49e10544bc4f436bf1f38e6929779621f4 05-Sep-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Shut up some Mac (xcode 3) warnings

Review URL: http://codereview.appspot.com/6503053/



git-svn-id: http://skia.googlecode.com/svn/trunk@5402 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
868a8e7fc83e9ac6ee1418e75b84a0595605626c 30-Aug-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Recommit r5350 with fix for image failures (which affected GLs that don't support ARB_texture_swizzle).



git-svn-id: http://skia.googlecode.com/svn/trunk@5353 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
a3d707b4ec17e925f71cc0c39d40252d2b788314 30-Aug-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Revert 5350 while image changes are diagnosed.



git-svn-id: http://skia.googlecode.com/svn/trunk@5351 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
b41b2bc29c0411052f9f45855a98be370d586438 30-Aug-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove fModulate from GrGLShaderBuilder

Review URL: https://codereview.appspot.com/6495051/




git-svn-id: http://skia.googlecode.com/svn/trunk@5350 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
4af0af612f8cfb6951feb10ffe3091821866bd44 29-Aug-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add helpers to add/modulate glsl vec4s.

Review URL: https://codereview.appspot.com/6497046/



git-svn-id: http://skia.googlecode.com/svn/trunk@5332 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
34bcb9f80336fe0dc56ad5f67aeb0859bf84d92e 28-Aug-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Some GrGLShaderBuilder cleanup

Review URL: https://codereview.appspot.com/6500043/



git-svn-id: http://skia.googlecode.com/svn/trunk@5322 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
a04e8e842450e606dd938ddae17857849bd504d4 27-Aug-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Do premul and r/b swap conversions in a custom effect

Review URL: https://codereview.appspot.com/6473060/



git-svn-id: http://skia.googlecode.com/svn/trunk@5284 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
fbfcd5602128ec010c82cb733c9cdc0a3254f9f3 23-Aug-2012 rmistry@google.com <rmistry@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)

This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054

git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
d472620458e2383e6dd949f4e1aaf61160717ffe 03-Aug-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Registry-based unit test for custom effects

Review URL: http://codereview.appspot.com/6447085/



git-svn-id: http://skia.googlecode.com/svn/trunk@4946 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
de788237c2ecf64fcc71ffb1a2355eb1e0fb5e0c 02-Aug-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reduce usage of GrGLShaderBuilder::SamplerMode

http://codereview.appspot.com/6453080/



git-svn-id: http://skia.googlecode.com/svn/trunk@4940 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
0982d35187da7e1ed6c0eba5951bbdadca8b33e7 31-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make 0-texture GrCustomStages work.

Review URL: http://codereview.appspot.com/6448080/



git-svn-id: http://skia.googlecode.com/svn/trunk@4858 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
cddaf340f1474cc1ff429b8ef9bc8739c72f80ba 30-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove GrDrawState::setTexture/getTexture

Review URL: http://codereview.appspot.com/6455051/



git-svn-id: http://skia.googlecode.com/svn/trunk@4826 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
777c3aab0a902b0917871080d99b0a249ec06298 25-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove uniform names from top of GrGLProgram.cpp, builder responsible for "u" and stage num tags.

Also add LF eol-style property to some files in src/gpu/effects.

Review URL: http://codereview.appspot.com/6448049/



git-svn-id: http://skia.googlecode.com/svn/trunk@4770 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
dbbc4e2da93cef5c0cfb0b3c92ff6c2c80f6e67a 25-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Add GL uniform manager
Review URL: http://codereview.appspot.com/6423066/



git-svn-id: http://skia.googlecode.com/svn/trunk@4758 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
96291dfa7054545327b34016882ca57f40a1fc81 20-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove assertion when texture matrix is unused

Review URL: http://codereview.appspot.com/6420054/


git-svn-id: http://skia.googlecode.com/svn/trunk@4693 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
ecb60aad5c6fe5b1dbcfc86ac00bfc9326103c8d 18-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Factory method for creating GrGLProgram

Review URL: http://codereview.appspot.com/6407049/



git-svn-id: http://skia.googlecode.com/svn/trunk@4646 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
2f68e7684bb2ecdf0c03a513c31d0626d2caf752 17-Jul-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move texture domains onto a GrCustomStage, off of GrSamplerState.

This will require gyp changes to roll into Chrome.

http://codereview.appspot.com/6405050/



git-svn-id: http://skia.googlecode.com/svn/trunk@4641 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
33c1f6b47bf7d58921b2e9d1ad526823cb5c204f 16-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix test break in r4627.



git-svn-id: http://skia.googlecode.com/svn/trunk@4628 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
9ba4fa6f0fb8ef496d81ccac36e780aa806fea83 16-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove GrGLProgram::CachedData, make GrGLProgram represent the program

Review URL: http://codereview.appspot.com/6409043/



git-svn-id: http://skia.googlecode.com/svn/trunk@4627 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
032b221dadb6eb8283ac2d1bc8913ee7bb5cfe7a 16-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove uniform var pointers from custom effects

Review URL: http://codereview.appspot.com/6374067/



git-svn-id: http://skia.googlecode.com/svn/trunk@4616 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
641ca9c8085584db1d640d6b279a335a2a002cb1 11-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Fix dumb copy/paste bug that breaks GLProgramTest on debug builds with GS support.



git-svn-id: http://skia.googlecode.com/svn/trunk@4553 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
ad5e937c110efaf9630159d2859fabc4f38f7ab2 11-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Make GrGLShaderBuilder produce the shader strings

Review URL: http://codereview.appspot.com/6356089/



git-svn-id: http://skia.googlecode.com/svn/trunk@4544 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
eb715c8d5caa2191d611c4f9cfb22b4afc6c8d02 11-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> VariableVisibility -> ShaderType

Review URL: http://codereview.appspot.com/6344103/


git-svn-id: http://skia.googlecode.com/svn/trunk@4534 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
f0a104e6f16dc095286d32f1e104894ae0b2b19f 10-Jul-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove GrStringBuilder

Review URL: http://codereview.appspot.com/6343093/



git-svn-id: http://skia.googlecode.com/svn/trunk@4514 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
3a67a668dbdc3a6bba68700a6dfdef8164ae0c69 09-Jul-2012 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Add an SK_PRINTF_LIKE macro, which declares a function to have printf-like
semantics, allowing gcc and clang to check the format string against the
arguments. Enable its use on SkString (printf, appendf, and prependf). Also
define an SK_SIZE_T_SPECIFIER macro so there's a cross-platform way of
printing a size_t.

Review URL: http://codereview.appspot.com/6375043/



git-svn-id: http://skia.googlecode.com/svn/trunk@4485 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
e38160c38c295a4d9cd2441727ebdc6e5f47e225 03-Jul-2012 rileya@google.com <rileya@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reworked gradient shader to no longer explicitly set gl_FragColor or return prematurely.
This should fix failing linux buildbot, and should play nicer with programs that don't use the gl_FragColor global, or that have multiple stages.
Also disabled debug printing from revision 4445.
Review URL: https://codereview.appspot.com/6345063

git-svn-id: http://skia.googlecode.com/svn/trunk@4454 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
11b2d8b8d2e0230ccacf6d635f7ab0be8b53ca8d 03-Jul-2012 rileya@google.com <rileya@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Temporary checkin to debug Linux bot issue.

git-svn-id: http://skia.googlecode.com/svn/trunk@4445 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
b213ed8b767b424cb076bfbab11e936d16526635 25-Jun-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Simplify vertex layout bitfields by making Position-as-texcoords the
default.

http://codereview.appspot.com/6337050/



git-svn-id: http://skia.googlecode.com/svn/trunk@4321 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
0f1c10b3fd7e335a3455eae85fcaa1120c910c81 15-Jun-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove unused function left in GrGLProgram.cpp



git-svn-id: http://skia.googlecode.com/svn/trunk@4268 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
47059542e7aa153926377456a6c611e55c8e428c 06-Jun-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Search and replace change. Some Gr enum value names didn't have a "Gr" in their suffix.

Verbal LGTM from TomH




git-svn-id: http://skia.googlecode.com/svn/trunk@4198 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
cf6285b89b8820641ffb6871d4b3275bfe783f51 06-Jun-2012 caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> fix warnings on Mac in src/gpu and include/gpu

Fix these class of warnings:
- unused functions
- unused locals
- sign mismatch
- missing function prototypes
- missing newline at end of file
- 64 to 32 bit truncation

The changes prefer to link in dead code in the debug build
with 'if (false)' than to comment it out, but trivial cases
are commented out or sometimes deleted if it appears to be
a copy/paste error.
Review URL: https://codereview.appspot.com/6296044

git-svn-id: http://skia.googlecode.com/svn/trunk@4180 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
e287c1b49db7045f37fbe9d837fbbb896ca01b88 04-Jun-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove cached texture width/height that was used by 4x4 filter

Review URL: http://codereview.appspot.com/6286048



git-svn-id: http://skia.googlecode.com/svn/trunk@4150 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
d2ae1fad78bbd37d77bd437ea14fb7df22c672d8 04-Jun-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> remove 4x4 downsample filter mode

Review URL: http://codereview.appspot.com/6267046/



git-svn-id: http://skia.googlecode.com/svn/trunk@4149 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
4c8837867add05f8d25520f92f6ec52305dda02e 04-Jun-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> move texture flush and param update to separate function

Review URL: http://codereview.appspot.com/6266044/



git-svn-id: http://skia.googlecode.com/svn/trunk@4142 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
898e7b568f535fc62a92acda3c22a68cb6e04dcc 01-Jun-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Flip the switch to turn on GrCustomStage implementation of gradients;
remove old implementation, including enums & state on various structs.

http://codereview.appspot.com/6245078/



git-svn-id: http://skia.googlecode.com/svn/trunk@4129 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
890e3b58e78c0825820f75f1f0c5a5d71e855aa6 01-Jun-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove dirty flags from GrGpuGL state flush

Review URL: http://codereview.appspot.com/6255073/



git-svn-id: http://skia.googlecode.com/svn/trunk@4122 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
5440f06331b46d3f132a7247a4e414d9d4bc66e7 01-Jun-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Clean up duplicate code in Ganesh, moving more function onto GrGLShaderBuilder.

http://codereview.appspot.com/6245082/



git-svn-id: http://skia.googlecode.com/svn/trunk@4116 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
b505a128efae9debcaa9642bade90bab5525d477 31-May-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Implement morphology as a custom effect

Review URL: http://codereview.appspot.com/6250073/



git-svn-id: http://skia.googlecode.com/svn/trunk@4102 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
23cb2299ddf8fc87df0d3f9bda78934382cf714d 30-May-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Condense setupFSUnis, setupVSUnis, setupVaryings into
GrGLProgramStage::setupVariables().
Rename appendVarying() to addVarying(), matching addUniform().

http://codereview.appspot.com/6262046/



git-svn-id: http://skia.googlecode.com/svn/trunk@4083 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
02154c73904aa4006e3023931655c63ae192d600 30-May-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove a couple things missed when deleting the tessellated path renderer

Review URL: http://codereview.appspot.com/6249070/



git-svn-id: http://skia.googlecode.com/svn/trunk@4082 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
242ed6fb6c3c0dff780ed3bef47d36a3b34a352c 30-May-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Encapsulate code required to create a uniform var into a single function on
GrGLShaderBuilder. This isolates internal dependencies from somebody
writing a CustomStage.

http://codereview.appspot.com/6248050/



git-svn-id: http://skia.googlecode.com/svn/trunk@4081 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
5259814305e3290dea3b197301f7824a14c5fa6f 24-May-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move swizzle & modulation computation, non-virtual functions onto
GrGLShaderBuilder. This lets us access all the default computations
when there's no GrCustomStage specified, and means that GrGLProgramStage
is effectively an interface class, all of whose functions can/should
be overriden.

http://codereview.appspot.com/6242051/



git-svn-id: http://skia.googlecode.com/svn/trunk@4045 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
6a820b652e2cbd9e1c7ee2885993b0ffd331c040 24-May-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> First stage of reworking custom shader infrastructure to allow
radial mappings.

http://codereview.appspot.com/6239043/



git-svn-id: http://skia.googlecode.com/svn/trunk@4040 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
ae4f96a9e06df44f70c3d5f7324f5a7fabcd1026 18-May-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Some refactoring of GrCustomStage and friends

Review URL: http://codereview.appspot.com/6209071/



git-svn-id: http://skia.googlecode.com/svn/trunk@4003 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
040c41a97c58b069015be3f5062eeb6ffe5adbfd 18-May-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move state onto GrGLShaderBuilder, to let us implement mappings
as GrCustomStage objects.

http://codereview.appspot.com/6216057/



git-svn-id: http://skia.googlecode.com/svn/trunk@3996 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
9c639a406eec42c8f5169bd78ad93e58f00ea9f6 14-May-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move coordDims, varyingDims onto GrGLShaderBuilder.

http://codereview.appspot.com/6201083/



git-svn-id: http://skia.googlecode.com/svn/trunk@3928 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
341767c9fc6577fbd6b7ed57a12f03f565788025 11-May-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove support for vertex attribute matrices

Review URL: http://codereview.appspot.com/6200065/



git-svn-id: http://skia.googlecode.com/svn/trunk@3917 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
f9ad8867f2bcd8563862b0a5a90b473ad020d465 11-May-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Extract ShaderCodeSegments from GrGLProgram into a new class,
GrGLShaderBuilder. Begin populating its interface.

Requires gyp changes.

http://codereview.appspot.com/6197076/



git-svn-id: http://skia.googlecode.com/svn/trunk@3916 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
7ffe6810c6787f7a353ef3fe8fab3fc6440aae19 11-May-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Remove tesselated path renderer and supporting code, glu, and libtess target

Review URL: http://codereview.appspot.com/6197075/



git-svn-id: http://skia.googlecode.com/svn/trunk@3912 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
d8f856c32b679d9f5a9926feac005e2c0186f83f 10-May-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move convolution from code in GrGLProgram to new GrConvolutionEffect
class. This is the first test of the new Ganesh shader pipeline.

Also includes some cleanup of the gpu.gyp file: added src/gpu, allowing
us to remove ../ from many #include directives.

http://codereview.appspot.com/6199053/



git-svn-id: http://skia.googlecode.com/svn/trunk@3887 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
443e5a52b7e85070c26a068cd3b0aad126502395 30-Apr-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Re-adding red texture support (by rolling back r3800)

http://code.google.com/p/skia/source/detail?r=3622 - for original review
http://crbug.com/125596 ('M20 windows renderer stability maze') - for issue



git-svn-id: http://skia.googlecode.com/svn/trunk@3802 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
0048469578b15aae90f1427895ef6186f00ac7bf 30-Apr-2012 epoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Roll back http://code.google.com/p/skia/source/detail?r=3622 to deal with http://crbug.com/125596 ('M20 windows renderer stability maze')

git-svn-id: http://skia.googlecode.com/svn/trunk@3800 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
93c9660cd158c5d0cab0ba4223e4257f699d5bb8 27-Apr-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> draw circle paths directly via GPU

Review URL: http://codereview.appspot.com/5696086/

Submitted on behalf of Guanqun.Lu@gmail.com




git-svn-id: http://skia.googlecode.com/svn/trunk@3772 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
07eecdca3e331eb4066c53a29305aeea6d692961 20-Apr-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Hooks up the GrCustomStage/GrGLProgramStageFactory/GrGLProgramStage
classes from r3726 so they can be used. Does not implement any actual
effect stages.

Has one large known bug: if custom stages are provided, GrSamplerState
comparisons will break; this should preserve correct drawing, but decrease
performance - among other things, we'll break draw batching. To fix this
we'll need a RTTI system for GrCustomState objects, and we'll need to change
the GrSamplerState comparison from a memcmp to something that also does a
deep type-sensitive compare of any GrCustomState objects present.

http://codereview.appspot.com/6074043/



git-svn-id: http://skia.googlecode.com/svn/trunk@3742 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
168e63418cadba4018aadf95c091d40d9deb13b9 18-Apr-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Infrastructure for new Ganesh shader pipeline: base classes for GPU
implementation of user-defined effects.

http://codereview.appspot.com/6052047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3726 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
6995068c5ade6e179d2af82caddb0c1cd6f433b6 06-Apr-2012 robertphillips@google.com <robertphillips@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Initial version of R8 support

http://codereview.appspot.com/5967067/



git-svn-id: http://skia.googlecode.com/svn/trunk@3622 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
24878f71d2c4583686130e0875c854f1e34bfb4b 22-Mar-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Reset Ganesh TextureDomain after use.

http://codereview.appspot.com/5877049/
http://code.google.com/p/skia/issues/detail?id=540



git-svn-id: http://skia.googlecode.com/svn/trunk@3464 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
05054f1a78a697b507580d0025db6c90423e033f 02-Mar-2012 senorblanco@chromium.org <senorblanco@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Erode and dilate image filter effects, CPU and GPU implementations.

Review URL: http://codereview.appspot.com/5656067/



git-svn-id: http://skia.googlecode.com/svn/trunk@3310 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
a91e923874ca0565b4f4816b5697dfdcd337b889 23-Feb-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> GPU device preserves pixel values across read/write/read of unpremul pixel values

Review URL: http://codereview.appspot.com/5695047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3237 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
b9682d38c1daa597c4acffd93cbd5ba72735a613 21-Feb-2012 vandebo@chromium.org <vandebo@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> Change append to appendf for call sites with no format arguments.

Original CL: http://codereview.appspot.com/5685062/

Review URL: https://codereview.appspot.com/5686059

git-svn-id: http://skia.googlecode.com/svn/trunk@3225 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
96399948dc2f1afd2e9d9e5be7d646c01d17f82b 13-Feb-2012 bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Use GrGLContextInfo in shader generator

Review URL: http://codereview.appspot.com/5645083/



git-svn-id: http://skia.googlecode.com/svn/trunk@3170 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp
dd182cbca60a7f0003330c01dfc64f69f56aea90 10-Feb-2012 tomhudson@google.com <tomhudson@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> Move GL-specific source code to make room for D3D back end.



git-svn-id: http://skia.googlecode.com/svn/trunk@3165 2bbb7eff-a529-9590-31e7-b0007b416f81
/external/skia/src/gpu/gl/GrGLProgram.cpp