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

Side by Side Diff: include/gpu/gl/GrGLInterface.h

Issue 149533002: Cleanup GrGLInterface after Chromium changes (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: rebasE Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « include/gpu/gl/GrGLFunctions.h ('k') | src/gpu/gl/GrGLCreateNullInterface.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 2011 Google Inc. 2 * Copyright 2011 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 #ifndef GrGLInterface_DEFINED 8 #ifndef GrGLInterface_DEFINED
9 #define GrGLInterface_DEFINED 9 #define GrGLInterface_DEFINED
10 10
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 bool validate() const; 131 bool validate() const;
132 132
133 // Indicates the type of GL implementation 133 // Indicates the type of GL implementation
134 union { 134 union {
135 GrGLStandard fStandard; 135 GrGLStandard fStandard;
136 GrGLStandard fBindingsExported; // Legacy name, will be remove when Chro mium is updated. 136 GrGLStandard fBindingsExported; // Legacy name, will be remove when Chro mium is updated.
137 }; 137 };
138 138
139 GrGLExtensions fExtensions; 139 GrGLExtensions fExtensions;
140 140
141 // This wrapper and const hackery is necessary because the factories in Chro mium do not yet 141 bool hasExtension(const char ext[]) const { return fExtensions.has(ext); }
142 // initialize fExtensions.
143 bool hasExtension(const char ext[]) const {
144 if (!fExtensions.isInitialized()) {
145 GrGLExtensions* extensions = const_cast<GrGLExtensions*>(&fExtension s);
146 if (!extensions->init(fStandard, fFunctions.fGetString,
147 fFunctions.fGetStringi, fFunctions.fGetInteger v)) {
148 return false;
149 }
150 }
151 return fExtensions.has(ext);
152 }
153 142
154 /** 143 /**
155 * The function pointers are in a struct so that we can have a compiler gene rated assignment 144 * The function pointers are in a struct so that we can have a compiler gene rated assignment
156 * operator. 145 * operator.
157 */ 146 */
158 struct Functions { 147 struct Functions {
159 GLPtr<GrGLActiveTextureProc> fActiveTexture; 148 GLPtr<GrGLActiveTextureProc> fActiveTexture;
160 GLPtr<GrGLAttachShaderProc> fAttachShader; 149 GLPtr<GrGLAttachShaderProc> fAttachShader;
161 GLPtr<GrGLBeginQueryProc> fBeginQuery; 150 GLPtr<GrGLBeginQueryProc> fBeginQuery;
162 GLPtr<GrGLBindAttribLocationProc> fBindAttribLocation; 151 GLPtr<GrGLBindAttribLocationProc> fBindAttribLocation;
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 GLPtr<GrGLGetPathColorGenivProc> fGetPathColorGeniv; 351 GLPtr<GrGLGetPathColorGenivProc> fGetPathColorGeniv;
363 GLPtr<GrGLGetPathColorGenfvProc> fGetPathColorGenfv; 352 GLPtr<GrGLGetPathColorGenfvProc> fGetPathColorGenfv;
364 GLPtr<GrGLGetPathTexGenivProc> fGetPathTexGeniv; 353 GLPtr<GrGLGetPathTexGenivProc> fGetPathTexGeniv;
365 GLPtr<GrGLGetPathTexGenfvProc> fGetPathTexGenfv; 354 GLPtr<GrGLGetPathTexGenfvProc> fGetPathTexGenfv;
366 GLPtr<GrGLIsPointInFillPathProc> fIsPointInFillPath; 355 GLPtr<GrGLIsPointInFillPathProc> fIsPointInFillPath;
367 GLPtr<GrGLIsPointInStrokePathProc> fIsPointInStrokePath; 356 GLPtr<GrGLIsPointInStrokePathProc> fIsPointInStrokePath;
368 GLPtr<GrGLGetPathLengthProc> fGetPathLength; 357 GLPtr<GrGLGetPathLengthProc> fGetPathLength;
369 GLPtr<GrGLPointAlongPathProc> fPointAlongPath; 358 GLPtr<GrGLPointAlongPathProc> fPointAlongPath;
370 } fFunctions; 359 } fFunctions;
371 360
372 // Temporary workaround aliases to keep Chromium GrGLInterface factories com piling until they
373 // assign the members of fFunctions.
374 GLPtrAlias<GrGLActiveTextureProc> fActiveTexture;
375 GLPtrAlias<GrGLAttachShaderProc> fAttachShader;
376 GLPtrAlias<GrGLBeginQueryProc> fBeginQuery;
377 GLPtrAlias<GrGLBindAttribLocationProc> fBindAttribLocation;
378 GLPtrAlias<GrGLBindBufferProc> fBindBuffer;
379 GLPtrAlias<GrGLBindFragDataLocationProc> fBindFragDataLocation;
380 GLPtrAlias<GrGLBindFragDataLocationIndexedProc> fBindFragDataLocationIndexed ;
381 GLPtrAlias<GrGLBindFramebufferProc> fBindFramebuffer;
382 GLPtrAlias<GrGLBindRenderbufferProc> fBindRenderbuffer;
383 GLPtrAlias<GrGLBindTextureProc> fBindTexture;
384 GLPtrAlias<GrGLBindVertexArrayProc> fBindVertexArray;
385 GLPtrAlias<GrGLBlendColorProc> fBlendColor;
386 GLPtrAlias<GrGLBlendFuncProc> fBlendFunc;
387 GLPtrAlias<GrGLBlitFramebufferProc> fBlitFramebuffer;
388 GLPtrAlias<GrGLBufferDataProc> fBufferData;
389 GLPtrAlias<GrGLBufferSubDataProc> fBufferSubData;
390 GLPtrAlias<GrGLCheckFramebufferStatusProc> fCheckFramebufferStatus;
391 GLPtrAlias<GrGLClearProc> fClear;
392 GLPtrAlias<GrGLClearColorProc> fClearColor;
393 GLPtrAlias<GrGLClearStencilProc> fClearStencil;
394 GLPtrAlias<GrGLColorMaskProc> fColorMask;
395 GLPtrAlias<GrGLCompileShaderProc> fCompileShader;
396 GLPtrAlias<GrGLCompressedTexImage2DProc> fCompressedTexImage2D;
397 GLPtrAlias<GrGLCopyTexSubImage2DProc> fCopyTexSubImage2D;
398 GLPtrAlias<GrGLCreateProgramProc> fCreateProgram;
399 GLPtrAlias<GrGLCreateShaderProc> fCreateShader;
400 GLPtrAlias<GrGLCullFaceProc> fCullFace;
401 GLPtrAlias<GrGLDeleteBuffersProc> fDeleteBuffers;
402 GLPtrAlias<GrGLDeleteFramebuffersProc> fDeleteFramebuffers;
403 GLPtrAlias<GrGLDeleteProgramProc> fDeleteProgram;
404 GLPtrAlias<GrGLDeleteQueriesProc> fDeleteQueries;
405 GLPtrAlias<GrGLDeleteRenderbuffersProc> fDeleteRenderbuffers;
406 GLPtrAlias<GrGLDeleteShaderProc> fDeleteShader;
407 GLPtrAlias<GrGLDeleteTexturesProc> fDeleteTextures;
408 GLPtrAlias<GrGLDeleteVertexArraysProc> fDeleteVertexArrays;
409 GLPtrAlias<GrGLDepthMaskProc> fDepthMask;
410 GLPtrAlias<GrGLDisableProc> fDisable;
411 GLPtrAlias<GrGLDisableVertexAttribArrayProc> fDisableVertexAttribArray;
412 GLPtrAlias<GrGLDrawArraysProc> fDrawArrays;
413 GLPtrAlias<GrGLDrawBufferProc> fDrawBuffer;
414 GLPtrAlias<GrGLDrawBuffersProc> fDrawBuffers;
415 GLPtrAlias<GrGLDrawElementsProc> fDrawElements;
416 GLPtrAlias<GrGLEnableProc> fEnable;
417 GLPtrAlias<GrGLEnableVertexAttribArrayProc> fEnableVertexAttribArray;
418 GLPtrAlias<GrGLEndQueryProc> fEndQuery;
419 GLPtrAlias<GrGLFinishProc> fFinish;
420 GLPtrAlias<GrGLFlushProc> fFlush;
421 GLPtrAlias<GrGLFramebufferRenderbufferProc> fFramebufferRenderbuffer;
422 GLPtrAlias<GrGLFramebufferTexture2DProc> fFramebufferTexture2D;
423 GLPtrAlias<GrGLFramebufferTexture2DMultisampleProc> fFramebufferTexture2DMul tisample;
424 GLPtrAlias<GrGLFrontFaceProc> fFrontFace;
425 GLPtrAlias<GrGLGenBuffersProc> fGenBuffers;
426 GLPtrAlias<GrGLGenFramebuffersProc> fGenFramebuffers;
427 GLPtrAlias<GrGLGenerateMipmapProc> fGenerateMipmap;
428 GLPtrAlias<GrGLGenQueriesProc> fGenQueries;
429 GLPtrAlias<GrGLGenRenderbuffersProc> fGenRenderbuffers;
430 GLPtrAlias<GrGLGenTexturesProc> fGenTextures;
431 GLPtrAlias<GrGLGenVertexArraysProc> fGenVertexArrays;
432 GLPtrAlias<GrGLGetBufferParameterivProc> fGetBufferParameteriv;
433 GLPtrAlias<GrGLGetErrorProc> fGetError;
434 GLPtrAlias<GrGLGetFramebufferAttachmentParameterivProc> fGetFramebufferAttac hmentParameteriv;
435 GLPtrAlias<GrGLGetIntegervProc> fGetIntegerv;
436 GLPtrAlias<GrGLGetQueryObjecti64vProc> fGetQueryObjecti64v;
437 GLPtrAlias<GrGLGetQueryObjectivProc> fGetQueryObjectiv;
438 GLPtrAlias<GrGLGetQueryObjectui64vProc> fGetQueryObjectui64v;
439 GLPtrAlias<GrGLGetQueryObjectuivProc> fGetQueryObjectuiv;
440 GLPtrAlias<GrGLGetQueryivProc> fGetQueryiv;
441 GLPtrAlias<GrGLGetProgramInfoLogProc> fGetProgramInfoLog;
442 GLPtrAlias<GrGLGetProgramivProc> fGetProgramiv;
443 GLPtrAlias<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv;
444 GLPtrAlias<GrGLGetShaderInfoLogProc> fGetShaderInfoLog;
445 GLPtrAlias<GrGLGetShaderivProc> fGetShaderiv;
446 GLPtrAlias<GrGLGetStringProc> fGetString;
447 GLPtrAlias<GrGLGetStringiProc> fGetStringi;
448 GLPtrAlias<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv;
449 GLPtrAlias<GrGLGetUniformLocationProc> fGetUniformLocation;
450 GLPtrAlias<GrGLInsertEventMarkerProc> fInsertEventMarker;
451 GLPtrAlias<GrGLLineWidthProc> fLineWidth;
452 GLPtrAlias<GrGLLinkProgramProc> fLinkProgram;
453 GLPtrAlias<GrGLLoadIdentityProc> fLoadIdentity;
454 GLPtrAlias<GrGLLoadMatrixfProc> fLoadMatrixf;
455 GLPtrAlias<GrGLMapBufferProc> fMapBuffer;
456 GLPtrAlias<GrGLMatrixModeProc> fMatrixMode;
457 GLPtrAlias<GrGLPixelStoreiProc> fPixelStorei;
458 GLPtrAlias<GrGLPopGroupMarkerProc> fPopGroupMarker;
459 GLPtrAlias<GrGLPushGroupMarkerProc> fPushGroupMarker;
460 GLPtrAlias<GrGLQueryCounterProc> fQueryCounter;
461 GLPtrAlias<GrGLReadBufferProc> fReadBuffer;
462 GLPtrAlias<GrGLReadPixelsProc> fReadPixels;
463 GLPtrAlias<GrGLRenderbufferStorageProc> fRenderbufferStorage;
464 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sampleES2EXT;
465 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sampleES2APPLE;
466 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sample;
467 GLPtrAlias<GrGLBindUniformLocation> fBindUniformLocation;
468 GLPtrAlias<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebu ffer;
469 GLPtrAlias<GrGLScissorProc> fScissor;
470 GLPtrAlias<GrGLShaderSourceProc> fShaderSource;
471 GLPtrAlias<GrGLStencilFuncProc> fStencilFunc;
472 GLPtrAlias<GrGLStencilFuncSeparateProc> fStencilFuncSeparate;
473 GLPtrAlias<GrGLStencilMaskProc> fStencilMask;
474 GLPtrAlias<GrGLStencilMaskSeparateProc> fStencilMaskSeparate;
475 GLPtrAlias<GrGLStencilOpProc> fStencilOp;
476 GLPtrAlias<GrGLStencilOpSeparateProc> fStencilOpSeparate;
477 GLPtrAlias<GrGLTexGenfvProc> fTexGenfv;
478 GLPtrAlias<GrGLTexGeniProc> fTexGeni;
479 GLPtrAlias<GrGLTexImage2DProc> fTexImage2D;
480 GLPtrAlias<GrGLTexParameteriProc> fTexParameteri;
481 GLPtrAlias<GrGLTexParameterivProc> fTexParameteriv;
482 GLPtrAlias<GrGLTexSubImage2DProc> fTexSubImage2D;
483 GLPtrAlias<GrGLTexStorage2DProc> fTexStorage2D;
484 GLPtrAlias<GrGLDiscardFramebufferProc> fDiscardFramebuffer;
485 GLPtrAlias<GrGLUniform1fProc> fUniform1f;
486 GLPtrAlias<GrGLUniform1iProc> fUniform1i;
487 GLPtrAlias<GrGLUniform1fvProc> fUniform1fv;
488 GLPtrAlias<GrGLUniform1ivProc> fUniform1iv;
489 GLPtrAlias<GrGLUniform2fProc> fUniform2f;
490 GLPtrAlias<GrGLUniform2iProc> fUniform2i;
491 GLPtrAlias<GrGLUniform2fvProc> fUniform2fv;
492 GLPtrAlias<GrGLUniform2ivProc> fUniform2iv;
493 GLPtrAlias<GrGLUniform3fProc> fUniform3f;
494 GLPtrAlias<GrGLUniform3iProc> fUniform3i;
495 GLPtrAlias<GrGLUniform3fvProc> fUniform3fv;
496 GLPtrAlias<GrGLUniform3ivProc> fUniform3iv;
497 GLPtrAlias<GrGLUniform4fProc> fUniform4f;
498 GLPtrAlias<GrGLUniform4iProc> fUniform4i;
499 GLPtrAlias<GrGLUniform4fvProc> fUniform4fv;
500 GLPtrAlias<GrGLUniform4ivProc> fUniform4iv;
501 GLPtrAlias<GrGLUniformMatrix2fvProc> fUniformMatrix2fv;
502 GLPtrAlias<GrGLUniformMatrix3fvProc> fUniformMatrix3fv;
503 GLPtrAlias<GrGLUniformMatrix4fvProc> fUniformMatrix4fv;
504 GLPtrAlias<GrGLUnmapBufferProc> fUnmapBuffer;
505 GLPtrAlias<GrGLUseProgramProc> fUseProgram;
506 GLPtrAlias<GrGLVertexAttrib4fvProc> fVertexAttrib4fv;
507 GLPtrAlias<GrGLVertexAttribPointerProc> fVertexAttribPointer;
508 GLPtrAlias<GrGLViewportProc> fViewport;
509 GLPtrAlias<GrGLPathCommandsProc> fPathCommands;
510 GLPtrAlias<GrGLPathCoordsProc> fPathCoords;
511 GLPtrAlias<GrGLPathSubCommandsProc> fPathSubCommands;
512 GLPtrAlias<GrGLPathSubCoordsProc> fPathSubCoords;
513 GLPtrAlias<GrGLPathStringProc> fPathString;
514 GLPtrAlias<GrGLPathGlyphsProc> fPathGlyphs;
515 GLPtrAlias<GrGLPathGlyphRangeProc> fPathGlyphRange;
516 GLPtrAlias<GrGLWeightPathsProc> fWeightPaths;
517 GLPtrAlias<GrGLCopyPathProc> fCopyPath;
518 GLPtrAlias<GrGLInterpolatePathsProc> fInterpolatePaths;
519 GLPtrAlias<GrGLTransformPathProc> fTransformPath;
520 GLPtrAlias<GrGLPathParameterivProc> fPathParameteriv;
521 GLPtrAlias<GrGLPathParameteriProc> fPathParameteri;
522 GLPtrAlias<GrGLPathParameterfvProc> fPathParameterfv;
523 GLPtrAlias<GrGLPathParameterfProc> fPathParameterf;
524 GLPtrAlias<GrGLPathDashArrayProc> fPathDashArray;
525 GLPtrAlias<GrGLGenPathsProc> fGenPaths;
526 GLPtrAlias<GrGLDeletePathsProc> fDeletePaths;
527 GLPtrAlias<GrGLIsPathProc> fIsPath;
528 GLPtrAlias<GrGLPathStencilFuncProc> fPathStencilFunc;
529 GLPtrAlias<GrGLPathStencilDepthOffsetProc> fPathStencilDepthOffset;
530 GLPtrAlias<GrGLStencilFillPathProc> fStencilFillPath;
531 GLPtrAlias<GrGLStencilStrokePathProc> fStencilStrokePath;
532 GLPtrAlias<GrGLStencilFillPathInstancedProc> fStencilFillPathInstanced;
533 GLPtrAlias<GrGLStencilStrokePathInstancedProc> fStencilStrokePathInstanced;
534 GLPtrAlias<GrGLPathCoverDepthFuncProc> fPathCoverDepthFunc;
535 GLPtrAlias<GrGLPathColorGenProc> fPathColorGen;
536 GLPtrAlias<GrGLPathTexGenProc> fPathTexGen;
537 GLPtrAlias<GrGLPathFogGenProc> fPathFogGen;
538 GLPtrAlias<GrGLCoverFillPathProc> fCoverFillPath;
539 GLPtrAlias<GrGLCoverStrokePathProc> fCoverStrokePath;
540 GLPtrAlias<GrGLCoverFillPathInstancedProc> fCoverFillPathInstanced;
541 GLPtrAlias<GrGLCoverStrokePathInstancedProc> fCoverStrokePathInstanced;
542 GLPtrAlias<GrGLGetPathParameterivProc> fGetPathParameteriv;
543 GLPtrAlias<GrGLGetPathParameterfvProc> fGetPathParameterfv;
544 GLPtrAlias<GrGLGetPathCommandsProc> fGetPathCommands;
545 GLPtrAlias<GrGLGetPathCoordsProc> fGetPathCoords;
546 GLPtrAlias<GrGLGetPathDashArrayProc> fGetPathDashArray;
547 GLPtrAlias<GrGLGetPathMetricsProc> fGetPathMetrics;
548 GLPtrAlias<GrGLGetPathMetricRangeProc> fGetPathMetricRange;
549 GLPtrAlias<GrGLGetPathSpacingProc> fGetPathSpacing;
550 GLPtrAlias<GrGLGetPathColorGenivProc> fGetPathColorGeniv;
551 GLPtrAlias<GrGLGetPathColorGenfvProc> fGetPathColorGenfv;
552 GLPtrAlias<GrGLGetPathTexGenivProc> fGetPathTexGeniv;
553 GLPtrAlias<GrGLGetPathTexGenfvProc> fGetPathTexGenfv;
554 GLPtrAlias<GrGLIsPointInFillPathProc> fIsPointInFillPath;
555 GLPtrAlias<GrGLIsPointInStrokePathProc> fIsPointInStrokePath;
556 GLPtrAlias<GrGLGetPathLengthProc> fGetPathLength;
557 GLPtrAlias<GrGLPointAlongPathProc> fPointAlongPath;
558
559 // Per-GL func callback 361 // Per-GL func callback
560 #if GR_GL_PER_GL_FUNC_CALLBACK 362 #if GR_GL_PER_GL_FUNC_CALLBACK
561 GrGLInterfaceCallbackProc fCallback; 363 GrGLInterfaceCallbackProc fCallback;
562 GrGLInterfaceCallbackData fCallbackData; 364 GrGLInterfaceCallbackData fCallbackData;
563 #endif 365 #endif
564
565 }; 366 };
566 367
567 #endif 368 #endif
OLDNEW
« no previous file with comments | « include/gpu/gl/GrGLFunctions.h ('k') | src/gpu/gl/GrGLCreateNullInterface.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698