aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrDrawState.h
Commit message (Collapse)AuthorAge
* Make GrContext track the current matrix, render target, and clip directly ↵Gravatar commit-bot@chromium.org2013-05-28
| | | | | | | | | | | | rather than using GrDrawState. R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://chromiumcodereview.appspot.com/15821008 git-svn-id: http://skia.googlecode.com/svn/trunk@9297 2bbb7eff-a529-9590-31e7-b0007b416f81
* Don't make dst copies when color stage requires dst but color writes are ↵Gravatar bsalomon@google.com2013-05-15
| | | | | | | | | | disabled. R=robertphillips@google.com Review URL: https://codereview.chromium.org/15001035 git-svn-id: http://skia.googlecode.com/svn/trunk@9146 2bbb7eff-a529-9590-31e7-b0007b416f81
* Key shader on whether frag pos read is relative to top-left or bottom-leftGravatar bsalomon@google.com2013-05-13
| | | | | | | | 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
* Make GrGLShaderBuilder check whether GrEffect advertised that it would ↵Gravatar commit-bot@chromium.org2013-05-09
| | | | | | | | | | | | 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
* Vertex Attrib configurations now handled as pointers vs. SkSTArraysGravatar robertphillips@google.com2013-04-20
| | | | | | | | https://codereview.chromium.org/14328009/ git-svn-id: http://skia.googlecode.com/svn/trunk@8787 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make drawRect preserve vertex attrib state and push/pop the geom sources.Gravatar bsalomon@google.com2013-04-02
| | | | | | | Also, add some balancing calls for setIndexSource*() Review URL: https://codereview.chromium.org/13468004 git-svn-id: http://skia.googlecode.com/svn/trunk@8499 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-04-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8477 2bbb7eff-a529-9590-31e7-b0007b416f81
* Patches for r8468 build errors. Unreviewed.Gravatar jvanverth@google.com2013-04-01
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8469 2bbb7eff-a529-9590-31e7-b0007b416f81
* Take two for r8466:Gravatar jvanverth@google.com2013-04-01
| | | | | | | | | | | | | | | 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
* Rolling back r8466. Gravatar jvanverth@google.com2013-04-01
| | | | | | | Not reviewed. git-svn-id: http://skia.googlecode.com/svn/trunk@8467 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revise attribute binding interface.Gravatar commit-bot@chromium.org2013-04-01
| | | | | | | | | | | | | | 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
* Trim the copy of the dst made for dst-reading effects using the clip and ↵Gravatar commit-bot@chromium.org2013-04-01
| | | | | | | | | | | | | | dev-bounds of draw. Adds dev bounds to circles and rects drawn by GrDrawTarget base class (GrIODB already provides rect bounds). Author: bsalomon@google.com Reviewed By: robertphilips@google.com,jvanverth@google.com,robertphillips@google.com Review URL: https://chromiumcodereview.appspot.com/13222004 git-svn-id: http://skia.googlecode.com/svn/trunk@8453 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GrPaint stage for xfermodes.Gravatar bsalomon@google.com2013-03-28
| | | | | | Review URL: https://codereview.chromium.org/12918032 git-svn-id: http://skia.googlecode.com/svn/trunk@8425 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move GrGLProgram::Desc out of GrGLProgram.Gravatar bsalomon@google.com2013-03-27
| | | | | | Review URL: https://codereview.chromium.org/12942014 git-svn-id: http://skia.googlecode.com/svn/trunk@8411 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace edge types with GrEdgeEffect. Gravatar bsalomon@google.com2013-03-26
| | | | | | | | | 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
* Attempt to reland 8264-5 with warning-as-error fixes.Gravatar bsalomon@google.com2013-03-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8272 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 8265-8264 (broke build)Gravatar reed@google.com2013-03-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8268 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adds local coords to GrEffect system.Gravatar bsalomon@google.com2013-03-20
| | | | | | | | | | | | | 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
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-03-20
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8249 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add stroked ovals and CircleEdgeEffect.Gravatar jvanverth@google.com2013-03-19
| | | | | | | | | 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
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-03-13
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8120 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GrEllipseEdgeEffect.Gravatar commit-bot@chromium.org2013-03-12
| | | | | | | | | | 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
* Fixed a few warningsGravatar sugoi@google.com2013-03-05
| | | | | | | Removed a few warnings from the Skia code. Review URL: https://codereview.chromium.org/12469003 git-svn-id: http://skia.googlecode.com/svn/trunk@7996 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-03-02
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7939 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove constructors from GrVertexAttrib. Gravatar jvanverth@google.com2013-03-01
| | | | | | | | | | It fits our style better to use initializer lists, so the constructors have been removed and replaced with said lists. Review URL: https://codereview.chromium.org/12379052 git-svn-id: http://skia.googlecode.com/svn/trunk@7936 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make global static variable kVertexAttribs in GrAARectRenderer local to ↵Gravatar jvanverth@google.com2013-03-01
| | | | | | | | | | | | | | functions. Chrome was choking on this static variable because it's global and initialized using a constructor. Moved it inside the two functions that use it, so it's no longer global. In addition, made the constructors for GrVertexAttrib inline so hopefully they will be optimized away. git-svn-id: http://skia.googlecode.com/svn/trunk@7930 2bbb7eff-a529-9590-31e7-b0007b416f81
* Resubmit r7899 and r7901.Gravatar jvanverth@google.com2013-03-01
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7929 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r7901 & r7899 to allow DEPS rollGravatar robertphillips@google.com2013-02-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7909 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add new vertex attribute array specification.Gravatar jvanverth@google.com2013-02-28
| | | | | | | | | | | | 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
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-02-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7746 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove unused texture coordinate flags.Gravatar jvanverth@google.com2013-02-14
| | | | | | | | | | | 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
* Move blend optimization functions to GrDrawState.Gravatar bsalomon@google.com2013-02-12
| | | | | | Review URL: https://codereview.appspot.com/7300089 git-svn-id: http://skia.googlecode.com/svn/trunk@7703 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove compile time option to use different types for text vertices.Gravatar bsalomon@google.com2013-02-07
| | | | | | Review URL: https://codereview.appspot.com/7309060 git-svn-id: http://skia.googlecode.com/svn/trunk@7658 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move vertex layout from GeometrySrcState to GrDrawState.Gravatar jvanverth@google.com2013-02-05
| | | | | | | | | | | Also adds AutoStateRestore member to AutoGeometryPush to push DrawState as well as GeometrySrcState. And removed vertex layout as an argument to a number of functions -- they will get vertex layout info from the current DrawState. Review URL: https://codereview.appspot.com/7286047 git-svn-id: http://skia.googlecode.com/svn/trunk@7600 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make drawIndexedInstances non-virtual and rewrite GrIODB's drawRect on top ↵Gravatar bsalomon@google.com2013-02-01
| | | | | | | | | of drawIndexedInstances. R=robertphillips@google.com Review URL: https://codereview.appspot.com/7221078 git-svn-id: http://skia.googlecode.com/svn/trunk@7508 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-29
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7439 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix buildGravatar reed@google.com2013-01-28
| | | | | | Review URL: https://codereview.appspot.com/7229052 git-svn-id: http://skia.googlecode.com/svn/trunk@7426 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move vertex layout definitions from GrDrawTarget to GrDrawState.Gravatar jvanverth@google.com2013-01-28
| | | | | | | | | | 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
* Fix build break after r7411 when GR_STATIC_RECT_VB is enabled.Gravatar bsalomon@google.com2013-01-28
| | | | | | Review URL: https://codereview.appspot.com/7220051 git-svn-id: http://skia.googlecode.com/svn/trunk@7415 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove getter of writable GrEffectStage from GrDrawState.Gravatar bsalomon@google.com2013-01-28
| | | | | | | 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
* Fix logic bug introduced in r7346.Gravatar bsalomon@google.com2013-01-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7373 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reland r7342 with fixes.Gravatar bsalomon@google.com2013-01-23
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7346 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert 7342 to investigate failures.Gravatar bsalomon@google.com2013-01-23
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7345 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GrDrawState::DeferredState for saving GrDrawStates in GrInOrderDrawBuffer.Gravatar bsalomon@google.com2013-01-23
| | | | | | | A future CL will do the unref'ing of GrResources when converting a GrDrawState to a DeferredState. Review URL: https://codereview.appspot.com/7181049 git-svn-id: http://skia.googlecode.com/svn/trunk@7342 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add GPU support for axis-aligned ovals:Gravatar jvanverth@google.com2013-01-22
| | | | | | | | | | | | | | | - 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
* Remove default implementation of GrEffect::isEqual. Make ↵Gravatar bsalomon@google.com2013-01-17
| | | | | | | | GrSingleTextureEffect abstract. Review URL: https://codereview.appspot.com/7142049 git-svn-id: http://skia.googlecode.com/svn/trunk@7254 2bbb7eff-a529-9590-31e7-b0007b416f81
* Wrap GrEffects in GrEffectPtr.Gravatar bsalomon@google.com2013-01-16
| | | | | | | | | 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
* Add a state bit to GrDrawState that forces coverage to be blended.Gravatar bsalomon@google.com2012-12-13
| | | | | | | | | Use this mode in GrClipMaskManager. R=robertphillips@google.com Review URL: https://codereview.appspot.com/6945048 git-svn-id: http://skia.googlecode.com/svn/trunk@6790 2bbb7eff-a529-9590-31e7-b0007b416f81
* Replace GrMatrix with SkMatrix.Gravatar bsalomon@google.com2012-11-01
| | | | | | Review URL: https://codereview.appspot.com/6814067 git-svn-id: http://skia.googlecode.com/svn/trunk@6247 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove GrScalar, replace with SkScalar.Gravatar bsalomon@google.com2012-11-01
| | | | | | Review URL: https://codereview.appspot.com/6812064 git-svn-id: http://skia.googlecode.com/svn/trunk@6243 2bbb7eff-a529-9590-31e7-b0007b416f81