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 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 /// commands cannot be used unless we have base instance support. | 300 /// commands cannot be used unless we have base instance support. |
301 bool drawIndirectSupport() const { return fDrawIndirectSupport; } | 301 bool drawIndirectSupport() const { return fDrawIndirectSupport; } |
302 | 302 |
303 /// Is there support for glMultiDraw*Indirect? Note that the baseInstance fi
elds of indirect | 303 /// Is there support for glMultiDraw*Indirect? Note that the baseInstance fi
elds of indirect |
304 /// draw commands cannot be used unless we have base instance support. | 304 /// draw commands cannot be used unless we have base instance support. |
305 bool multiDrawIndirectSupport() const { return fMultiDrawIndirectSupport; } | 305 bool multiDrawIndirectSupport() const { return fMultiDrawIndirectSupport; } |
306 | 306 |
307 /// Are the baseInstance fields supported in indirect draw commands? | 307 /// Are the baseInstance fields supported in indirect draw commands? |
308 bool baseInstanceSupport() const { return fBaseInstanceSupport; } | 308 bool baseInstanceSupport() const { return fBaseInstanceSupport; } |
309 | 309 |
| 310 /// Does the platform have known issuses rendering to floating point when us
ing glDraw*Indirect? |
| 311 bool canDrawIndirectToFloat() const { return fCanDrawIndirectToFloat; } |
| 312 |
310 /// Use indices or vertices in CPU arrays rather than VBOs for dynamic conte
nt. | 313 /// Use indices or vertices in CPU arrays rather than VBOs for dynamic conte
nt. |
311 bool useNonVBOVertexAndIndexDynamicData() const { return fUseNonVBOVertexAnd
IndexDynamicData; } | 314 bool useNonVBOVertexAndIndexDynamicData() const { return fUseNonVBOVertexAnd
IndexDynamicData; } |
312 | 315 |
313 /// Does ReadPixels support reading readConfig pixels from a FBO that is ren
derTargetConfig? | 316 /// Does ReadPixels support reading readConfig pixels from a FBO that is ren
derTargetConfig? |
314 bool readPixelsSupported(GrPixelConfig renderTargetConfig, | 317 bool readPixelsSupported(GrPixelConfig renderTargetConfig, |
315 GrPixelConfig readConfig, | 318 GrPixelConfig readConfig, |
316 std::function<void (GrGLenum, GrGLint*)> getInteger
v, | 319 std::function<void (GrGLenum, GrGLint*)> getInteger
v, |
317 std::function<bool ()> bindRenderTarget) const; | 320 std::function<bool ()> bindRenderTarget) const; |
318 | 321 |
319 bool isCoreProfile() const { return fIsCoreProfile; } | 322 bool isCoreProfile() const { return fIsCoreProfile; } |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 bool fTextureUsageSupport : 1; | 394 bool fTextureUsageSupport : 1; |
392 bool fTextureRedSupport : 1; | 395 bool fTextureRedSupport : 1; |
393 bool fImagingSupport : 1; | 396 bool fImagingSupport : 1; |
394 bool fVertexArrayObjectSupport : 1; | 397 bool fVertexArrayObjectSupport : 1; |
395 bool fDirectStateAccessSupport : 1; | 398 bool fDirectStateAccessSupport : 1; |
396 bool fDebugSupport : 1; | 399 bool fDebugSupport : 1; |
397 bool fES2CompatibilitySupport : 1; | 400 bool fES2CompatibilitySupport : 1; |
398 bool fDrawIndirectSupport : 1; | 401 bool fDrawIndirectSupport : 1; |
399 bool fMultiDrawIndirectSupport : 1; | 402 bool fMultiDrawIndirectSupport : 1; |
400 bool fBaseInstanceSupport : 1; | 403 bool fBaseInstanceSupport : 1; |
| 404 bool fCanDrawIndirectToFloat : 1; |
401 bool fUseNonVBOVertexAndIndexDynamicData : 1; | 405 bool fUseNonVBOVertexAndIndexDynamicData : 1; |
402 bool fIsCoreProfile : 1; | 406 bool fIsCoreProfile : 1; |
403 bool fBindFragDataLocationSupport : 1; | 407 bool fBindFragDataLocationSupport : 1; |
404 bool fRGBA8888PixelsOpsAreSlow : 1; | 408 bool fRGBA8888PixelsOpsAreSlow : 1; |
405 bool fPartialFBOReadIsSlow : 1; | 409 bool fPartialFBOReadIsSlow : 1; |
406 bool fBindUniformLocationSupport : 1; | 410 bool fBindUniformLocationSupport : 1; |
407 bool fRectangleTextureSupport : 1; | 411 bool fRectangleTextureSupport : 1; |
408 bool fTextureSwizzleSupport : 1; | 412 bool fTextureSwizzleSupport : 1; |
409 bool fMipMapLevelAndLodControlSupport : 1; | 413 bool fMipMapLevelAndLodControlSupport : 1; |
410 bool fRGBAToBGRAReadbackConversionsAreSlow : 1; | 414 bool fRGBAToBGRAReadbackConversionsAreSlow : 1; |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 | 485 |
482 GrSwizzle fSwizzle; | 486 GrSwizzle fSwizzle; |
483 }; | 487 }; |
484 | 488 |
485 ConfigInfo fConfigTable[kGrPixelConfigCnt]; | 489 ConfigInfo fConfigTable[kGrPixelConfigCnt]; |
486 | 490 |
487 typedef GrCaps INHERITED; | 491 typedef GrCaps INHERITED; |
488 }; | 492 }; |
489 | 493 |
490 #endif | 494 #endif |
OLD | NEW |