aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrDrawState.cpp
Commit message (Collapse)AuthorAge
* Small cleanups after GrDrawState/GrOptDrawState base class elimination.Gravatar bsalomon2014-11-19
| | | | Review URL: https://codereview.chromium.org/739133004
* Create GrOptDrawState before recording draw in GrInOrderDrawBufferGravatar bsalomon2014-11-19
| | | | Review URL: https://codereview.chromium.org/739673002
* Add GrProcOptInfo class to track various output information for color and ↵Gravatar egdaniel2014-11-13
| | | | | | | | coverage stages. BUG=skia: Review URL: https://codereview.chromium.org/719203002
* Relax constraints on src coeff in GrDrawState::willBlendWithDst.Gravatar egdaniel2014-11-13
| | | | | | | | | Allow the srcCoeff to be anything as long as it does not reference the dst. Previous version required srcCoeff to be one. BUG=skia: Review URL: https://codereview.chromium.org/718103003
* Move GrInvariantOutput out of GrProcessor and into its own class.Gravatar egdaniel2014-11-12
| | | | | | | | This will help with the ability to subclass, add to, etc. GrInvariantOutput. Also it was simply getting a little too big to be a "supporting" subclass BUG=skia: Review URL: https://codereview.chromium.org/699943003
* Add isUnblended query to GrDrawState.Gravatar egdaniel2014-11-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/715873002
* Remove coverage from grpaintGravatar joshualitt2014-11-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/683133006
* remove separate color from coverageGravatar joshualitt2014-11-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/699023003
* Remove cached OptDrawState from GrDrawState.Gravatar egdaniel2014-11-11
| | | | | | | | | Since we now snap and create the ODS one time in the inorder draw buffer, there is no need for us to keep a cached version of it around. BUG=skia: Review URL: https://codereview.chromium.org/701123003
* Force input coverage to be only a byte in gpu shaders.Gravatar egdaniel2014-11-03
| | | | | | | | Prime coverage invariant output calculations with single component BUG=skia: Review URL: https://codereview.chromium.org/649783003
* Add Geometry processor to srcAlphaWillBeOne check.Gravatar egdaniel2014-10-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/681333002
* Opt state takes a GP instead of a GeometryStageGravatar joshualitt2014-10-10
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/71856d520461ae025a0332aa0ce9735a096d9baf Review URL: https://codereview.chromium.org/637003003
* Revert of Opt state takes a GP instead of a GeometryStage (patchset #18 ↵Gravatar joshualitt2014-10-10
| | | | | | | | | | | | | | | | | | | | | 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
* Opt state takes a GP instead of a GeometryStageGravatar joshualitt2014-10-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/637003003
* Fix restore in AVMR to have correct coverage count.Gravatar egdaniel2014-10-09
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/638173003
* gl programs rewriteGravatar joshualitt2014-10-09
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/07a255310aca9f3e83bf741dc663a58818ad681c Review URL: https://codereview.chromium.org/628633003
* Cleanup of shader building systemGravatar joshualitt2014-10-07
| | | | | | | | | | | | | | | | | 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
* Revert of Cleanup of shader building system (patchset #25 id:470001 of ↵Gravatar joshualitt2014-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Cleanup of shader building systemGravatar joshualitt2014-10-07
| | | | | | | | | | | | | | | 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
* Revert of gl programs rewrite (patchset #10 id:180001 of ↵Gravatar joshualitt2014-10-07
| | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/628633003/) Reason for revert: breaks angle bot Original issue's description: > gl programs rewrite > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/07a255310aca9f3e83bf741dc663a58818ad681c TBR=bsalomon@google.com,egdaniel@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/631183003
* gl programs rewriteGravatar joshualitt2014-10-07
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/628633003
* Make createOptDrawState return NULL if we would end up not drawingGravatar egdaniel2014-10-07
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/630063002
* Add isSingleComponent bool to getConstantColorComponentGravatar egdaniel2014-10-03
| | | | | | | | | | Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components. BUG=skia: Committed: https://skia.googlesource.com/skia/+/3b8af078281a5a20f951b9fd84f38d92b8f6217b Review URL: https://codereview.chromium.org/608253002
* Revert of Add isSingleComponent bool to getConstantColorComponent (patchset ↵Gravatar robertphillips2014-10-02
| | | | | | | | | | | | | | | | | | | | | | | #6 id:100001 of https://codereview.chromium.org/608253002/) Reason for revert: Changing some GMs Original issue's description: > Add isSingleComponent bool to getConstantColorComponent > > Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/3b8af078281a5a20f951b9fd84f38d92b8f6217b TBR=joshualitt@chromium.org,bsalomon@google.com,reed@google.com,egdaniel@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/617853003
* Add isSingleComponent bool to getConstantColorComponentGravatar egdaniel2014-10-02
| | | | | | | | Initial step to allowing effects to use/output 1 or 4 color/coverage components. This cl doesn't change any current logic and all effects still assume they are working with 4 components. BUG=skia: Review URL: https://codereview.chromium.org/608253002
* Split GrDrawState and GrOptDrawState into separate classes and remove base ↵Gravatar egdaniel2014-09-26
| | | | | | | | | | | | | class. Besides splitting the two classes, there are no logical changes here and mostly moving code around. BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/597323002
* Patch to create a distinct geometry processor. The vast majority of this patchGravatar joshualitt2014-09-23
| | | | | | | | | | | | | 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
* Calculate Primary and Secondary output types in the GrOptDrawStateGravatar egdaniel2014-09-22
| | | | | | | | | | | 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
* Attach GrOptDrawState into shader building pipelineGravatar egdaniel2014-09-16
| | | | | | | | | | | | | | | | | 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
* Revert of Attach GrOptDrawState into shader building pipeline (patchset #11 ↵Gravatar egdaniel2014-09-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Attach GrOptDrawState into shader building pipelineGravatar egdaniel2014-09-16
| | | | | | | | | | | | | | 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
* Create an optimized draw state but not hooked in yet to gpu pipelineGravatar egdaniel2014-09-15
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/508663002
* Make GrDrawState and GrEffectStage use the pending io/exec ref mechanisms.Gravatar bsalomon2014-09-05
| | | | | | | | | BUG=skia:2889 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/542723004
* "NULL !=" = NULLGravatar bsalomon2014-09-05
| | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/544233002
* Don't take a ref on GP in AutoEffectRestore.Gravatar bsalomon2014-09-05
| | | | | | | | | BUG=skia:2889 R=joshualitt@chromium.org, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/546043002
* Change behavior of GrDS::AutoEffectRestort wrt GPs.Gravatar bsalomon2014-09-05
| | | | | | | | | BUG=skia:2889 R=robertphillips@google.com, joshualitt@chromium.org Author: bsalomon@google.com Review URL: https://codereview.chromium.org/545253002
* Initial change to create GeometryProcessorGravatar joshualitt2014-09-04
| | | | | | | | | 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
* Make setVertexAttribs in GrDrawState take a stride parameter.Gravatar egdaniel2014-08-28
| | | | | | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/af013bf8afc4c77ab8ff230f536e2ade973427fa R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/511593004
* Revert of Make setVertexAttribs in GrDrawState take a stride parameter. ↵Gravatar djsollen2014-08-27
| | | | | | | | | | | | | | | | | | | | | | | | (patchset #5 of https://codereview.chromium.org/511593004/) Reason for revert: GM failures on http://108.170.220.120:10115/builders/Test-Ubuntu12-ShuttleA-GTX660-x86-Release/builds/1867/ Original issue's description: > Make setVertexAttribs in GrDrawState take a stride parameter. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/af013bf8afc4c77ab8ff230f536e2ade973427fa R=bsalomon@google.com, egdaniel@google.com TBR=bsalomon@google.com, egdaniel@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: djsollen@google.com Review URL: https://codereview.chromium.org/502533004
* Make setVertexAttribs in GrDrawState take a stride parameter.Gravatar egdaniel2014-08-27
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/511593004
* Create Read-only Base class for GrDrawState that holds data members and gettersGravatar egdaniel2014-08-26
| | | | | | | | | | | Base class will but used also in follow up cl that will create an OptDrawState class which will share much of the same data/functions as DrawState. Thus the base class BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/506803003
* Store vertex size in DrawState when setVertexAttribs is calledGravatar egdaniel2014-08-22
| | | | | | | | | | | | This will avoid recalculating vertex size throughout code, and will allow for a set original vertex size once optimizations start removing VA's BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/498483002
* Remove State struct from GrDrawStateGravatar egdaniel2014-08-21
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/464363002
* Fix srcAlpaWillBeOne() for coverage drawingGravatar bsalomon2014-08-18
| | | | | | | | R=egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/480113002
* Add an opaqueness hint to GrDrawState.Gravatar bsalomon2014-08-08
| | | | | | | | | | Check it when deciding whether to combine draw states. R=egdaniel@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/446953002
* Create struct in GrDrawState to hold key DrawState data.Gravatar egdaniel2014-08-06
| | | | | | | | | | | Eventually this struct will be used to easily set values for a reduced, optimized drawstate BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/448453002
* Move functions from GrDrawState.h to GrDrawState.cpp and delete unused ↵Gravatar bsalomon2014-08-05
| | | | | | | | | | functions. R=egdaniel@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/427713005
* Remove kDisableBlend_BlendOptFlag as it is no longer neededGravatar egdaniel2014-07-30
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/425153003
* Revert of Remove gpu support for willUseHWAALines. ↵Gravatar egdaniel2014-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/423943003/) Reason for revert: Breaking windows 7 compare gm's Original issue's description: > Remove gpu support for willUseHWAALines. > > By removing willUseHWAALines, we also no long reference the blend opt flag kDisableBlend so it has been removed > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/e6dfba868c19b00562f8c733b9bf37dd4ec9e68c R=bsalomon@google.com TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: egdaniel@google.com Review URL: https://codereview.chromium.org/430493003
* Remove gpu support for willUseHWAALines.Gravatar egdaniel2014-07-29
| | | | | | | | | | | By removing willUseHWAALines, we also no long reference the blend opt flag kDisableBlend so it has been removed BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/423943003