Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: src/gpu/gl/GrGLProgramDesc.h

Issue 367643004: Implement NVPR on GLES (Closed) Base URL: https://skia.googlesource.com/skia.git@02-path-program-fragment
Patch Set: rebse Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698