OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 #include "GrGLSLCaps.h" | 9 #include "GrGLSLCaps.h" |
10 | 10 |
11 #include "GrContextOptions.h" | 11 #include "GrContextOptions.h" |
12 | 12 |
13 ////////////////////////////////////////////////////////////////////////////////
//////////// | 13 ////////////////////////////////////////////////////////////////////////////////
//////////// |
14 | 14 |
15 GrGLSLCaps::GrGLSLCaps(const GrContextOptions& options) { | 15 GrGLSLCaps::GrGLSLCaps(const GrContextOptions& options) { |
16 fGLSLGeneration = k330_GrGLSLGeneration; | 16 fGLSLGeneration = k330_GrGLSLGeneration; |
17 | 17 |
18 fDropsTileOnZeroDivide = false; | 18 fDropsTileOnZeroDivide = false; |
19 fFBFetchSupport = false; | 19 fFBFetchSupport = false; |
20 fFBFetchNeedsCustomOutput = false; | 20 fFBFetchNeedsCustomOutput = false; |
21 fBindlessTextureSupport = false; | 21 fBindlessTextureSupport = false; |
22 fUsesPrecisionModifiers = false; | 22 fUsesPrecisionModifiers = false; |
23 fCanUseAnyFunctionInShader = true; | 23 fCanUseAnyFunctionInShader = true; |
24 fCanUseMinAndAbsTogether = true; | 24 fCanUseMinAndAbsTogether = true; |
25 fMustForceNegatedAtanParamToFloat = false; | 25 fMustForceNegatedAtanParamToFloat = false; |
26 fFlatInterpolationSupport = false; | 26 fFlatInterpolationSupport = false; |
27 fNoPerspectiveInterpolationSupport = false; | 27 fNoPerspectiveInterpolationSupport = false; |
| 28 fSampleVariablesSupport = false; |
| 29 fSampleMaskOverrideCoverageSupport = false; |
28 fVersionDeclString = nullptr; | 30 fVersionDeclString = nullptr; |
29 fShaderDerivativeExtensionString = nullptr; | 31 fShaderDerivativeExtensionString = nullptr; |
30 fFragCoordConventionsExtensionString = nullptr; | 32 fFragCoordConventionsExtensionString = nullptr; |
31 fSecondaryOutputExtensionString = nullptr; | 33 fSecondaryOutputExtensionString = nullptr; |
32 fExternalTextureExtensionString = nullptr; | 34 fExternalTextureExtensionString = nullptr; |
33 fNoPerspectiveInterpolationExtensionString = nullptr; | 35 fNoPerspectiveInterpolationExtensionString = nullptr; |
| 36 fSampleVariablesExtensionString = nullptr; |
34 fFBFetchColorName = nullptr; | 37 fFBFetchColorName = nullptr; |
35 fFBFetchExtensionString = nullptr; | 38 fFBFetchExtensionString = nullptr; |
36 fAdvBlendEqInteraction = kNotSupported_AdvBlendEqInteraction; | 39 fAdvBlendEqInteraction = kNotSupported_AdvBlendEqInteraction; |
37 } | 40 } |
38 | 41 |
39 SkString GrGLSLCaps::dump() const { | 42 SkString GrGLSLCaps::dump() const { |
40 SkString r = INHERITED::dump(); | 43 SkString r = INHERITED::dump(); |
41 | 44 |
42 static const char* kAdvBlendEqInteractionStr[] = { | 45 static const char* kAdvBlendEqInteractionStr[] = { |
43 "Not Supported", | 46 "Not Supported", |
(...skipping 13 matching lines...) Expand all Loading... |
57 r.appendf("Drops tile on zero divide: %s\n", (fDropsTileOnZeroDivide ? "YES"
: "NO")); | 60 r.appendf("Drops tile on zero divide: %s\n", (fDropsTileOnZeroDivide ? "YES"
: "NO")); |
58 r.appendf("Bindless texture support: %s\n", (fBindlessTextureSupport ? "YES"
: "NO")); | 61 r.appendf("Bindless texture support: %s\n", (fBindlessTextureSupport ? "YES"
: "NO")); |
59 r.appendf("Uses precision modifiers: %s\n", (fUsesPrecisionModifiers ? "YES"
: "NO")); | 62 r.appendf("Uses precision modifiers: %s\n", (fUsesPrecisionModifiers ? "YES"
: "NO")); |
60 r.appendf("Can use any() function: %s\n", (fCanUseAnyFunctionInShader ? "YES
" : "NO")); | 63 r.appendf("Can use any() function: %s\n", (fCanUseAnyFunctionInShader ? "YES
" : "NO")); |
61 r.appendf("Can use min() and abs() together: %s\n", (fCanUseMinAndAbsTogethe
r ? "YES" : "NO")); | 64 r.appendf("Can use min() and abs() together: %s\n", (fCanUseMinAndAbsTogethe
r ? "YES" : "NO")); |
62 r.appendf("Must force negated atan param to float: %s\n", (fMustForceNegated
AtanParamToFloat ? | 65 r.appendf("Must force negated atan param to float: %s\n", (fMustForceNegated
AtanParamToFloat ? |
63 "YES" : "NO")); | 66 "YES" : "NO")); |
64 r.appendf("Flat interpolation support: %s\n", (fFlatInterpolationSupport ?
"YES" : "NO")); | 67 r.appendf("Flat interpolation support: %s\n", (fFlatInterpolationSupport ?
"YES" : "NO")); |
65 r.appendf("No perspective interpolation support: %s\n", (fNoPerspectiveInter
polationSupport ? | 68 r.appendf("No perspective interpolation support: %s\n", (fNoPerspectiveInter
polationSupport ? |
66 "YES" : "NO")); | 69 "YES" : "NO")); |
| 70 r.appendf("Sample variables support: %s\n", (fSampleVariablesSupport ? "YES"
: "NO")); |
| 71 r.appendf("Sample mask override coverage support: %s\n", (fSampleMaskOverrid
eCoverageSupport ? |
| 72 "YES" : "NO")); |
67 r.appendf("Advanced blend equation interaction: %s\n", | 73 r.appendf("Advanced blend equation interaction: %s\n", |
68 kAdvBlendEqInteractionStr[fAdvBlendEqInteraction]); | 74 kAdvBlendEqInteractionStr[fAdvBlendEqInteraction]); |
69 return r; | 75 return r; |
70 } | 76 } |
71 | 77 |
72 void GrGLSLCaps::onApplyOptionsOverrides(const GrContextOptions& options) { | 78 void GrGLSLCaps::onApplyOptionsOverrides(const GrContextOptions& options) { |
73 } | 79 } |
74 | 80 |
OLD | NEW |