| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  * Copyright 2011 Google Inc. |    2  * Copyright 2011 Google Inc. | 
|    3  * |    3  * | 
|    4  * Use of this source code is governed by a BSD-style license that can be |    4  * Use of this source code is governed by a BSD-style license that can be | 
|    5  * found in the LICENSE file. |    5  * found in the LICENSE file. | 
|    6  */ |    6  */ | 
|    7  |    7  | 
|    8  |    8  | 
|    9 #ifndef GrGLProgram_DEFINED |    9 #ifndef GrGLProgram_DEFINED | 
|   10 #define GrGLProgram_DEFINED |   10 #define GrGLProgram_DEFINED | 
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  152     // Helper for setData(). Makes GL calls to specify the initial color when th
     ere is not |  152     // Helper for setData(). Makes GL calls to specify the initial color when th
     ere is not | 
|  153     // per-vertex colors. |  153     // per-vertex colors. | 
|  154     void setColor(const GrOptDrawState&, GrColor color); |  154     void setColor(const GrOptDrawState&, GrColor color); | 
|  155  |  155  | 
|  156     // Helper for setData(). Makes GL calls to specify the initial coverage when
      there is not |  156     // Helper for setData(). Makes GL calls to specify the initial coverage when
      there is not | 
|  157     // per-vertex coverages. |  157     // per-vertex coverages. | 
|  158     void setCoverage(const GrOptDrawState&, uint8_t coverage); |  158     void setCoverage(const GrOptDrawState&, uint8_t coverage); | 
|  159  |  159  | 
|  160     // A templated helper to loop over effects, set the transforms(via subclass)
      and bind textures |  160     // A templated helper to loop over effects, set the transforms(via subclass)
      and bind textures | 
|  161     void setFragmentData(const GrOptDrawState&); |  161     void setFragmentData(const GrOptDrawState&); | 
|  162     virtual void setTransformData(const GrFragmentStage& effectStage, GrGLInstal
     ledFragProc* pe); |  162     virtual void setTransformData(const GrPendingFragmentStage&, GrGLInstalledFr
     agProc*); | 
|  163     void bindTextures(const GrGLInstalledProc*, const GrProcessor&); |  163     void bindTextures(const GrGLInstalledProc*, const GrProcessor&); | 
|  164  |  164  | 
|  165     /* |  165     /* | 
|  166      * Legacy NVPR needs a hook here to flush path tex gen settings. |  166      * Legacy NVPR needs a hook here to flush path tex gen settings. | 
|  167      * TODO when legacy nvpr is removed, remove this call. |  167      * TODO when legacy nvpr is removed, remove this call. | 
|  168      */ |  168      */ | 
|  169     virtual void didSetData(GrGpu::DrawType); |  169     virtual void didSetData(GrGpu::DrawType); | 
|  170  |  170  | 
|  171     // Helper for setData() that sets the view matrix and loads the render targe
     t height uniform |  171     // Helper for setData() that sets the view matrix and loads the render targe
     t height uniform | 
|  172     void setMatrixAndRenderTargetHeight(GrGpu::DrawType, const GrOptDrawState&); |  172     void setMatrixAndRenderTargetHeight(GrGpu::DrawType, const GrOptDrawState&); | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  208                         GrGLuint programID, |  208                         GrGLuint programID, | 
|  209                         const UniformInfoArray&, |  209                         const UniformInfoArray&, | 
|  210                         GrGLInstalledFragProcs* fragmentProcessors); |  210                         GrGLInstalledFragProcs* fragmentProcessors); | 
|  211     virtual void onSetMatrixAndRenderTargetHeight(GrGpu::DrawType, const GrOptDr
     awState&); |  211     virtual void onSetMatrixAndRenderTargetHeight(GrGpu::DrawType, const GrOptDr
     awState&); | 
