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

Side by Side Diff: include/gpu/gl/GrGLInterface.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 | « include/gpu/gl/GrGLFunctions.h ('k') | src/gpu/gl/GrGLAssembleInterface.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 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 GLPtr<GrGLInvalidateFramebufferProc> fInvalidateFramebuffer; 233 GLPtr<GrGLInvalidateFramebufferProc> fInvalidateFramebuffer;
234 GLPtr<GrGLInvalidateSubFramebufferProc> fInvalidateSubFramebuffer; 234 GLPtr<GrGLInvalidateSubFramebufferProc> fInvalidateSubFramebuffer;
235 GLPtr<GrGLInvalidateTexImageProc> fInvalidateTexImage; 235 GLPtr<GrGLInvalidateTexImageProc> fInvalidateTexImage;
236 GLPtr<GrGLInvalidateTexSubImageProc> fInvalidateTexSubImage; 236 GLPtr<GrGLInvalidateTexSubImageProc> fInvalidateTexSubImage;
237 GLPtr<GrGLLineWidthProc> fLineWidth; 237 GLPtr<GrGLLineWidthProc> fLineWidth;
238 GLPtr<GrGLLinkProgramProc> fLinkProgram; 238 GLPtr<GrGLLinkProgramProc> fLinkProgram;
239 GLPtr<GrGLMapBufferProc> fMapBuffer; 239 GLPtr<GrGLMapBufferProc> fMapBuffer;
240 GLPtr<GrGLMapBufferRangeProc> fMapBufferRange; 240 GLPtr<GrGLMapBufferRangeProc> fMapBufferRange;
241 GLPtr<GrGLMapBufferSubDataProc> fMapBufferSubData; 241 GLPtr<GrGLMapBufferSubDataProc> fMapBufferSubData;
242 GLPtr<GrGLMapTexSubImage2DProc> fMapTexSubImage2D; 242 GLPtr<GrGLMapTexSubImage2DProc> fMapTexSubImage2D;
243 GLPtr<GrGLMatrixLoadfProc> fMatrixLoadf;
244 GLPtr<GrGLMatrixLoadIdentityProc> fMatrixLoadIdentity;
245 GLPtr<GrGLPixelStoreiProc> fPixelStorei; 243 GLPtr<GrGLPixelStoreiProc> fPixelStorei;
246 GLPtr<GrGLPopGroupMarkerProc> fPopGroupMarker; 244 GLPtr<GrGLPopGroupMarkerProc> fPopGroupMarker;
247 GLPtr<GrGLPushGroupMarkerProc> fPushGroupMarker; 245 GLPtr<GrGLPushGroupMarkerProc> fPushGroupMarker;
248 GLPtr<GrGLQueryCounterProc> fQueryCounter; 246 GLPtr<GrGLQueryCounterProc> fQueryCounter;
249 GLPtr<GrGLRasterSamplesProc> fRasterSamples; 247 GLPtr<GrGLRasterSamplesProc> fRasterSamples;
250 GLPtr<GrGLReadBufferProc> fReadBuffer; 248 GLPtr<GrGLReadBufferProc> fReadBuffer;
251 GLPtr<GrGLReadPixelsProc> fReadPixels; 249 GLPtr<GrGLReadPixelsProc> fReadPixels;
252 GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage; 250 GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage;
253 251
254 // On OpenGL ES there are multiple incompatible extensions that add sup port for MSAA 252 // On OpenGL ES there are multiple incompatible extensions that add sup port for MSAA
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 GLPtr<GrGLUnmapBufferSubDataProc> fUnmapBufferSubData; 314 GLPtr<GrGLUnmapBufferSubDataProc> fUnmapBufferSubData;
317 GLPtr<GrGLUnmapTexSubImage2DProc> fUnmapTexSubImage2D; 315 GLPtr<GrGLUnmapTexSubImage2DProc> fUnmapTexSubImage2D;
318 GLPtr<GrGLUseProgramProc> fUseProgram; 316 GLPtr<GrGLUseProgramProc> fUseProgram;
319 GLPtr<GrGLVertexAttrib1fProc> fVertexAttrib1f; 317 GLPtr<GrGLVertexAttrib1fProc> fVertexAttrib1f;
320 GLPtr<GrGLVertexAttrib2fvProc> fVertexAttrib2fv; 318 GLPtr<GrGLVertexAttrib2fvProc> fVertexAttrib2fv;
321 GLPtr<GrGLVertexAttrib3fvProc> fVertexAttrib3fv; 319 GLPtr<GrGLVertexAttrib3fvProc> fVertexAttrib3fv;
322 GLPtr<GrGLVertexAttrib4fvProc> fVertexAttrib4fv; 320 GLPtr<GrGLVertexAttrib4fvProc> fVertexAttrib4fv;
323 GLPtr<GrGLVertexAttribPointerProc> fVertexAttribPointer; 321 GLPtr<GrGLVertexAttribPointerProc> fVertexAttribPointer;
324 GLPtr<GrGLViewportProc> fViewport; 322 GLPtr<GrGLViewportProc> fViewport;
325 323
326 // Experimental: Functions for GL_NV_path_rendering. These will be 324 /* GL_NV_path_rendering */
327 // alphabetized with the above functions once this is fully supported 325 GLPtr<GrGLMatrixLoadfProc> fMatrixLoadf;
328 // (and functions we are unlikely to use will possibly be omitted). 326 GLPtr<GrGLMatrixLoadIdentityProc> fMatrixLoadIdentity;
329 GLPtr<GrGLGetProgramResourceLocationProc> fGetProgramResourceLocation; 327 GLPtr<GrGLGetProgramResourceLocationProc> fGetProgramResourceLocation;
330 GLPtr<GrGLPathCommandsProc> fPathCommands; 328 GLPtr<GrGLPathCommandsProc> fPathCommands;
331 GLPtr<GrGLPathCoordsProc> fPathCoords; 329 GLPtr<GrGLPathCoordsProc> fPathCoords;
332 GLPtr<GrGLPathParameteriProc> fPathParameteri; 330 GLPtr<GrGLPathParameteriProc> fPathParameteri;
333 GLPtr<GrGLPathParameterfProc> fPathParameterf; 331 GLPtr<GrGLPathParameterfProc> fPathParameterf;
334 GLPtr<GrGLGenPathsProc> fGenPaths; 332 GLPtr<GrGLGenPathsProc> fGenPaths;
335 GLPtr<GrGLDeletePathsProc> fDeletePaths; 333 GLPtr<GrGLDeletePathsProc> fDeletePaths;
336 GLPtr<GrGLIsPathProc> fIsPath; 334 GLPtr<GrGLIsPathProc> fIsPath;
337 GLPtr<GrGLPathStencilFuncProc> fPathStencilFunc; 335 GLPtr<GrGLPathStencilFuncProc> fPathStencilFunc;
338 GLPtr<GrGLStencilFillPathProc> fStencilFillPath; 336 GLPtr<GrGLStencilFillPathProc> fStencilFillPath;
339 GLPtr<GrGLStencilStrokePathProc> fStencilStrokePath; 337 GLPtr<GrGLStencilStrokePathProc> fStencilStrokePath;
340 GLPtr<GrGLStencilFillPathInstancedProc> fStencilFillPathInstanced; 338 GLPtr<GrGLStencilFillPathInstancedProc> fStencilFillPathInstanced;
341 GLPtr<GrGLStencilStrokePathInstancedProc> fStencilStrokePathInstanced; 339 GLPtr<GrGLStencilStrokePathInstancedProc> fStencilStrokePathInstanced;
342 GLPtr<GrGLPathTexGenProc> fPathTexGen; 340 GLPtr<GrGLPathTexGenProc> fPathTexGen;
343 GLPtr<GrGLCoverFillPathProc> fCoverFillPath; 341 GLPtr<GrGLCoverFillPathProc> fCoverFillPath;
344 GLPtr<GrGLCoverStrokePathProc> fCoverStrokePath; 342 GLPtr<GrGLCoverStrokePathProc> fCoverStrokePath;
345 GLPtr<GrGLCoverFillPathInstancedProc> fCoverFillPathInstanced; 343 GLPtr<GrGLCoverFillPathInstancedProc> fCoverFillPathInstanced;
346 GLPtr<GrGLCoverStrokePathInstancedProc> fCoverStrokePathInstanced; 344 GLPtr<GrGLCoverStrokePathInstancedProc> fCoverStrokePathInstanced;
347 // NV_path_rendering v1.2 345 // NV_path_rendering v1.2
348 GLPtr<GrGLStencilThenCoverFillPathProc> fStencilThenCoverFillPath; 346 GLPtr<GrGLStencilThenCoverFillPathProc> fStencilThenCoverFillPath;
349 GLPtr<GrGLStencilThenCoverStrokePathProc> fStencilThenCoverStrokePath; 347 GLPtr<GrGLStencilThenCoverStrokePathProc> fStencilThenCoverStrokePath;
350 GLPtr<GrGLStencilThenCoverFillPathInstancedProc> fStencilThenCoverFillPa thInstanced; 348 GLPtr<GrGLStencilThenCoverFillPathInstancedProc> fStencilThenCoverFillPa thInstanced;
351 GLPtr<GrGLStencilThenCoverStrokePathInstancedProc> fStencilThenCoverStro kePathInstanced; 349 GLPtr<GrGLStencilThenCoverStrokePathInstancedProc> fStencilThenCoverStro kePathInstanced;
352 // NV_path_rendering v1.3 350 // NV_path_rendering v1.3
353 GLPtr<GrGLProgramPathFragmentInputGenProc> fProgramPathFragmentInputGen; 351 GLPtr<GrGLProgramPathFragmentInputGenProc> fProgramPathFragmentInputGen;
354 GLPtr<GrGLPathMemoryGlyphIndexArrayProc> fPathMemoryGlyphIndexArray; 352 GLPtr<GrGLPathMemoryGlyphIndexArrayProc> fPathMemoryGlyphIndexArray;
355 // NV_framebuffer_mixed_samples 353
354 /* NV_framebuffer_mixed_samples */
356 GLPtr<GrGLCoverageModulationProc> fCoverageModulation; 355 GLPtr<GrGLCoverageModulationProc> fCoverageModulation;
356
357 /* ARB_draw_instanced */
358 GLPtr<GrGLDrawArraysInstancedProc> fDrawArraysInstanced;
359 GLPtr<GrGLDrawElementsInstancedProc> fDrawElementsInstanced;
360
361 /* ARB_instanced_arrays */
362 GLPtr<GrGLVertexAttribDivisorProc> fVertexAttribDivisor;
363
364 /* NV_bindless_texture */
365 // We use the NVIDIA verson for now because it does not require dynamica lly uniform handles.
366 // We may switch the the ARB version and/or omit methods in the future.
367 GLPtr<GrGLGetTextureHandleProc> fGetTextureHandle;
368 GLPtr<GrGLGetTextureSamplerHandleProc> fGetTextureSamplerHandle;
369 GLPtr<GrGLMakeTextureHandleResidentProc> fMakeTextureHandleResident;
370 GLPtr<GrGLMakeTextureHandleNonResidentProc> fMakeTextureHandleNonResiden t;
371 GLPtr<GrGLGetImageHandleProc> fGetImageHandle;
372 GLPtr<GrGLMakeImageHandleResidentProc> fMakeImageHandleResident;
373 GLPtr<GrGLMakeImageHandleNonResidentProc> fMakeImageHandleNonResident;
374 GLPtr<GrGLIsTextureHandleResidentProc> fIsTextureHandleResident;
375 GLPtr<GrGLIsImageHandleResidentProc> fIsImageHandleResident;
376 GLPtr<GrGLUniformHandleui64Proc> fUniformHandleui64;
377 GLPtr<GrGLUniformHandleui64vProc> fUniformHandleui64v;
378 GLPtr<GrGLProgramUniformHandleui64Proc> fProgramUniformHandleui64;
379 GLPtr<GrGLProgramUniformHandleui64vProc> fProgramUniformHandleui64v;
380
381 /* EXT_direct_state_access */
382 // We use the EXT verson because it is more expansive and interacts with more extensions
383 // than the ARB or core (4.5) versions. We may switch and/or omit method s in the future.
384 GLPtr<GrGLTextureParameteriProc> fTextureParameteri;
385 GLPtr<GrGLTextureParameterivProc> fTextureParameteriv;
386 GLPtr<GrGLTextureParameterfProc> fTextureParameterf;
387 GLPtr<GrGLTextureParameterfvProc> fTextureParameterfv;
388 GLPtr<GrGLTextureImage1DProc> fTextureImage1D;
389 GLPtr<GrGLTextureImage2DProc> fTextureImage2D;
390 GLPtr<GrGLTextureSubImage1DProc> fTextureSubImage1D;
391 GLPtr<GrGLTextureSubImage2DProc> fTextureSubImage2D;
392 GLPtr<GrGLCopyTextureImage1DProc> fCopyTextureImage1D;
393 GLPtr<GrGLCopyTextureImage2DProc> fCopyTextureImage2D;
394 GLPtr<GrGLCopyTextureSubImage1DProc> fCopyTextureSubImage1D;
395 GLPtr<GrGLCopyTextureSubImage2DProc> fCopyTextureSubImage2D;
396 GLPtr<GrGLGetTextureImageProc> fGetTextureImage;
397 GLPtr<GrGLGetTextureParameterfvProc> fGetTextureParameterfv;
398 GLPtr<GrGLGetTextureParameterivProc> fGetTextureParameteriv;
399 GLPtr<GrGLGetTextureLevelParameterfvProc> fGetTextureLevelParameterfv;
400 GLPtr<GrGLGetTextureLevelParameterivProc> fGetTextureLevelParameteriv;
401 // OpenGL 1.2
402 GLPtr<GrGLTextureImage3DProc> fTextureImage3D;
403 GLPtr<GrGLTextureSubImage3DProc> fTextureSubImage3D;
404 GLPtr<GrGLCopyTextureSubImage3DProc> fCopyTextureSubImage3D;
405 GLPtr<GrGLCompressedTextureImage3DProc> fCompressedTextureImage3D;
406 GLPtr<GrGLCompressedTextureImage2DProc> fCompressedTextureImage2D;
407 GLPtr<GrGLCompressedTextureImage1DProc> fCompressedTextureImage1D;
408 GLPtr<GrGLCompressedTextureSubImage3DProc> fCompressedTextureSubImage3D;
409 GLPtr<GrGLCompressedTextureSubImage2DProc> fCompressedTextureSubImage2D;
410 GLPtr<GrGLCompressedTextureSubImage1DProc> fCompressedTextureSubImage1D;
411 GLPtr<GrGLGetCompressedTextureImageProc> fGetCompressedTextureImage;
412 // OpenGL 1.5
413 GLPtr<GrGLNamedBufferDataProc> fNamedBufferData;
414 GLPtr<GrGLNamedBufferSubDataProc> fNamedBufferSubData;
415 GLPtr<GrGLMapNamedBufferProc> fMapNamedBuffer;
416 GLPtr<GrGLUnmapNamedBufferProc> fUnmapNamedBuffer;
417 GLPtr<GrGLGetNamedBufferParameterivProc> fGetNamedBufferParameteriv;
418 GLPtr<GrGLGetNamedBufferPointervProc> fGetNamedBufferPointerv;
419 GLPtr<GrGLGetNamedBufferSubDataProc> fGetNamedBufferSubData;
420 // OpenGL 2.0
421 GLPtr<GrGLProgramUniform1fProc> fProgramUniform1f;
422 GLPtr<GrGLProgramUniform2fProc> fProgramUniform2f;
423 GLPtr<GrGLProgramUniform3fProc> fProgramUniform3f;
424 GLPtr<GrGLProgramUniform4fProc> fProgramUniform4f;
425 GLPtr<GrGLProgramUniform1iProc> fProgramUniform1i;
426 GLPtr<GrGLProgramUniform2iProc> fProgramUniform2i;
427 GLPtr<GrGLProgramUniform3iProc> fProgramUniform3i;
428 GLPtr<GrGLProgramUniform4iProc> fProgramUniform4i;
429 GLPtr<GrGLProgramUniform1fvProc> fProgramUniform1fv;
430 GLPtr<GrGLProgramUniform2fvProc> fProgramUniform2fv;
431 GLPtr<GrGLProgramUniform3fvProc> fProgramUniform3fv;
432 GLPtr<GrGLProgramUniform4fvProc> fProgramUniform4fv;
433 GLPtr<GrGLProgramUniform1ivProc> fProgramUniform1iv;
434 GLPtr<GrGLProgramUniform2ivProc> fProgramUniform2iv;
435 GLPtr<GrGLProgramUniform3ivProc> fProgramUniform3iv;
436 GLPtr<GrGLProgramUniform4ivProc> fProgramUniform4iv;
437 GLPtr<GrGLProgramUniformMatrix2fvProc> fProgramUniformMatrix2fv;
438 GLPtr<GrGLProgramUniformMatrix3fvProc> fProgramUniformMatrix3fv;
439 GLPtr<GrGLProgramUniformMatrix4fvProc> fProgramUniformMatrix4fv;
440 // OpenGL 2.1
441 GLPtr<GrGLProgramUniformMatrix2x3fvProc> fProgramUniformMatrix2x3fv;
442 GLPtr<GrGLProgramUniformMatrix3x2fvProc> fProgramUniformMatrix3x2fv;
443 GLPtr<GrGLProgramUniformMatrix2x4fvProc> fProgramUniformMatrix2x4fv;
444 GLPtr<GrGLProgramUniformMatrix4x2fvProc> fProgramUniformMatrix4x2fv;
445 GLPtr<GrGLProgramUniformMatrix3x4fvProc> fProgramUniformMatrix3x4fv;
446 GLPtr<GrGLProgramUniformMatrix4x3fvProc> fProgramUniformMatrix4x3fv;
447 // OpenGL 3.0
448 GLPtr<GrGLNamedRenderbufferStorageProc> fNamedRenderbufferStorage;
449 GLPtr<GrGLGetNamedRenderbufferParameterivProc> fGetNamedRenderbufferPara meteriv;
450 GLPtr<GrGLNamedRenderbufferStorageMultisampleProc> fNamedRenderbufferSto rageMultisample;
451 GLPtr<GrGLCheckNamedFramebufferStatusProc> fCheckNamedFramebufferStatus;
452 GLPtr<GrGLNamedFramebufferTexture1DProc> fNamedFramebufferTexture1D;
453 GLPtr<GrGLNamedFramebufferTexture2DProc> fNamedFramebufferTexture2D;
454 GLPtr<GrGLNamedFramebufferTexture3DProc> fNamedFramebufferTexture3D;
455 GLPtr<GrGLNamedFramebufferRenderbufferProc> fNamedFramebufferRenderbuffe r;
456 GLPtr<GrGLGetNamedFramebufferAttachmentParameterivProc> fGetNamedFramebu fferAttachmentParameteriv;
457 GLPtr<GrGLGenerateTextureMipmapProc> fGenerateTextureMipmap;
458 GLPtr<GrGLFramebufferDrawBufferProc> fFramebufferDrawBuffer;
459 GLPtr<GrGLFramebufferDrawBuffersProc> fFramebufferDrawBuffers;
460 GLPtr<GrGLFramebufferReadBufferProc> fFramebufferReadBuffer;
461 GLPtr<GrGLGetFramebufferParameterivProc> fGetFramebufferParameteriv;
462 GLPtr<GrGLNamedCopyBufferSubDataProc> fNamedCopyBufferSubData;
463 GLPtr<GrGLVertexArrayVertexOffsetProc> fVertexArrayVertexOffset;
464 GLPtr<GrGLVertexArrayColorOffsetProc> fVertexArrayColorOffset;
465 GLPtr<GrGLVertexArrayEdgeFlagOffsetProc> fVertexArrayEdgeFlagOffset;
466 GLPtr<GrGLVertexArrayIndexOffsetProc> fVertexArrayIndexOffset;
467 GLPtr<GrGLVertexArrayNormalOffsetProc> fVertexArrayNormalOffset;
468 GLPtr<GrGLVertexArrayTexCoordOffsetProc> fVertexArrayTexCoordOffset;
469 GLPtr<GrGLVertexArrayMultiTexCoordOffsetProc> fVertexArrayMultiTexCoordO ffset;
470 GLPtr<GrGLVertexArrayFogCoordOffsetProc> fVertexArrayFogCoordOffset;
471 GLPtr<GrGLVertexArraySecondaryColorOffsetProc> fVertexArraySecondaryColo rOffset;
472 GLPtr<GrGLVertexArrayVertexAttribOffsetProc> fVertexArrayVertexAttribOff set;
473 GLPtr<GrGLVertexArrayVertexAttribIOffsetProc> fVertexArrayVertexAttribIO ffset;
474 GLPtr<GrGLEnableVertexArrayProc> fEnableVertexArray;
475 GLPtr<GrGLDisableVertexArrayProc> fDisableVertexArray;
476 GLPtr<GrGLEnableVertexArrayAttribProc> fEnableVertexArrayAttrib;
477 GLPtr<GrGLDisableVertexArrayAttribProc> fDisableVertexArrayAttrib;
478 GLPtr<GrGLGetVertexArrayIntegervProc> fGetVertexArrayIntegerv;
479 GLPtr<GrGLGetVertexArrayPointervProc> fGetVertexArrayPointerv;
480 GLPtr<GrGLGetVertexArrayIntegeri_vProc> fGetVertexArrayIntegeri_v;
481 GLPtr<GrGLGetVertexArrayPointeri_vProc> fGetVertexArrayPointeri_v;
482 GLPtr<GrGLMapNamedBufferRangeProc> fMapNamedBufferRange;
483 GLPtr<GrGLFlushMappedNamedBufferRangeProc> fFlushMappedNamedBufferRange;
484
485 /* KHR_debug */
486 GLPtr<GrGLDebugMessageControlProc> fDebugMessageControl;
487 GLPtr<GrGLDebugMessageInsertProc> fDebugMessageInsert;
488 GLPtr<GrGLDebugMessageCallbackProc> fDebugMessageCallback;
489 GLPtr<GrGLGetDebugMessageLogProc> fGetDebugMessageLog;
490 GLPtr<GrGLPushDebugGroupProc> fPushDebugGroup;
491 GLPtr<GrGLPopDebugGroupProc> fPopDebugGroup;
492 GLPtr<GrGLObjectLabelProc> fObjectLabel;
357 } fFunctions; 493 } fFunctions;
358 494
359 // Per-GL func callback 495 // Per-GL func callback
360 #if GR_GL_PER_GL_FUNC_CALLBACK 496 #if GR_GL_PER_GL_FUNC_CALLBACK
361 GrGLInterfaceCallbackProc fCallback; 497 GrGLInterfaceCallbackProc fCallback;
362 GrGLInterfaceCallbackData fCallbackData; 498 GrGLInterfaceCallbackData fCallbackData;
363 #endif 499 #endif
364 500
365 // This exists for internal testing. 501 // This exists for internal testing.
366 virtual void abandon() const {} 502 virtual void abandon() const {}
367 }; 503 };
368 504
369 #endif 505 #endif
OLDNEW
« no previous file with comments | « include/gpu/gl/GrGLFunctions.h ('k') | src/gpu/gl/GrGLAssembleInterface.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698