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

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

Issue 23404002: Add support for ES3 MSAA. (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 4 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
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2011 Google Inc. 3 * Copyright 2011 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #ifndef GrGLInterface_DEFINED 10 #ifndef GrGLInterface_DEFINED
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 GLPtr<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv; 216 GLPtr<GrGLGetTexLevelParameterivProc> fGetTexLevelParameteriv;
217 GLPtr<GrGLGetUniformLocationProc> fGetUniformLocation; 217 GLPtr<GrGLGetUniformLocationProc> fGetUniformLocation;
218 GLPtr<GrGLLineWidthProc> fLineWidth; 218 GLPtr<GrGLLineWidthProc> fLineWidth;
219 GLPtr<GrGLLinkProgramProc> fLinkProgram; 219 GLPtr<GrGLLinkProgramProc> fLinkProgram;
220 GLPtr<GrGLMapBufferProc> fMapBuffer; 220 GLPtr<GrGLMapBufferProc> fMapBuffer;
221 GLPtr<GrGLPixelStoreiProc> fPixelStorei; 221 GLPtr<GrGLPixelStoreiProc> fPixelStorei;
222 GLPtr<GrGLQueryCounterProc> fQueryCounter; 222 GLPtr<GrGLQueryCounterProc> fQueryCounter;
223 GLPtr<GrGLReadBufferProc> fReadBuffer; 223 GLPtr<GrGLReadBufferProc> fReadBuffer;
224 GLPtr<GrGLReadPixelsProc> fReadPixels; 224 GLPtr<GrGLReadPixelsProc> fReadPixels;
225 GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage; 225 GLPtr<GrGLRenderbufferStorageProc> fRenderbufferStorage;
226
227 #if !GR_GL_IGNORE_ES3_MSAA
228 // On OpenGL ES there are multiple incompatible extensions that add support for MSAA
229 // and ES3 adds MSAA support to the standard. On an ES3 driver we may still use the
230 // older extensions for performance reasons or due to ES3 driver bugs. We w ant the function
231 // that creates the GrGLInterface to provide all available functions and in ternally
232 // we will select among them. They all have a method called glRenderbufferS torageMultisample*.
233 // So we have separate function pointers for GL_IMG/EXT_multisampled_to_tex ture,
234 // GL_CHROMIUM/ANGLE_framebuffer_multisample/ES3, and GL_APPLE_framebuffer_ multisample
235 // variations.
236 //
237 // If a driver supports multiple GL_ARB_framebuffer_multisample-style exten sions then we will
238 // assume the function pointers for the standard (or equivalent GL_ARB) ver sion have
239 // been preferred over GL_EXT, GL_CHROMIUM, or GL_ANGLE variations that hav e reduced
240 // functionality.
241
242 // GL_EXT_multisampled_render_to_texture (preferred) or GL_IMG_multisampled _render_to_texture
243 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl eES2EXT;
244 // GL_APPLE_framebuffer_multisample
245 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl eES2APPLE;
246 #endif
jvanverth1 2013/08/27 17:39:06 Maybe a comment here stating that this is where GL
bsalomon 2013/09/05 22:00:15 Done.
226 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl e; 247 GLPtr<GrGLRenderbufferStorageMultisampleProc> fRenderbufferStorageMultisampl e;
248
227 GLPtr<GrGLRenderbufferStorageMultisampleCoverageProc> fRenderbufferStorageMu ltisampleCoverage; 249 GLPtr<GrGLRenderbufferStorageMultisampleCoverageProc> fRenderbufferStorageMu ltisampleCoverage;
228 GLPtr<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuffer; 250 GLPtr<GrGLResolveMultisampleFramebufferProc> fResolveMultisampleFramebuffer;
229 GLPtr<GrGLScissorProc> fScissor; 251 GLPtr<GrGLScissorProc> fScissor;
230 GLPtr<GrGLShaderSourceProc> fShaderSource; 252 GLPtr<GrGLShaderSourceProc> fShaderSource;
231 GLPtr<GrGLStencilFuncProc> fStencilFunc; 253 GLPtr<GrGLStencilFuncProc> fStencilFunc;
232 GLPtr<GrGLStencilFuncSeparateProc> fStencilFuncSeparate; 254 GLPtr<GrGLStencilFuncSeparateProc> fStencilFuncSeparate;
233 GLPtr<GrGLStencilMaskProc> fStencilMask; 255 GLPtr<GrGLStencilMaskProc> fStencilMask;
234 GLPtr<GrGLStencilMaskSeparateProc> fStencilMaskSeparate; 256 GLPtr<GrGLStencilMaskSeparateProc> fStencilMaskSeparate;
235 GLPtr<GrGLStencilOpProc> fStencilOp; 257 GLPtr<GrGLStencilOpProc> fStencilOp;
236 GLPtr<GrGLStencilOpSeparateProc> fStencilOpSeparate; 258 GLPtr<GrGLStencilOpSeparateProc> fStencilOpSeparate;
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 345
324 // Per-GL func callback 346 // Per-GL func callback
325 #if GR_GL_PER_GL_FUNC_CALLBACK 347 #if GR_GL_PER_GL_FUNC_CALLBACK
326 GrGLInterfaceCallbackProc fCallback; 348 GrGLInterfaceCallbackProc fCallback;
327 GrGLInterfaceCallbackData fCallbackData; 349 GrGLInterfaceCallbackData fCallbackData;
328 #endif 350 #endif
329 351
330 }; 352 };
331 353
332 #endif 354 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698