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 | |
313 /// Use indices or vertices in CPU arrays rather than VBOs for dynamic conte
nt. | 310 /// Use indices or vertices in CPU arrays rather than VBOs for dynamic conte
nt. |
314 bool useNonVBOVertexAndIndexDynamicData() const { return fUseNonVBOVertexAnd
IndexDynamicData; } | 311 bool useNonVBOVertexAndIndexDynamicData() const { return fUseNonVBOVertexAnd
IndexDynamicData; } |
315 | 312 |
316 /// Does ReadPixels support reading readConfig pixels from a FBO that is ren
derTargetConfig? | 313 /// Does ReadPixels support reading readConfig pixels from a FBO that is ren
derTargetConfig? |
317 bool readPixelsSupported(GrPixelConfig renderTargetConfig, | 314 bool readPixelsSupported(GrPixelConfig renderTargetConfig, |
318 GrPixelConfig readConfig, | 315 GrPixelConfig readConfig, |
319 std::function<void (GrGLenum, GrGLint*)> getInteger
v, | 316 std::function<void (GrGLenum, GrGLint*)> getInteger
v, |
320 std::function<bool ()> bindRenderTarget) const; | 317 std::function<bool ()> bindRenderTarget) const; |
321 | 318 |
322 bool isCoreProfile() const { return fIsCoreProfile; } | 319 bool isCoreProfile() const { return fIsCoreProfile; } |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 bool fTextureUsageSupport : 1; | 391 bool fTextureUsageSupport : 1; |
395 bool fTextureRedSupport : 1; | 392 bool fTextureRedSupport : 1; |
396 bool fImagingSupport : 1; | 393 bool fImagingSupport : 1; |
397 bool fVertexArrayObjectSupport : 1; | 394 bool fVertexArrayObjectSupport : 1; |
398 bool fDirectStateAccessSupport : 1; | 395 bool fDirectStateAccessSupport : 1; |
399 bool fDebugSupport : 1; | 396 bool fDebugSupport : 1; |
400 bool fES2CompatibilitySupport : 1; | 397 bool fES2CompatibilitySupport : 1; |
401 bool fDrawIndirectSupport : 1; | 398 bool fDrawIndirectSupport : 1; |
402 bool fMultiDrawIndirectSupport : 1; | 399 bool fMultiDrawIndirectSupport : 1; |
403 bool fBaseInstanceSupport : 1; | 400 bool fBaseInstanceSupport : 1; |
404 bool fCanDrawIndirectToFloat : 1; | |
405 bool fUseNonVBOVertexAndIndexDynamicData : 1; | 401 bool fUseNonVBOVertexAndIndexDynamicData : 1; |
406 bool fIsCoreProfile : 1; | 402 bool fIsCoreProfile : 1; |
407 bool fBindFragDataLocationSupport : 1; | 403 bool fBindFragDataLocationSupport : 1; |
408 bool fRGBA8888PixelsOpsAreSlow : 1; | 404 bool fRGBA8888PixelsOpsAreSlow : 1; |
409 bool fPartialFBOReadIsSlow : 1; | 405 bool fPartialFBOReadIsSlow : 1; |
410 bool fBindUniformLocationSupport : 1; | 406 bool fBindUniformLocationSupport : 1; |
411 bool fRectangleTextureSupport : 1; | 407 bool fRectangleTextureSupport : 1; |
412 bool fTextureSwizzleSupport : 1; | 408 bool fTextureSwizzleSupport : 1; |
413 bool fMipMapLevelAndLodControlSupport : 1; | 409 bool fMipMapLevelAndLodControlSupport : 1; |
414 bool fRGBAToBGRAReadbackConversionsAreSlow : 1; | 410 bool fRGBAToBGRAReadbackConversionsAreSlow : 1; |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 | 481 |
486 GrSwizzle fSwizzle; | 482 GrSwizzle fSwizzle; |
487 }; | 483 }; |
488 | 484 |
489 ConfigInfo fConfigTable[kGrPixelConfigCnt]; | 485 ConfigInfo fConfigTable[kGrPixelConfigCnt]; |
490 | 486 |
491 typedef GrCaps INHERITED; | 487 typedef GrCaps INHERITED; |
492 }; | 488 }; |
493 | 489 |
494 #endif | 490 #endif |
OLD | NEW |