aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLProgram.h
Commit message (Collapse)AuthorAge
...
* Create xfer processor backend.Gravatar egdaniel2014-12-10
| | | | | | | | | | | 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
* move program descriptor generation to flushGravatar joshualitt2014-12-04
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/829e1b80b1020b17f2078020c990e079b70c077c Review URL: https://codereview.chromium.org/777673003
* Revert of move program descriptor generation to flush (patchset #7 id:120001 ↵Gravatar joshualitt2014-12-04
| | | | | | | | | | | | | | | | | | | | | 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
* move program descriptor generation to flushGravatar joshualitt2014-12-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/777673003
* dstCopy on optdrawstateGravatar joshualitt2014-11-20
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/735363003
* Create GrOptDrawState before recording draw in GrInOrderDrawBufferGravatar bsalomon2014-11-19
| | | | Review URL: https://codereview.chromium.org/739673002
* 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
* OptState owns program descriptorGravatar joshualitt2014-10-28
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/674543004
* Working patch to remove constant attributes. This may cause some gm ↵Gravatar joshualitt2014-10-28
| | | | | | | | | | | | 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
* Revert of Patch to remove constant attributes (patchset #8 id:120002 of ↵Gravatar joshualitt2014-10-28
| | | | | | | | | | | | | | | | | | | | | | | 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
* Working patch to remove constant attributes. This may cause some gm ↵Gravatar joshualitt2014-10-28
| | | | | | | | | | mismatches, I will rebaseline tonight. BUG=skia: Committed: https://skia.googlesource.com/skia/+/84c94c0dfd1e12e97d8a835882dda575f36e41d2 Review URL: https://codereview.chromium.org/678073005
* Revert of Patch to remove constant attributes (patchset #6 id:100001 of ↵Gravatar joshualitt2014-10-27
| | | | | | | | | | | | | | | | | | | | | 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
* Working patch to remove constant attributes. This may cause some gm ↵Gravatar joshualitt2014-10-27
| | | | | | | | mismatches, I will rebaseline tonight. BUG=skia: Review URL: https://codereview.chromium.org/678073005
* 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
* 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
* Plumb OptDrawState down to VertexShaderBuilderGravatar egdaniel2014-10-06
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/628293002
* 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
* 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
* Implement NV_path_rendering on OpenGL ESGravatar kkinnunen2014-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Initial refactor of shaderbuilder to prepare for geometry shadersGravatar joshualitt2014-08-21
| | | | | | | | | | | gitignore for eclipse BUG=skia: R=bsalomon@google.com, bsalomon@chromium.org Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/491673002
* Make GrGLProgram be available to GrGLProgramDataManagerGravatar kkinnunen2014-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Rename GrGLUniformManager to GrGLProgramDataManagerGravatar kkinnunen2014-07-30
| | | | | | | | | | | | | 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
* Finish removing GrTHashTableGravatar robertphillips2014-07-29
| | | | | | | | | | This class is no longer used in Ganesh (in favor of SkTDynamicHash) R=jvanverth@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/421253003
* Use GrGLShaderBuilder::GenProgramOutput in GrGLProgram.Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | 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
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-05-30
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@14984 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make GrGLShaderBuilder store a GenProgramOutputGravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | 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
* Incremental refactoring of GrGLProgram and GrGLShaderBuilderGravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | 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
* Move all code generation from GrGLProgram to GrGLShaderBuilderGravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | 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
* separate view matrix from rt adjustmentGravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | 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
* Please Valgrind by calling preConcat.Gravatar commit-bot@chromium.org2014-03-28
| | | | | | | | | | | | | | | | | | | Valgrind's whining about m.setConcat(m, I). That special cases into m = m, which compiles into memcpy(&m, &m, sizeof(m)), and then Valgrind decides that's not kosher because &m and &m overlap. (memmove would have been fine, but this is compiler generated code; not much we can do.) preConcat gets us the same thing with an early can-we-noop check for I, sidestepping the whole problem. BUG=skia: R=bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/214823003 git-svn-id: http://skia.googlecode.com/svn/trunk@13972 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement SkColorFilter as a GrGLEffectGravatar commit-bot@chromium.org2013-10-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use vertexless shaders when NVpr is availableGravatar commit-bot@chromium.org2013-10-04
| | | | | | | | | | | | | | | | 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
* Repurpose GrGLCoordTransform as GrGLProgramEffectsGravatar commit-bot@chromium.org2013-10-03
| | | | | | | | | | | | | | 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
* Make GPU coord transforms automaticGravatar bsalomon@google.com2013-10-02
| | | | | | | | | | | | | 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
* Move the GL shader compilation step into GrGLShaderBuilderGravatar commit-bot@chromium.org2013-09-30
| | | | | | | | | | | | | | 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
* Revert "Add a requiresVertexShader method to GrGLEffect"Gravatar commit-bot@chromium.org2013-09-30
| | | | | | | | | | | | | 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
* Remove GrRefCnt.h in favor of SkRefCnt.hGravatar commit-bot@chromium.org2013-09-09
| | | | | | | | | | | | | | | | | This removes GrRefCnt.h with all its tyepdefs and #defines and just switch them to the Sk* equivalents. GrSafeSetNull was promoted to SkSafeSetNull in SkRefCnt.h. BUG=None TEST=none, no functional changes. R=bsalomon@google.com, robertphillips@google.com Author: tfarina@chromium.org Review URL: https://chromiumcodereview.appspot.com/23904003 git-svn-id: http://skia.googlecode.com/svn/trunk@11151 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add a requiresVertexShader method to GrGLEffectGravatar commit-bot@chromium.org2013-09-06
| | | | | | | | | | | | | | | | 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
* Add getGLMatrix method to MatrixStateGravatar commit-bot@chromium.org2013-09-05
| | | | | | | | | | | | | 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
* Add a GrGpuGL reference for GrGLProgram/GrGLUniformManagerGravatar commit-bot@chromium.org2013-09-05
| | | | | | | | | | | | | | | 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
* Isolate VertexBuilder from GrGLShaderBuilderGravatar commit-bot@chromium.org2013-08-30
| | | | | | | | | | | | | | | 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
* Refactor GrGLUniformManager::UniformHandle to initialize itself by defaultGravatar commit-bot@chromium.org2013-08-14
| | | | | | | | | | | | | | | | | | | | 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