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 #ifndef GrGLSLCaps_DEFINED | 9 #ifndef GrGLSLCaps_DEFINED |
10 #define GrGLSLCaps_DEFINED | 10 #define GrGLSLCaps_DEFINED |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 bool noperspectiveInterpolationSupport() const { return fNoPerspectiveInterp
olationSupport; } | 59 bool noperspectiveInterpolationSupport() const { return fNoPerspectiveInterp
olationSupport; } |
60 | 60 |
61 bool multisampleInterpolationSupport() const { return fMultisampleInterpolat
ionSupport; } | 61 bool multisampleInterpolationSupport() const { return fMultisampleInterpolat
ionSupport; } |
62 | 62 |
63 bool sampleVariablesSupport() const { return fSampleVariablesSupport; } | 63 bool sampleVariablesSupport() const { return fSampleVariablesSupport; } |
64 | 64 |
65 bool sampleMaskOverrideCoverageSupport() const { return fSampleMaskOverrideC
overageSupport; } | 65 bool sampleMaskOverrideCoverageSupport() const { return fSampleMaskOverrideC
overageSupport; } |
66 | 66 |
67 bool externalTextureSupport() const { return fExternalTextureSupport; } | 67 bool externalTextureSupport() const { return fExternalTextureSupport; } |
68 | 68 |
| 69 bool bufferTextureSupport() const { return fBufferTextureSupport; } |
| 70 |
69 AdvBlendEqInteraction advBlendEqInteraction() const { return fAdvBlendEqInte
raction; } | 71 AdvBlendEqInteraction advBlendEqInteraction() const { return fAdvBlendEqInte
raction; } |
70 | 72 |
71 bool mustEnableAdvBlendEqs() const { | 73 bool mustEnableAdvBlendEqs() const { |
72 return fAdvBlendEqInteraction >= kGeneralEnable_AdvBlendEqInteraction; | 74 return fAdvBlendEqInteraction >= kGeneralEnable_AdvBlendEqInteraction; |
73 } | 75 } |
74 | 76 |
75 bool mustEnableSpecificAdvBlendEqs() const { | 77 bool mustEnableSpecificAdvBlendEqs() const { |
76 return fAdvBlendEqInteraction == kSpecificEnables_AdvBlendEqInteraction; | 78 return fAdvBlendEqInteraction == kSpecificEnables_AdvBlendEqInteraction; |
77 } | 79 } |
78 | 80 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 // source blending is supported. | 113 // source blending is supported. |
112 const char* secondaryOutputExtensionString() const { | 114 const char* secondaryOutputExtensionString() const { |
113 return fSecondaryOutputExtensionString; | 115 return fSecondaryOutputExtensionString; |
114 } | 116 } |
115 | 117 |
116 const char* externalTextureExtensionString() const { | 118 const char* externalTextureExtensionString() const { |
117 SkASSERT(this->externalTextureSupport()); | 119 SkASSERT(this->externalTextureSupport()); |
118 return fExternalTextureExtensionString; | 120 return fExternalTextureExtensionString; |
119 } | 121 } |
120 | 122 |
| 123 const char* bufferTextureExtensionString() const { |
| 124 SkASSERT(this->bufferTextureSupport()); |
| 125 return fBufferTextureExtensionString; |
| 126 } |
| 127 |
121 const char* noperspectiveInterpolationExtensionString() const { | 128 const char* noperspectiveInterpolationExtensionString() const { |
122 SkASSERT(this->noperspectiveInterpolationSupport()); | 129 SkASSERT(this->noperspectiveInterpolationSupport()); |
123 return fNoPerspectiveInterpolationExtensionString; | 130 return fNoPerspectiveInterpolationExtensionString; |
124 } | 131 } |
125 | 132 |
126 const char* multisampleInterpolationExtensionString() const { | 133 const char* multisampleInterpolationExtensionString() const { |
127 SkASSERT(this->multisampleInterpolationSupport()); | 134 SkASSERT(this->multisampleInterpolationSupport()); |
128 return fMultisampleInterpolationExtensionString; | 135 return fMultisampleInterpolationExtensionString; |
129 } | 136 } |
130 | 137 |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 bool fFBFetchNeedsCustomOutput : 1; | 179 bool fFBFetchNeedsCustomOutput : 1; |
173 bool fBindlessTextureSupport : 1; | 180 bool fBindlessTextureSupport : 1; |
174 bool fUsesPrecisionModifiers : 1; | 181 bool fUsesPrecisionModifiers : 1; |
175 bool fCanUseAnyFunctionInShader : 1; | 182 bool fCanUseAnyFunctionInShader : 1; |
176 bool fFlatInterpolationSupport : 1; | 183 bool fFlatInterpolationSupport : 1; |
177 bool fNoPerspectiveInterpolationSupport : 1; | 184 bool fNoPerspectiveInterpolationSupport : 1; |
178 bool fMultisampleInterpolationSupport : 1; | 185 bool fMultisampleInterpolationSupport : 1; |
179 bool fSampleVariablesSupport : 1; | 186 bool fSampleVariablesSupport : 1; |
180 bool fSampleMaskOverrideCoverageSupport : 1; | 187 bool fSampleMaskOverrideCoverageSupport : 1; |
181 bool fExternalTextureSupport : 1; | 188 bool fExternalTextureSupport : 1; |
| 189 bool fBufferTextureSupport : 1; |
182 | 190 |
183 // Used for specific driver bug work arounds | 191 // Used for specific driver bug work arounds |
184 bool fCanUseMinAndAbsTogether : 1; | 192 bool fCanUseMinAndAbsTogether : 1; |
185 bool fMustForceNegatedAtanParamToFloat : 1; | 193 bool fMustForceNegatedAtanParamToFloat : 1; |
186 | 194 |
187 const char* fVersionDeclString; | 195 const char* fVersionDeclString; |
188 | 196 |
189 const char* fShaderDerivativeExtensionString; | 197 const char* fShaderDerivativeExtensionString; |
190 const char* fFragCoordConventionsExtensionString; | 198 const char* fFragCoordConventionsExtensionString; |
191 const char* fSecondaryOutputExtensionString; | 199 const char* fSecondaryOutputExtensionString; |
192 const char* fExternalTextureExtensionString; | 200 const char* fExternalTextureExtensionString; |
| 201 const char* fBufferTextureExtensionString; |
193 const char* fNoPerspectiveInterpolationExtensionString; | 202 const char* fNoPerspectiveInterpolationExtensionString; |
194 const char* fMultisampleInterpolationExtensionString; | 203 const char* fMultisampleInterpolationExtensionString; |
195 const char* fSampleVariablesExtensionString; | 204 const char* fSampleVariablesExtensionString; |
196 | 205 |
197 const char* fFBFetchColorName; | 206 const char* fFBFetchColorName; |
198 const char* fFBFetchExtensionString; | 207 const char* fFBFetchExtensionString; |
199 | 208 |
200 uint8_t fMaxVertexSamplers; | 209 uint8_t fMaxVertexSamplers; |
201 uint8_t fMaxGeometrySamplers; | 210 uint8_t fMaxGeometrySamplers; |
202 uint8_t fMaxFragmentSamplers; | 211 uint8_t fMaxFragmentSamplers; |
203 uint8_t fMaxCombinedSamplers; | 212 uint8_t fMaxCombinedSamplers; |
204 | 213 |
205 AdvBlendEqInteraction fAdvBlendEqInteraction; | 214 AdvBlendEqInteraction fAdvBlendEqInteraction; |
206 | 215 |
207 GrSwizzle fConfigTextureSwizzle[kGrPixelConfigCnt]; | 216 GrSwizzle fConfigTextureSwizzle[kGrPixelConfigCnt]; |
208 GrSwizzle fConfigOutputSwizzle[kGrPixelConfigCnt]; | 217 GrSwizzle fConfigOutputSwizzle[kGrPixelConfigCnt]; |
209 | 218 |
210 friend class GrGLCaps; // For initialization. | 219 friend class GrGLCaps; // For initialization. |
211 friend class GrVkCaps; | 220 friend class GrVkCaps; |
212 | 221 |
213 typedef GrShaderCaps INHERITED; | 222 typedef GrShaderCaps INHERITED; |
214 }; | 223 }; |
215 | 224 |
216 #endif | 225 #endif |
OLD | NEW |