OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2013 Google Inc. | 3 * Copyright 2013 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 #ifndef GrCaps_DEFINED | 8 #ifndef GrCaps_DEFINED |
9 #define GrCaps_DEFINED | 9 #define GrCaps_DEFINED |
10 | 10 |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 #endif | 126 #endif |
127 bool compressedTexSubImageSupport() const { return fCompressedTexSubImageSup
port; } | 127 bool compressedTexSubImageSupport() const { return fCompressedTexSubImageSup
port; } |
128 bool oversizedStencilSupport() const { return fOversizedStencilSupport; } | 128 bool oversizedStencilSupport() const { return fOversizedStencilSupport; } |
129 bool textureBarrierSupport() const { return fTextureBarrierSupport; } | 129 bool textureBarrierSupport() const { return fTextureBarrierSupport; } |
130 | 130 |
131 bool useDrawInsteadOfClear() const { return fUseDrawInsteadOfClear; } | 131 bool useDrawInsteadOfClear() const { return fUseDrawInsteadOfClear; } |
132 bool useDrawInsteadOfPartialRenderTargetWrite() const { | 132 bool useDrawInsteadOfPartialRenderTargetWrite() const { |
133 return fUseDrawInsteadOfPartialRenderTargetWrite; | 133 return fUseDrawInsteadOfPartialRenderTargetWrite; |
134 } | 134 } |
135 | 135 |
| 136 bool preferVRAMUseOverFlushes() const { return fPreferVRAMUseOverFlushes; } |
| 137 |
136 /** | 138 /** |
137 * Indicates the capabilities of the fixed function blend unit. | 139 * Indicates the capabilities of the fixed function blend unit. |
138 */ | 140 */ |
139 enum BlendEquationSupport { | 141 enum BlendEquationSupport { |
140 kBasic_BlendEquationSupport, //<! Support to select the oper
ator that | 142 kBasic_BlendEquationSupport, //<! Support to select the oper
ator that |
141 // combines src and dst terms
. | 143 // combines src and dst terms
. |
142 kAdvanced_BlendEquationSupport, //<! Additional fixed function
support for specific | 144 kAdvanced_BlendEquationSupport, //<! Additional fixed function
support for specific |
143 // SVG/PDF blend modes. Requi
res blend barriers. | 145 // SVG/PDF blend modes. Requi
res blend barriers. |
144 kAdvancedCoherent_BlendEquationSupport, //<! Advanced blend equation su
pport that does not | 146 kAdvancedCoherent_BlendEquationSupport, //<! Advanced blend equation su
pport that does not |
145 // require blend barriers, an
d permits overlap. | 147 // require blend barriers, an
d permits overlap. |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 bool fOversizedStencilSupport : 1; | 244 bool fOversizedStencilSupport : 1; |
243 bool fTextureBarrierSupport : 1; | 245 bool fTextureBarrierSupport : 1; |
244 bool fSupportsInstancedDraws : 1; | 246 bool fSupportsInstancedDraws : 1; |
245 bool fFullClearIsFree : 1; | 247 bool fFullClearIsFree : 1; |
246 bool fMustClearUploadedBufferData : 1; | 248 bool fMustClearUploadedBufferData : 1; |
247 | 249 |
248 // Driver workaround | 250 // Driver workaround |
249 bool fUseDrawInsteadOfClear : 1; | 251 bool fUseDrawInsteadOfClear : 1; |
250 bool fUseDrawInsteadOfPartialRenderTargetWrite : 1; | 252 bool fUseDrawInsteadOfPartialRenderTargetWrite : 1; |
251 | 253 |
| 254 // ANGLE workaround |
| 255 bool fPreferVRAMUseOverFlushes : 1; |
| 256 |
252 BlendEquationSupport fBlendEquationSupport; | 257 BlendEquationSupport fBlendEquationSupport; |
253 uint32_t fAdvBlendEqBlacklist; | 258 uint32_t fAdvBlendEqBlacklist; |
254 GR_STATIC_ASSERT(kLast_GrBlendEquation < 32); | 259 GR_STATIC_ASSERT(kLast_GrBlendEquation < 32); |
255 | 260 |
256 uint32_t fMapBufferFlags; | 261 uint32_t fMapBufferFlags; |
257 int fGeometryBufferMapThreshold; | 262 int fGeometryBufferMapThreshold; |
258 | 263 |
259 int fMaxRenderTargetSize; | 264 int fMaxRenderTargetSize; |
260 int fMaxTextureSize; | 265 int fMaxTextureSize; |
261 int fMinTextureSize; | 266 int fMinTextureSize; |
262 int fMaxSampleCount; | 267 int fMaxSampleCount; |
263 | 268 |
264 // The first entry for each config is without msaa and the second is with. | 269 // The first entry for each config is without msaa and the second is with. |
265 bool fConfigRenderSupport[kGrPixelConfigCnt][2]; | 270 bool fConfigRenderSupport[kGrPixelConfigCnt][2]; |
266 bool fConfigTextureSupport[kGrPixelConfigCnt]; | 271 bool fConfigTextureSupport[kGrPixelConfigCnt]; |
267 | 272 |
268 private: | 273 private: |
269 bool fSupressPrints : 1; | 274 bool fSupressPrints : 1; |
270 bool fDrawPathMasksToCompressedTextureSupport : 1; | 275 bool fDrawPathMasksToCompressedTextureSupport : 1; |
271 | 276 |
272 typedef SkRefCnt INHERITED; | 277 typedef SkRefCnt INHERITED; |
273 }; | 278 }; |
274 | 279 |
275 #endif | 280 #endif |
OLD | NEW |