Commit Graph

81 Commits

Author SHA1 Message Date
commit-bot@chromium.org
e0e7cfe44b Change old PRG to be SkLCGRandom; change new one to SkRandom
The goal here is to get people to start using the new random number
generator, while leaving the old one in place so we don't have to 
rebaseline GMs.

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

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11169 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 20:09:12 +00:00
commit-bot@chromium.org
91a798f121 alpha threshold bitmap shader
Committed: http://code.google.com/p/skia/source/detail?r=11122

R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11131 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 15:31:06 +00:00
bsalomon@google.com
67db510c9c Revert "alpha threshold bitmap shader"
This reverts commit r11122.

git-svn-id: http://skia.googlecode.com/svn/trunk@11123 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 22:48:05 +00:00
commit-bot@chromium.org
4ec4cf93b7 alpha threshold bitmap shader
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 21:54:04 +00:00
commit-bot@chromium.org
9188a15f84 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
2013-09-05 18:28:24 +00:00
commit-bot@chromium.org
2d3b492013 Remove possiblity of NULL effect in GrEffectStage
R=jvanverth@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10075 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 13:54:06 +00:00
bsalomon@google.com
eb6879f50a Replace fixed-size array of effect stages in GrDrawState with two appendable arrays, one for color, one for coverage.
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9592 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-13 19:34:18 +00:00
bsalomon@google.com
2c84aa3598 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
2013-06-06 20:28:57 +00:00
bsalomon@google.com
2db3ded335 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
2013-05-22 14:34:04 +00:00
bsalomon@google.com
b515881446 Key shader on whether frag pos read is relative to top-left or bottom-left
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9113 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-13 18:50:25 +00:00
commit-bot@chromium.org
8d47ddc19a Make GrGLShaderBuilder check whether GrEffect advertised that it would require the dst color or fragment position
R=senorblanco@chromium.org, robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9074 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 14:55:46 +00:00
bsalomon@google.com
504976ef6f 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
2013-05-09 13:45:02 +00:00
bsalomon@google.com
8da9bc751e Add all remaining separable xfer modes to GPU backend.
Review URL: https://codereview.chromium.org/14189024

git-svn-id: http://skia.googlecode.com/svn/trunk@8768 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 15:03:21 +00:00
bsalomon@google.com
72993ab542 silence && || parens clang warning.
git-svn-id: http://skia.googlecode.com/svn/trunk@8764 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 13:25:28 +00:00
bsalomon@google.com
5920ac2768 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
2013-04-19 13:14:45 +00:00
skia.committer@gmail.com
05a2ee052c Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8477 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-02 07:01:34 +00:00
jvanverth@google.com
054ae99d93 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
2013-04-01 20:06:51 +00:00
jvanverth@google.com
c7bf2963f0 Rolling back r8466.
Not reviewed.


git-svn-id: http://skia.googlecode.com/svn/trunk@8467 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-01 19:29:32 +00:00
commit-bot@chromium.org
fb495b537f 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
2013-04-01 19:12:42 +00:00
bsalomon@google.com
b79d865f03 Fix GLPrograms test.
Review URL: https://codereview.chromium.org/13327008

git-svn-id: http://skia.googlecode.com/svn/trunk@8450 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-29 20:30:50 +00:00
bsalomon@google.com
31ec7985f2 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
2013-03-27 18:14:57 +00:00
skia.committer@gmail.com
37cbc7fd01 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8404 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-27 07:01:04 +00:00
bsalomon@google.com
26ec00ea1b Fix unit test build break
git-svn-id: http://skia.googlecode.com/svn/trunk@8394 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-26 16:49:37 +00:00
bsalomon@google.com
4647f90598 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
2013-03-26 14:45:27 +00:00
bsalomon@google.com
c26d94fd7d Move nested class GrDrawTarget::Caps out as GrDrawTargetCaps.
Pass caps to GrEffect::TestCreate() functions so that they can return effects that will work with the capabilities.
Review URL: https://codereview.chromium.org/12965018

git-svn-id: http://skia.googlecode.com/svn/trunk@8369 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 18:19:00 +00:00
bsalomon@google.com
bcce892652 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
2013-03-25 15:38:39 +00:00
commit-bot@chromium.org
9ae78506bd Stop the GLPrograms unit test from generating out of range attrib indices for effects.
R=jvanverth@google.com

