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

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

Issue 25023003: Implement color filter as GrGLEffect (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years, 2 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 | Annotate | Revision Log
OLDNEW
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 #ifndef GrGLSL_DEFINED 8 #ifndef GrGLSL_DEFINED
9 #define GrGLSL_DEFINED 9 #define GrGLSL_DEFINED
10 10
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 } else if (kOnes_ExprType == fType) { 190 } else if (kOnes_ExprType == fType) {
191 return this->onesStr(); 191 return this->onesStr();
192 } 192 }
193 SkASSERT(!fExpr.isEmpty()); // Empty expressions should not be used. 193 SkASSERT(!fExpr.isEmpty()); // Empty expressions should not be used.
194 return fExpr.c_str(); 194 return fExpr.c_str();
195 } 195 }
196 196
197 static const char* zerosStr(); 197 static const char* zerosStr();
198 static const char* onesStr(); 198 static const char* onesStr();
199 199
200 bool isValid() const {
201 return kFullExpr_ExprType != fType || !fExpr.isEmpty();
202 }
203
200 private: 204 private:
201 GrGLSLExpr(const char format[], const char in0[]) 205 GrGLSLExpr(const char format[], const char in0[])
202 : fType(kFullExpr_ExprType) { 206 : fType(kFullExpr_ExprType) {
203 fExpr.appendf(format, in0); 207 fExpr.appendf(format, in0);
204 } 208 }
205 209
206 GrGLSLExpr(const char format[], const char in0[], const char in1[]) 210 GrGLSLExpr(const char format[], const char in0[], const char in1[])
207 : fType(kFullExpr_ExprType) { 211 : fType(kFullExpr_ExprType) {
208 fExpr.appendf(format, in0, in1); 212 fExpr.appendf(format, in0, in1);
209 } 213 }
210 214
211 GrGLSLExpr(const char format[], const char in0[], const char in1) 215 GrGLSLExpr(const char format[], const char in0[], const char in1)
212 : fType(kFullExpr_ExprType) { 216 : fType(kFullExpr_ExprType) {
213 fExpr.appendf(format, in0, in1); 217 fExpr.appendf(format, in0, in1);
214 } 218 }
215 219
216 /** Given an expression of vecM, cast it to vecN. */ 220 /** Given an expression of vecM, cast it to vecN. */
217 template<int M> 221 template<int M>
218 static GrGLSLExpr<N> VectorCast(const GrGLSLExpr<M>&); 222 static GrGLSLExpr<N> VectorCast(const GrGLSLExpr<M>&);
219 223
220 bool isValid() const {
221 return kFullExpr_ExprType != fType || !fExpr.isEmpty();
222 }
223
224 static const char* expandComponentStr(); 224 static const char* expandComponentStr();
225 static const char* castStr(); 225 static const char* castStr();
226 226
227 227
228 SkString fExpr; 228 SkString fExpr;
229 enum ExprType { 229 enum ExprType {
230 kZeros_ExprType, 230 kZeros_ExprType,
231 kOnes_ExprType, 231 kOnes_ExprType,
232 kFullExpr_ExprType, 232 kFullExpr_ExprType,
233 }; 233 };
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 /** 272 /**
273 * Does an inplace mul, *=, of vec4VarName by mulFactor. 273 * Does an inplace mul, *=, of vec4VarName by mulFactor.
274 * A semicolon and newline are added after the assignment. 274 * A semicolon and newline are added after the assignment.
275 */ 275 */
276 void GrGLSLMulVarBy4f(SkString* outAppend, unsigned tabCnt, 276 void GrGLSLMulVarBy4f(SkString* outAppend, unsigned tabCnt,
277 const char* vec4VarName, const GrGLSLExpr<4>& mulFactor); 277 const char* vec4VarName, const GrGLSLExpr<4>& mulFactor);
278 278
279 #include "GrGLSL_impl.h" 279 #include "GrGLSL_impl.h"
280 280
281 #endif 281 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698