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

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

Issue 174123003: Add hooks for GL_EXT_debug_marker in gpu (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 10 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 | « include/gpu/gl/GrGLFunctions.h ('k') | src/gpu/GrDrawTarget.h » ('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 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 69
70 #if GR_GL_PER_GL_FUNC_CALLBACK 70 #if GR_GL_PER_GL_FUNC_CALLBACK
71 typedef void (*GrGLInterfaceCallbackProc)(const GrGLInterface*); 71 typedef void (*GrGLInterfaceCallbackProc)(const GrGLInterface*);
72 typedef intptr_t GrGLInterfaceCallbackData; 72 typedef intptr_t GrGLInterfaceCallbackData;
73 #endif 73 #endif
74 74
75 /** Function that returns a new interface identical to "interface" but without s upport for 75 /** Function that returns a new interface identical to "interface" but without s upport for
76 GL_NV_path_rendering. */ 76 GL_NV_path_rendering. */
77 const GrGLInterface* GrGLInterfaceRemoveNVPR(const GrGLInterface*); 77 const GrGLInterface* GrGLInterfaceRemoveNVPR(const GrGLInterface*);
78 78
79 /** Function that returns a new interface identical to "interface" but with supp ort for
80 test version of GL_EXT_debug_marker. */
81 const GrGLInterface* GrGLInterfaceAddTestDebugMarker(const GrGLInterface*,
82 GrGLInsertEventMarkerProc i nsertEventMarkerFn,
83 GrGLPushGroupMarkerProc pus hGroupMarkerFn,
84 GrGLPopGroupMarkerProc popG roupMarkerFn);
85
79 /** 86 /**
80 * GrContext uses the following interface to make all calls into OpenGL. When a 87 * GrContext uses the following interface to make all calls into OpenGL. When a
81 * GrContext is created it is given a GrGLInterface. The interface's function 88 * GrContext is created it is given a GrGLInterface. The interface's function
82 * pointers must be valid for the OpenGL context associated with the GrContext. 89 * pointers must be valid for the OpenGL context associated with the GrContext.
83 * On some platforms, such as Windows, function pointers for OpenGL extensions 90 * On some platforms, such as Windows, function pointers for OpenGL extensions
84 * may vary between OpenGL contexts. So the caller must be careful to use a 91 * may vary between OpenGL contexts. So the caller must be careful to use a
85 * GrGLInterface initialized for the correct context. All functions that should 92 * GrGLInterface initialized for the correct context. All functions that should
86 * be available based on the OpenGL's version and extension string must be 93 * be available based on the OpenGL's version and extension string must be
87 * non-NULL or GrContext creation will fail. This can be tested with the 94 * non-NULL or GrContext creation will fail. This can be tested with the
88 * validate() method when the OpenGL context has been made current. 95 * validate() method when the OpenGL context has been made current.
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 GLPtr<GrGLGetQueryivProc> fGetQueryiv; 228 GLPtr<GrGLGetQueryivProc> fGetQueryiv;
222 GLPtr<GrGLGetProgramInfoLogProc> fGetProgramInfoLog; 229 GLPtr<GrGLGetProgramInfoLogProc> fGetProgramInfoLog;
223 GLPtr<GrGLGetProgramivProc> fGetProgramiv; 230 GLPtr<GrGLGetProgramivProc> fGetProgramiv;
224 GLPtr<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv; 231 GLPtr<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv;
225 GLPtr<GrGLGetShaderInfoLogProc> fGetShaderInfoLog; 232 GLPtr<GrGLGetShaderInfoLogProc> fGetShaderInfoLog;
226 GLPtr<GrGLGetShaderivProc> fGetShaderiv; 233 GLPtr<GrGLGetShaderivProc> fGetShaderiv;
227 GLPtr<GrGLGetStringProc> fGetString; 234 GLPtr<GrGLGetStringProc> fGetString;
228 GLPtr<GrGLGetStringiProc> fGetStringi; 235 GLPtr<GrGLGetStringiProc> fGetStringi;
229 GLPtr<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv; 236 GLPtr<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv;
230 GLPtr<GrGLGetUniformLocationProc> fGetUniformLocation; 237 GLPtr<GrGLGetUniformLocationProc> fGetUniformLocation;
238 GLPtr<GrGLInsertEventMarkerProc> fInsertEventMarker;
231 GLPtr<GrGLLineWidthProc> fLineWidth; 239 GLPtr<GrGLLineWidthProc> fLineWidth;
232 GLPtr<GrGLLinkProgramProc> fLinkProgram; 240 GLPtr<GrGLLinkProgramProc> fLinkProgram;
233 GLPtr<GrGLLoadIdentityProc> fLoadIdentity; 241 GLPtr<GrGLLoadIdentityProc> fLoadIdentity;
234 GLPtr<GrGLLoadMatrixfProc> fLoadMatrixf; 242 GLPtr<GrGLLoadMatrixfProc> fLoadMatrixf;
235 GLPtr<GrGLMapBufferProc> fMapBuffer; 243 GLPtr<GrGLMapBufferProc> fMapBuffer;
236 GLPtr<GrGLMatrixModeProc> fMatrixMode; 244 GLPtr<GrGLMatrixModeProc> fMatrixMode;
237 GLPtr<GrGLPixelStoreiProc> fPixelStorei; 245 GLPtr<GrGLPixelStoreiProc> fPixelStorei;
246 GLPtr<GrGLPopGroupMarkerProc> fPopGroupMarker;
247 GLPtr<GrGLPushGroupMarkerProc> fPushGroupMarker;
238 GLPtr<GrGLQueryCounterProc> fQueryCounter; 248 GLPtr<GrGLQueryCounterProc> fQueryCounter;
239 GLPtr<GrGLReadBufferProc> fReadBuffer; 249 GLPtr<GrGLReadBufferProc> fReadBuffer;
240 GLPtr<GrGLReadPixelsProc> fReadPixels; 250 GLPtr<GrGLReadPixelsProc> fReadPixels;
241 GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage; 251 GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage;
242 252
243 // On OpenGL ES there are multiple incompatible extensions that add sup port for MSAA 253 // On OpenGL ES there are multiple incompatible extensions that add sup port for MSAA
244 // and ES3 adds MSAA support to the standard. On an ES3 driver we may s till use the 254 // and ES3 adds MSAA support to the standard. On an ES3 driver we may s till use the
245 // older extensions for performance reasons or due to ES3 driver bugs. We want the function 255 // older extensions for performance reasons or due to ES3 driver bugs. We want the function
246 // that creates the GrGLInterface to provide all available functions an d internally 256 // that creates the GrGLInterface to provide all available functions an d internally
247 // we will select among them. They all have a method called glRenderbuf ferStorageMultisample*. 257 // we will select among them. They all have a method called glRenderbuf ferStorageMultisample*.
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 GLPtrAlias<GrGLGetQueryivProc> fGetQueryiv; 448 GLPtrAlias<GrGLGetQueryivProc> fGetQueryiv;
439 GLPtrAlias<GrGLGetProgramInfoLogProc> fGetProgramInfoLog; 449 GLPtrAlias<GrGLGetProgramInfoLogProc> fGetProgramInfoLog;
440 GLPtrAlias<GrGLGetProgramivProc> fGetProgramiv; 450 GLPtrAlias<GrGLGetProgramivProc> fGetProgramiv;
441 GLPtrAlias<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv; 451 GLPtrAlias<GrGLGetRenderbufferParameterivProc> fGetRenderbufferParameteriv;
442 GLPtrAlias<GrGLGetShaderInfoLogProc> fGetShaderInfoLog; 452 GLPtrAlias<GrGLGetShaderInfoLogProc> fGetShaderInfoLog;
443 GLPtrAlias<GrGLGetShaderivProc> fGetShaderiv; 453 GLPtrAlias<GrGLGetShaderivProc> fGetShaderiv;
444 GLPtrAlias<GrGLGetStringProc> fGetString; 454 GLPtrAlias<GrGLGetStringProc> fGetString;
445 GLPtrAlias<GrGLGetStringiProc> fGetStringi; 455 GLPtrAlias<GrGLGetStringiProc> fGetStringi;
446 GLPtrAlias<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv; 456 GLPtrAlias<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv;
447 GLPtrAlias<GrGLGetUniformLocationProc> fGetUniformLocation; 457 GLPtrAlias<GrGLGetUniformLocationProc> fGetUniformLocation;
458 GLPtrAlias<GrGLInsertEventMarkerProc> fInsertEventMarker;
448 GLPtrAlias<GrGLLineWidthProc> fLineWidth; 459 GLPtrAlias<GrGLLineWidthProc> fLineWidth;
449 GLPtrAlias<GrGLLinkProgramProc> fLinkProgram; 460 GLPtrAlias<GrGLLinkProgramProc> fLinkProgram;
450 GLPtrAlias<GrGLLoadIdentityProc> fLoadIdentity; 461 GLPtrAlias<GrGLLoadIdentityProc> fLoadIdentity;
451 GLPtrAlias<GrGLLoadMatrixfProc> fLoadMatrixf; 462 GLPtrAlias<GrGLLoadMatrixfProc> fLoadMatrixf;
452 GLPtrAlias<GrGLMapBufferProc> fMapBuffer; 463 GLPtrAlias<GrGLMapBufferProc> fMapBuffer;
453 GLPtrAlias<GrGLMatrixModeProc> fMatrixMode; 464 GLPtrAlias<GrGLMatrixModeProc> fMatrixMode;
454 GLPtrAlias<GrGLPixelStoreiProc> fPixelStorei; 465 GLPtrAlias<GrGLPixelStoreiProc> fPixelStorei;
466 GLPtrAlias<GrGLPopGroupMarkerProc> fPopGroupMarker;
467 GLPtrAlias<GrGLPushGroupMarkerProc> fPushGroupMarker;
455 GLPtrAlias<GrGLQueryCounterProc> fQueryCounter; 468 GLPtrAlias<GrGLQueryCounterProc> fQueryCounter;
456 GLPtrAlias<GrGLReadBufferProc> fReadBuffer; 469 GLPtrAlias<GrGLReadBufferProc> fReadBuffer;
457 GLPtrAlias<GrGLReadPixelsProc> fReadPixels; 470 GLPtrAlias<GrGLReadPixelsProc> fReadPixels;
458 GLPtrAlias<GrGLRenderbufferStorageProc> fRenderbufferStorage; 471 GLPtrAlias<GrGLRenderbufferStorageProc> fRenderbufferStorage;
459 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sampleES2EXT; 472 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sampleES2EXT;
460 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sampleES2APPLE; 473 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sampleES2APPLE;
461 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sample; 474 GLPtrAlias<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMulti sample;
462 GLPtrAlias<GrGLBindUniformLocation> fBindUniformLocation; 475 GLPtrAlias<GrGLBindUniformLocation> fBindUniformLocation;
463 GLPtrAlias<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebu ffer; 476 GLPtrAlias<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebu ffer;
464 GLPtrAlias<GrGLScissorProc> fScissor; 477 GLPtrAlias<GrGLScissorProc> fScissor;
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 568
556 // Per-GL func callback 569 // Per-GL func callback
557 #if GR_GL_PER_GL_FUNC_CALLBACK 570 #if GR_GL_PER_GL_FUNC_CALLBACK
558 GrGLInterfaceCallbackProc fCallback; 571 GrGLInterfaceCallbackProc fCallback;
559 GrGLInterfaceCallbackData fCallbackData; 572 GrGLInterfaceCallbackData fCallbackData;
560 #endif 573 #endif
561 574
562 }; 575 };
563 576
564 #endif 577 #endif
OLDNEW
« no previous file with comments | « include/gpu/gl/GrGLFunctions.h ('k') | src/gpu/GrDrawTarget.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698