Author: bsalomon@google.com

Reviewed By: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@8298 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 17:44:39 +00:00
bsalomon@google.com
c78188896e 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
2013-03-20 19:19:53 +00:00
reed@google.com
67e7cde5c5 revert 8265-8264 (broke build)
git-svn-id: http://skia.googlecode.com/svn/trunk@8268 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 17:47:16 +00:00
bsalomon@google.com
ae81d5c4aa 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
2013-03-20 17:32:27 +00:00
jvanverth@google.com
65eb4d5a21 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
2013-03-19 18:51:02 +00:00
commit-bot@chromium.org
ff6ea2663f 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
2013-03-12 12:26:08 +00:00
jvanverth@google.com
9b855c7c95 Resubmit r7899 and r7901.
git-svn-id: http://skia.googlecode.com/svn/trunk@7929 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 18:21:22 +00:00
robertphillips@google.com
af3a3b9fb1 Revert r7901 & r7899 to allow DEPS roll
git-svn-id: http://skia.googlecode.com/svn/trunk@7909 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 23:08:28 +00:00
robertphillips@google.com
6177e6999d 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
2013-02-28 20:16:25 +00:00
jvanverth@google.com
b8b705b1b9 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
2013-02-28 16:28:34 +00:00
jvanverth@google.com
3976825a21 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
2013-02-14 15:25:44 +00:00
bsalomon@google.com
73a9694b4c Use SkMWRandom in GLPrograms test.
R=jvanverth@google.com
Review URL: https://codereview.appspot.com/7306097

git-svn-id: http://skia.googlecode.com/svn/trunk@7721 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-13 16:31:19 +00:00
bsalomon@google.com
91207482c9 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
2013-02-12 21:45:24 +00:00
bsalomon@google.com
85983288ba Remove compile time option to use different types for text vertices.
Review URL: https://codereview.appspot.com/7309060

git-svn-id: http://skia.googlecode.com/svn/trunk@7658 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 22:00:29 +00:00
bsalomon@google.com
fec0bc3fc1 Remove legacy names no longer referenced in Chrome and WebKit.
Review URL: https://codereview.appspot.com/7311055

git-svn-id: http://skia.googlecode.com/svn/trunk@7640 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 14:43:04 +00:00
bsalomon@google.com
1d1d4248f6 Actually fix angle GLPrograms test.
git-svn-id: http://skia.googlecode.com/svn/trunk@7578 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-05 15:44:21 +00:00
bsalomon@google.com
042a2861b2 Attempt to fix GLPrograms test on ANGLE bot.
R=senorblanco@chromium.org
Review URL: https://codereview.appspot.com/7281050

git-svn-id: http://skia.googlecode.com/svn/trunk@7550 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 18:39:24 +00:00
bsalomon@google.com
67b915de99 Make GPU unit tests use GrContexts of different GL types.
Review URL: https://codereview.appspot.com/7281046

git-svn-id: http://skia.googlecode.com/svn/trunk@7540 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 16:13:32 +00:00
jvanverth@google.com
cc78238f0b 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
2013-01-28 20:39:48 +00:00
bsalomon@google.com
adc6536fe5 Remove getter of writable GrEffectStage from GrDrawState.
Upcoming changes will require GrDrawState to know things about the set of installed effects. Thus all setting of effects must go through a GrDrawState function (setEffect()). This change accomplishes that.
Review URL: https://codereview.appspot.com/7214045

git-svn-id: http://skia.googlecode.com/svn/trunk@7411 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 14:26:09 +00:00
bsalomon@google.com
6340a41108 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
2013-01-22 19:55:59 +00:00
bsalomon@google.com
0ac6af4997 Wrap GrEffects in GrEffectPtr.
This is the first step towards automatic recycling of scratch resouces in the cache via ref-cnts.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@7222 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 15:16:18 +00:00
bsalomon@google.com
45a15f551b 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
2012-12-10 19:10:17 +00:00
tfarina@chromium.org
223137f49d Remove GrRandom API in favor of SkRandom.
TEST=tests
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6539 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-21 22:38:36 +00:00