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 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
276 | 276 |
277 /// Is there support for GL_KHR_debug? | 277 /// Is there support for GL_KHR_debug? |
278 bool debugSupport() const { return fDebugSupport; } | 278 bool debugSupport() const { return fDebugSupport; } |
279 | 279 |
280 /// Is there support for ES2 compatability? | 280 /// Is there support for ES2 compatability? |
281 bool ES2CompatibilitySupport() const { return fES2CompatibilitySupport; } | 281 bool ES2CompatibilitySupport() const { return fES2CompatibilitySupport; } |
282 | 282 |
283 /// Can we call glDisable(GL_MULTISAMPLE)? | 283 /// Can we call glDisable(GL_MULTISAMPLE)? |
284 bool multisampleDisableSupport() const { return fMultisampleDisableSupport;
} | 284 bool multisampleDisableSupport() const { return fMultisampleDisableSupport;
} |
285 | 285 |
| 286 /// Is there support for glDraw*Indirect? Note that the baseInstance fields
of indirect draw |
| 287 /// commands cannot be used unless we have base instance support. |
| 288 bool drawIndirectSupport() const { return fDrawIndirectSupport; } |
| 289 |
| 290 /// Is there support for glMultiDraw*Indirect? Note that the baseInstance fi
elds of indirect |
| 291 /// draw commands cannot be used unless we have base instance support. |
| 292 bool multiDrawIndirectSupport() const { return fMultiDrawIndirectSupport; } |
| 293 |
| 294 /// Are the baseInstance fields supported in indirect draw commands? |
| 295 bool baseInstanceSupport() const { return fBaseInstanceSupport; } |
| 296 |
286 /// Use indices or vertices in CPU arrays rather than VBOs for dynamic conte
nt. | 297 /// Use indices or vertices in CPU arrays rather than VBOs for dynamic conte
nt. |
287 bool useNonVBOVertexAndIndexDynamicData() const { return fUseNonVBOVertexAnd
IndexDynamicData; } | 298 bool useNonVBOVertexAndIndexDynamicData() const { return fUseNonVBOVertexAnd
IndexDynamicData; } |
288 | 299 |
289 /// Does ReadPixels support reading readConfig pixels from a FBO that is ren
derTargetConfig? | 300 /// Does ReadPixels support reading readConfig pixels from a FBO that is ren
derTargetConfig? |
290 bool readPixelsSupported(GrPixelConfig renderTargetConfig, | 301 bool readPixelsSupported(GrPixelConfig renderTargetConfig, |
291 GrPixelConfig readConfig, | 302 GrPixelConfig readConfig, |
292 std::function<void (GrGLenum, GrGLint*)> getInteger
v, | 303 std::function<void (GrGLenum, GrGLint*)> getInteger
v, |
293 std::function<bool ()> bindRenderTarget) const; | 304 std::function<bool ()> bindRenderTarget) const; |
294 | 305 |
295 bool isCoreProfile() const { return fIsCoreProfile; } | 306 bool isCoreProfile() const { return fIsCoreProfile; } |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 bool fPackFlipYSupport : 1; | 382 bool fPackFlipYSupport : 1; |
372 bool fTextureUsageSupport : 1; | 383 bool fTextureUsageSupport : 1; |
373 bool fTexStorageSupport : 1; | 384 bool fTexStorageSupport : 1; |
374 bool fTextureRedSupport : 1; | 385 bool fTextureRedSupport : 1; |
375 bool fImagingSupport : 1; | 386 bool fImagingSupport : 1; |
376 bool fVertexArrayObjectSupport : 1; | 387 bool fVertexArrayObjectSupport : 1; |
377 bool fDirectStateAccessSupport : 1; | 388 bool fDirectStateAccessSupport : 1; |
378 bool fDebugSupport : 1; | 389 bool fDebugSupport : 1; |
379 bool fES2CompatibilitySupport : 1; | 390 bool fES2CompatibilitySupport : 1; |
380 bool fMultisampleDisableSupport : 1; | 391 bool fMultisampleDisableSupport : 1; |
| 392 bool fDrawIndirectSupport : 1; |
| 393 bool fMultiDrawIndirectSupport : 1; |
| 394 bool fBaseInstanceSupport : 1; |
381 bool fUseNonVBOVertexAndIndexDynamicData : 1; | 395 bool fUseNonVBOVertexAndIndexDynamicData : 1; |
382 bool fIsCoreProfile : 1; | 396 bool fIsCoreProfile : 1; |
383 bool fBindFragDataLocationSupport : 1; | 397 bool fBindFragDataLocationSupport : 1; |
384 bool fSRGBWriteControl : 1; | 398 bool fSRGBWriteControl : 1; |
385 bool fRGBA8888PixelsOpsAreSlow : 1; | 399 bool fRGBA8888PixelsOpsAreSlow : 1; |
386 bool fPartialFBOReadIsSlow : 1; | 400 bool fPartialFBOReadIsSlow : 1; |
387 bool fBindUniformLocationSupport : 1; | 401 bool fBindUniformLocationSupport : 1; |
388 bool fExternalTextureSupport : 1; | 402 bool fExternalTextureSupport : 1; |
389 bool fRectangleTextureSupport : 1; | 403 bool fRectangleTextureSupport : 1; |
390 bool fTextureSwizzleSupport : 1; | 404 bool fTextureSwizzleSupport : 1; |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
456 | 470 |
457 GrSwizzle fSwizzle; | 471 GrSwizzle fSwizzle; |
458 }; | 472 }; |
459 | 473 |
460 ConfigInfo fConfigTable[kGrPixelConfigCnt]; | 474 ConfigInfo fConfigTable[kGrPixelConfigCnt]; |
461 | 475 |
462 typedef GrCaps INHERITED; | 476 typedef GrCaps INHERITED; |
463 }; | 477 }; |
464 | 478 |
465 #endif | 479 #endif |
OLD | NEW |