Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: src/gpu/gl/GrGLCaps.h

Issue 1185573003: Import new functionality for GL4 backend (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fix KHR_debug suffixes Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/gpu/gl/GrGLAssembleInterface.cpp ('k') | src/gpu/gl/GrGLCaps.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 217
218 /// Is GL_ARB_IMAGING supported 218 /// Is GL_ARB_IMAGING supported
219 bool imagingSupport() const { return fImagingSupport; } 219 bool imagingSupport() const { return fImagingSupport; }
220 220
221 /// Is GL_ARB_fragment_coord_conventions supported? 221 /// Is GL_ARB_fragment_coord_conventions supported?
222 bool fragCoordConventionsSupport() const { return fFragCoordsConventionSuppo rt; } 222 bool fragCoordConventionsSupport() const { return fFragCoordsConventionSuppo rt; }
223 223
224 /// Is there support for Vertex Array Objects? 224 /// Is there support for Vertex Array Objects?
225 bool vertexArrayObjectSupport() const { return fVertexArrayObjectSupport; } 225 bool vertexArrayObjectSupport() const { return fVertexArrayObjectSupport; }
226 226
227 /// Is there support for glDraw*Instanced and glVertexAttribDivisor?
228 bool instancedDrawingSupport() const { return fInstancedDrawingSupport; }
229
230 /// Is there support for GL_EXT_direct_state_access?
231 bool directStateAccessSupport() const { return fDirectStateAccessSupport; }
232
233 /// Is there support for GL_KHR_debug?
234 bool debugSupport() const { return fDebugSupport; }
235
227 /// Is there support for ES2 compatability? 236 /// Is there support for ES2 compatability?
228 bool ES2CompatibilitySupport() const { return fES2CompatibilitySupport; } 237 bool ES2CompatibilitySupport() const { return fES2CompatibilitySupport; }
229 238
230 /// Can we call glDisable(GL_MULTISAMPLE)? 239 /// Can we call glDisable(GL_MULTISAMPLE)?
231 bool multisampleDisableSupport() const { 240 bool multisampleDisableSupport() const {
232 return fMultisampleDisableSupport; 241 return fMultisampleDisableSupport;
233 } 242 }
234 243
235 /// Use indices or vertices in CPU arrays rather than VBOs for dynamic conte nt. 244 /// Use indices or vertices in CPU arrays rather than VBOs for dynamic conte nt.
236 bool useNonVBOVertexAndIndexDynamicData() const { 245 bool useNonVBOVertexAndIndexDynamicData() const {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 bool fUnpackFlipYSupport : 1; 352 bool fUnpackFlipYSupport : 1;
344 bool fPackRowLengthSupport : 1; 353 bool fPackRowLengthSupport : 1;
345 bool fPackFlipYSupport : 1; 354 bool fPackFlipYSupport : 1;
346 bool fTextureUsageSupport : 1; 355 bool fTextureUsageSupport : 1;
347 bool fTexStorageSupport : 1; 356 bool fTexStorageSupport : 1;
348 bool fTextureRedSupport : 1; 357 bool fTextureRedSupport : 1;
349 bool fImagingSupport : 1; 358 bool fImagingSupport : 1;
350 bool fTwoFormatLimit : 1; 359 bool fTwoFormatLimit : 1;
351 bool fFragCoordsConventionSupport : 1; 360 bool fFragCoordsConventionSupport : 1;
352 bool fVertexArrayObjectSupport : 1; 361 bool fVertexArrayObjectSupport : 1;
362 bool fInstancedDrawingSupport : 1;
363 bool fDirectStateAccessSupport : 1;
364 bool fDebugSupport : 1;
353 bool fES2CompatibilitySupport : 1; 365 bool fES2CompatibilitySupport : 1;
354 bool fMultisampleDisableSupport : 1; 366 bool fMultisampleDisableSupport : 1;
355 bool fUseNonVBOVertexAndIndexDynamicData : 1; 367 bool fUseNonVBOVertexAndIndexDynamicData : 1;
356 bool fIsCoreProfile : 1; 368 bool fIsCoreProfile : 1;
357 bool fFullClearIsFree : 1; 369 bool fFullClearIsFree : 1;
358 370
359 struct ReadPixelsSupportedFormat { 371 struct ReadPixelsSupportedFormat {
360 GrGLenum fFormat; 372 GrGLenum fFormat;
361 GrGLenum fType; 373 GrGLenum fType;
362 GrGLenum fFboFormat; 374 GrGLenum fFboFormat;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 410
399 /** 411 /**
400 * Some helper functions for encapsulating various extensions to read FB Buf fer on openglES 412 * Some helper functions for encapsulating various extensions to read FB Buf fer on openglES
401 * 413 *
402 * TODO(joshualitt) On desktop opengl 4.2+ we can achieve something similar to this effect 414 * TODO(joshualitt) On desktop opengl 4.2+ we can achieve something similar to this effect
403 */ 415 */
404 bool fbFetchSupport() const { return fFBFetchSupport; } 416 bool fbFetchSupport() const { return fFBFetchSupport; }
405 417
406 bool fbFetchNeedsCustomOutput() const { return fFBFetchNeedsCustomOutput; } 418 bool fbFetchNeedsCustomOutput() const { return fFBFetchNeedsCustomOutput; }
407 419
420 bool bindlessTextureSupport() const { return fBindlessTextureSupport; }
421
408 const char* fbFetchColorName() const { return fFBFetchColorName; } 422 const char* fbFetchColorName() const { return fFBFetchColorName; }
409 423
410 const char* fbFetchExtensionString() const { return fFBFetchExtensionString; } 424 const char* fbFetchExtensionString() const { return fFBFetchExtensionString; }
411 425
412 bool dropsTileOnZeroDivide() const { return fDropsTileOnZeroDivide; } 426 bool dropsTileOnZeroDivide() const { return fDropsTileOnZeroDivide; }
413 427
414 AdvBlendEqInteraction advBlendEqInteraction() const { return fAdvBlendEqInte raction; } 428 AdvBlendEqInteraction advBlendEqInteraction() const { return fAdvBlendEqInte raction; }
415 429
416 bool mustEnableAdvBlendEqs() const { 430 bool mustEnableAdvBlendEqs() const {
417 return fAdvBlendEqInteraction >= kGeneralEnable_AdvBlendEqInteraction; 431 return fAdvBlendEqInteraction >= kGeneralEnable_AdvBlendEqInteraction;
(...skipping 16 matching lines...) Expand all
434 448
435 private: 449 private:
436 // Must be called after fGeometryShaderSupport is initialized. 450 // Must be called after fGeometryShaderSupport is initialized.
437 void initShaderPrecisionTable(const GrGLContextInfo&, const GrGLInterface*); 451 void initShaderPrecisionTable(const GrGLContextInfo&, const GrGLInterface*);
438 452
439 GrGLSLGeneration fGLSLGeneration; 453 GrGLSLGeneration fGLSLGeneration;
440 454
441 bool fDropsTileOnZeroDivide : 1; 455 bool fDropsTileOnZeroDivide : 1;
442 bool fFBFetchSupport : 1; 456 bool fFBFetchSupport : 1;
443 bool fFBFetchNeedsCustomOutput : 1; 457 bool fFBFetchNeedsCustomOutput : 1;
458 bool fBindlessTextureSupport : 1;
444 459
445 const char* fFBFetchColorName; 460 const char* fFBFetchColorName;
446 const char* fFBFetchExtensionString; 461 const char* fFBFetchExtensionString;
447 462
448 AdvBlendEqInteraction fAdvBlendEqInteraction; 463 AdvBlendEqInteraction fAdvBlendEqInteraction;
449 464
450 friend class GrGLCaps; // For initialization. 465 friend class GrGLCaps; // For initialization.
451 466
452 typedef GrShaderCaps INHERITED; 467 typedef GrShaderCaps INHERITED;
453 }; 468 };
454 469
455 470
456 #endif 471 #endif
OLDNEW
« no previous file with comments | « src/gpu/gl/GrGLAssembleInterface.cpp ('k') | src/gpu/gl/GrGLCaps.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698