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 GrGLCaps_DEFINED | 9 #ifndef GrGLCaps_DEFINED |
10 #define GrGLCaps_DEFINED | 10 #define GrGLCaps_DEFINED |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 * we found LATC under. The default is LATC. | 274 * we found LATC under. The default is LATC. |
275 */ | 275 */ |
276 enum LATCAlias { | 276 enum LATCAlias { |
277 kLATC_LATCAlias, | 277 kLATC_LATCAlias, |
278 kRGTC_LATCAlias, | 278 kRGTC_LATCAlias, |
279 k3DC_LATCAlias | 279 k3DC_LATCAlias |
280 }; | 280 }; |
281 | 281 |
282 LATCAlias latcAlias() const { return fLATCAlias; } | 282 LATCAlias latcAlias() const { return fLATCAlias; } |
283 | 283 |
| 284 bool rgba8888PixelsOpsAreSlow() const { return fRGBA8888PixelsOpsAreSlow; } |
| 285 bool partialFBOReadIsSlow() const { return fPartialFBOReadIsSlow; } |
| 286 |
284 GrGLSLCaps* glslCaps() const { return reinterpret_cast<GrGLSLCaps*>(fShaderC
aps.get()); } | 287 GrGLSLCaps* glslCaps() const { return reinterpret_cast<GrGLSLCaps*>(fShaderC
aps.get()); } |
285 | 288 |
286 private: | 289 private: |
287 void init(const GrContextOptions&, const GrGLContextInfo&, const GrGLInterfa
ce*); | 290 void init(const GrContextOptions&, const GrGLContextInfo&, const GrGLInterfa
ce*); |
288 bool hasPathRenderingSupport(const GrGLContextInfo&, const GrGLInterface*); | 291 bool hasPathRenderingSupport(const GrGLContextInfo&, const GrGLInterface*); |
289 | 292 |
290 /** | 293 /** |
291 * Maintains a bit per GrPixelConfig. It is used to avoid redundantly | 294 * Maintains a bit per GrPixelConfig. It is used to avoid redundantly |
292 * performing glCheckFrameBufferStatus for the same config. | 295 * performing glCheckFrameBufferStatus for the same config. |
293 */ | 296 */ |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
373 bool fInstancedDrawingSupport : 1; | 376 bool fInstancedDrawingSupport : 1; |
374 bool fDirectStateAccessSupport : 1; | 377 bool fDirectStateAccessSupport : 1; |
375 bool fDebugSupport : 1; | 378 bool fDebugSupport : 1; |
376 bool fES2CompatibilitySupport : 1; | 379 bool fES2CompatibilitySupport : 1; |
377 bool fMultisampleDisableSupport : 1; | 380 bool fMultisampleDisableSupport : 1; |
378 bool fUseNonVBOVertexAndIndexDynamicData : 1; | 381 bool fUseNonVBOVertexAndIndexDynamicData : 1; |
379 bool fIsCoreProfile : 1; | 382 bool fIsCoreProfile : 1; |
380 bool fFullClearIsFree : 1; | 383 bool fFullClearIsFree : 1; |
381 bool fBindFragDataLocationSupport : 1; | 384 bool fBindFragDataLocationSupport : 1; |
382 bool fSRGBWriteControl : 1; | 385 bool fSRGBWriteControl : 1; |
| 386 bool fRGBA8888PixelsOpsAreSlow : 1; |
| 387 bool fPartialFBOReadIsSlow : 1; |
383 | 388 |
384 struct ReadPixelsSupportedFormat { | 389 struct ReadPixelsSupportedFormat { |
385 GrGLenum fFormat; | 390 GrGLenum fFormat; |
386 GrGLenum fType; | 391 GrGLenum fType; |
387 GrGLenum fFboFormat; | 392 GrGLenum fFboFormat; |
388 | 393 |
389 bool operator==(const ReadPixelsSupportedFormat& rhs) const { | 394 bool operator==(const ReadPixelsSupportedFormat& rhs) const { |
390 return fFormat == rhs.fFormat | 395 return fFormat == rhs.fFormat |
391 && fType == rhs.fType | 396 && fType == rhs.fType |
392 && fFboFormat == rhs.fFboFormat; | 397 && fFboFormat == rhs.fFboFormat; |
393 } | 398 } |
394 }; | 399 }; |
395 mutable SkTHashMap<ReadPixelsSupportedFormat, bool> fReadPixelsSupportedCach
e; | 400 mutable SkTHashMap<ReadPixelsSupportedFormat, bool> fReadPixelsSupportedCach
e; |
396 | 401 |
397 typedef GrCaps INHERITED; | 402 typedef GrCaps INHERITED; |
398 }; | 403 }; |
399 | 404 |
400 #endif | 405 #endif |
OLD | NEW |