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

Side by Side Diff: include/gpu/GrShaderVar.h

Issue 766753006: clean up default precision handling (Closed) Base URL: https://skia.googlesource.com/skia.git@precision
Patch Set: Created 6 years 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
« no previous file with comments | « no previous file | src/gpu/gl/GrGLShaderVar.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 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 GrShaderVar_DEFINED 8 #ifndef GrShaderVar_DEFINED
9 #define GrShaderVar_DEFINED 9 #define GrShaderVar_DEFINED
10 10
(...skipping 17 matching lines...) Expand all
28 kIn_TypeModifier, 28 kIn_TypeModifier,
29 kInOut_TypeModifier, 29 kInOut_TypeModifier,
30 kUniform_TypeModifier, 30 kUniform_TypeModifier,
31 // GL Specific types below 31 // GL Specific types below
32 kAttribute_TypeModifier, 32 kAttribute_TypeModifier,
33 kVaryingIn_TypeModifier, 33 kVaryingIn_TypeModifier,
34 kVaryingOut_TypeModifier 34 kVaryingOut_TypeModifier
35 }; 35 };
36 36
37 enum Precision { 37 enum Precision {
38 kLow_Precision, // lowp 38 kLow_Precision,
39 kMedium_Precision, // mediump 39 kMedium_Precision,
40 kHigh_Precision, // highp 40 kHigh_Precision,
41 kDefault_Precision, // Default for the current context. We make 41
42 // fragment shaders default to mediump on ES2 42 // Default precision is medium. This is because on OpenGL ES 2 highp sup port is not
43 // because highp support is not guaranteed (and 43 // guaranteed. On (non-ES) OpenGL the specifiers have no effect on preci sion.
44 // we haven't been motivated to test for it). 44 kDefault_Precision = kMedium_Precision,
45 // Otherwise, highp.
46 }; 45 };
47 46
48 /** 47 /**
49 * Defaults to a float with no precision specifier 48 * Defaults to a float with no precision specifier
50 */ 49 */
51 GrShaderVar() 50 GrShaderVar()
52 : fType(kFloat_GrSLType) 51 : fType(kFloat_GrSLType)
53 , fTypeModifier(kNone_TypeModifier) 52 , fTypeModifier(kNone_TypeModifier)
54 , fCount(kNonArray) 53 , fCount(kNonArray)
55 , fPrecision(kDefault_Precision) { 54 , fPrecision(kDefault_Precision) {
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 223
225 protected: 224 protected:
226 GrSLType fType; 225 GrSLType fType;
227 TypeModifier fTypeModifier; 226 TypeModifier fTypeModifier;
228 SkString fName; 227 SkString fName;
229 int fCount; 228 int fCount;
230 Precision fPrecision; 229 Precision fPrecision;
231 }; 230 };
232 231
233 #endif 232 #endif
OLDNEW
« no previous file with comments | « no previous file | src/gpu/gl/GrGLShaderVar.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698