|  212  |  212  | 
|  213     typedef GrGLProgram INHERITED; |  213     typedef GrGLProgram INHERITED; | 
|  214 }; |  214 }; | 
|  215  |  215  | 
|  216 class GrGLNvprProgram : public GrGLNvprProgramBase { |  216 class GrGLNvprProgram : public GrGLNvprProgramBase { | 
|  217 public: |  217 public: | 
|  218       virtual bool hasVertexShader() const SK_OVERRIDE { return true; } |  218     virtual bool hasVertexShader() const SK_OVERRIDE { return true; } | 
|  219  |  219  | 
|  220 private: |  220 private: | 
|  221     typedef GrGLNvprProgramBuilder::SeparableVaryingInfo SeparableVaryingInfo; |  221     typedef GrGLNvprProgramBuilder::SeparableVaryingInfo SeparableVaryingInfo; | 
|  222     typedef GrGLNvprProgramBuilder::SeparableVaryingInfoArray SeparableVaryingIn
     foArray; |  222     typedef GrGLNvprProgramBuilder::SeparableVaryingInfoArray SeparableVaryingIn
     foArray; | 
|  223     GrGLNvprProgram(GrGpuGL*, |  223     GrGLNvprProgram(GrGpuGL*, | 
|  224                     const GrProgramDesc&, |  224                     const GrProgramDesc&, | 
|  225                     const BuiltinUniformHandles&, |  225                     const BuiltinUniformHandles&, | 
|  226                     GrGLuint programID, |  226                     GrGLuint programID, | 
|  227                     const UniformInfoArray&, |  227                     const UniformInfoArray&, | 
|  228                     GrGLInstalledFragProcs* fragmentProcessors, |  228                     GrGLInstalledFragProcs* fragmentProcessors, | 
|  229                     const SeparableVaryingInfoArray& separableVaryings); |  229                     const SeparableVaryingInfoArray& separableVaryings); | 
|  230     virtual void didSetData(GrGpu::DrawType) SK_OVERRIDE; |  230     virtual void didSetData(GrGpu::DrawType) SK_OVERRIDE; | 
|  231     virtual void setTransformData(const GrFragmentStage&, GrGLInstalledFragProc*
     ) SK_OVERRIDE; |  231     virtual void setTransformData(const GrPendingFragmentStage&, | 
 |  232                                   GrGLInstalledFragProc*) SK_OVERRIDE; | 
|  232  |  233  | 
|  233     struct Varying { |  234     struct Varying { | 
|  234         GrGLint     fLocation; |  235         GrGLint     fLocation; | 
|  235         SkDEBUGCODE( |  236         SkDEBUGCODE( | 
|  236             GrSLType    fType; |  237             GrSLType    fType; | 
|  237         ); |  238         ); | 
|  238     }; |  239     }; | 
|  239     SkTArray<Varying, true> fVaryings; |  240     SkTArray<Varying, true> fVaryings; | 
|  240  |  241  | 
|  241     friend class GrGLNvprProgramBuilder; |  242     friend class GrGLNvprProgramBuilder; | 
|  242  |  243  | 
|  243     typedef GrGLNvprProgramBase INHERITED; |  244     typedef GrGLNvprProgramBase INHERITED; | 
|  244 }; |  245 }; | 
|  245  |  246  | 
|  246 class GrGLLegacyNvprProgram : public GrGLNvprProgramBase { |  247 class GrGLLegacyNvprProgram : public GrGLNvprProgramBase { | 
|  247 public: |  248 public: | 
|  248     virtual bool hasVertexShader() const SK_OVERRIDE { return false; } |  249     virtual bool hasVertexShader() const SK_OVERRIDE { return false; } | 
|  249  |  250  | 
|  250 private: |  251 private: | 
|  251     GrGLLegacyNvprProgram(GrGpuGL* gpu, |  252     GrGLLegacyNvprProgram(GrGpuGL* gpu, | 
|  252                           const GrProgramDesc& desc, |  253                           const GrProgramDesc& desc, | 
|  253                           const BuiltinUniformHandles&, |  254                           const BuiltinUniformHandles&, | 
|  254                           GrGLuint programID, |  255                           GrGLuint programID, | 
|  255                           const UniformInfoArray&, |  256                           const UniformInfoArray&, | 
|  256                           GrGLInstalledFragProcs* fragmentProcessors, |  257                           GrGLInstalledFragProcs* fragmentProcessors, | 
|  257                           int texCoordSetCnt); |  258                           int texCoordSetCnt); | 
|  258     virtual void didSetData(GrGpu::DrawType) SK_OVERRIDE; |  259     virtual void didSetData(GrGpu::DrawType) SK_OVERRIDE; | 
|  259     virtual void setTransformData(const GrFragmentStage&, GrGLInstalledFragProc*
     ) SK_OVERRIDE; |  260     virtual void setTransformData(const GrPendingFragmentStage&, | 
 |  261                                   GrGLInstalledFragProc*) SK_OVERRIDE; | 
|  260  |  262  | 
|  261     int fTexCoordSetCnt; |  263     int fTexCoordSetCnt; | 
|  262  |  264  | 
|  263     friend class GrGLLegacyNvprProgramBuilder; |  265     friend class GrGLLegacyNvprProgramBuilder; | 
|  264  |  266  | 
|  265     typedef GrGLNvprProgramBase INHERITED; |  267     typedef GrGLNvprProgramBase INHERITED; | 
|  266 }; |  268 }; | 
|  267  |  269  | 
|  268 #endif |  270 #endif | 
| OLD | NEW |