OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 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 #ifndef GrGLProgramDesc_DEFINED | 8 #ifndef GrGLProgramDesc_DEFINED |
9 #define GrGLProgramDesc_DEFINED | 9 #define GrGLProgramDesc_DEFINED |
10 | 10 |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 uint8_t fDstReadKey; // set by GrGLShaderBuil
der if there | 140 uint8_t fDstReadKey; // set by GrGLShaderBuil
der if there |
141 // are effects that must
read the dst. | 141 // are effects that must
read the dst. |
142 // Otherwise, 0. | 142 // Otherwise, 0. |
143 uint8_t fFragPosKey; // set by GrGLShaderBuil
der if there are | 143 uint8_t fFragPosKey; // set by GrGLShaderBuil
der if there are |
144 // effects that read the
fragment position. | 144 // effects that read the
fragment position. |
145 // Otherwise, 0. | 145 // Otherwise, 0. |
146 ColorInput fColorInput : 8; | 146 ColorInput fColorInput : 8; |
147 ColorInput fCoverageInput : 8; | 147 ColorInput fCoverageInput : 8; |
148 CoverageOutput fCoverageOutput : 8; | 148 CoverageOutput fCoverageOutput : 8; |
149 | 149 |
150 SkBool8 fHasVertexCode; | 150 SkBool8 fRequiresVertexShader; |
151 SkBool8 fEmitsPointSize; | 151 SkBool8 fEmitsPointSize; |
152 | 152 |
153 // To enable experimental geometry shader code (not for use in | 153 // To enable experimental geometry shader code (not for use in |
154 // production) | 154 // production) |
155 #if GR_GL_EXPERIMENTAL_GS | 155 #if GR_GL_EXPERIMENTAL_GS |
156 SkBool8 fExperimentalGS; | 156 SkBool8 fExperimentalGS; |
157 #endif | 157 #endif |
158 | 158 |
159 int8_t fPositionAttributeIndex; | 159 int8_t fPositionAttributeIndex; |
160 int8_t fLocalCoordAttributeIndex; | 160 int8_t fLocalCoordAttributeIndex; |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 KeyHeader* header() { return this->atOffset<KeyHeader, kHeaderOffset>(); } | 196 KeyHeader* header() { return this->atOffset<KeyHeader, kHeaderOffset>(); } |
197 | 197 |
198 // Shared code between setRandom() and Build(). | 198 // Shared code between setRandom() and Build(). |
199 static bool GetEffectKeyAndUpdateStats(const GrEffectStage& stage, | 199 static bool GetEffectKeyAndUpdateStats(const GrEffectStage& stage, |
200 const GrGLCaps& caps, | 200 const GrGLCaps& caps, |
201 bool useExplicitLocalCoords, | 201 bool useExplicitLocalCoords, |
202 GrEffectKeyBuilder* b, | 202 GrEffectKeyBuilder* b, |
203 uint16_t* effectKeySize, | 203 uint16_t* effectKeySize, |
204 bool* setTrueIfReadsDst, | 204 bool* setTrueIfReadsDst, |
205 bool* setTrueIfReadsPos, | 205 bool* setTrueIfReadsPos, |
206 bool* setTrueIfHasVertexCode); | 206 bool* setTrueIfRequiresVertexShader); |
207 | 207 |
208 void finalize(); | 208 void finalize(); |
209 | 209 |
210 const KeyHeader& getHeader() const { return *this->atOffset<KeyHeader, kHead
erOffset>(); } | 210 const KeyHeader& getHeader() const { return *this->atOffset<KeyHeader, kHead
erOffset>(); } |
211 | 211 |
212 /** Used to provide effects' keys to their emitCode() function. */ | 212 /** Used to provide effects' keys to their emitCode() function. */ |
213 class EffectKeyProvider { | 213 class EffectKeyProvider { |
214 public: | 214 public: |
215 enum EffectType { | 215 enum EffectType { |
216 kColor_EffectType, | 216 kColor_EffectType, |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 friend class GrGLProgram; | 254 friend class GrGLProgram; |
255 friend class GrGLProgramBuilder; | 255 friend class GrGLProgramBuilder; |
256 friend class GrGLFullProgramBuilder; | 256 friend class GrGLFullProgramBuilder; |
257 friend class GrGLFragmentOnlyProgramBuilder; | 257 friend class GrGLFragmentOnlyProgramBuilder; |
258 friend class GrGLVertexShaderBuilder; | 258 friend class GrGLVertexShaderBuilder; |
259 friend class GrGLFragmentShaderBuilder; | 259 friend class GrGLFragmentShaderBuilder; |
260 friend class GrGLGeometryShaderBuilder; | 260 friend class GrGLGeometryShaderBuilder; |
261 }; | 261 }; |
262 | 262 |
263 #endif | 263 #endif |
OLD | NEW |