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

Side by Side Diff: src/gpu/gl/android/GrGLCreateNativeInterface_android.cpp

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
« src/gpu/gl/GrGLInterface.cpp ('K') | « src/gpu/gl/GrGpuGL.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Modified from chromium/src/webkit/glue/gl_bindings_skia_cmd_buffer.cc 1 // Modified from chromium/src/webkit/glue/gl_bindings_skia_cmd_buffer.cc
2 2
3 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 3 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
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 #include "gl/GrGLExtensions.h" 7 #include "gl/GrGLExtensions.h"
8 #include "gl/GrGLInterface.h" 8 #include "gl/GrGLInterface.h"
9 #include "gl/GrGLUtil.h" 9 #include "gl/GrGLUtil.h"
10 10
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 interface->fVertexAttrib4fv = glVertexAttrib4fv; 142 interface->fVertexAttrib4fv = glVertexAttrib4fv;
143 interface->fVertexAttribPointer = glVertexAttribPointer; 143 interface->fVertexAttribPointer = glVertexAttribPointer;
144 interface->fViewport = glViewport; 144 interface->fViewport = glViewport;
145 interface->fBindFramebuffer = glBindFramebuffer; 145 interface->fBindFramebuffer = glBindFramebuffer;
146 interface->fBindRenderbuffer = glBindRenderbuffer; 146 interface->fBindRenderbuffer = glBindRenderbuffer;
147 interface->fCheckFramebufferStatus = glCheckFramebufferStatus; 147 interface->fCheckFramebufferStatus = glCheckFramebufferStatus;
148 interface->fDeleteFramebuffers = glDeleteFramebuffers; 148 interface->fDeleteFramebuffers = glDeleteFramebuffers;
149 interface->fDeleteRenderbuffers = glDeleteRenderbuffers; 149 interface->fDeleteRenderbuffers = glDeleteRenderbuffers;
150 interface->fFramebufferRenderbuffer = glFramebufferRenderbuffer; 150 interface->fFramebufferRenderbuffer = glFramebufferRenderbuffer;
151 interface->fFramebufferTexture2D = glFramebufferTexture2D; 151 interface->fFramebufferTexture2D = glFramebufferTexture2D;
152
153 #if GR_GL_IGNORE_ES3_MSAA
robertphillips 2013/08/23 17:25:34 could these two if blocks be shared with the !GR_G
bsalomon 2013/08/23 17:28:49 They don't use ES2APPLE or ES2EXT. It'll also be a
152 if (extensions.has("GL_EXT_multisampled_render_to_texture")) { 154 if (extensions.has("GL_EXT_multisampled_render_to_texture")) {
153 #if GL_EXT_multisampled_render_to_texture 155 #if GL_EXT_multisampled_render_to_texture
154 interface->fFramebufferTexture2DMultisample = glFramebufferTexture2D MultisampleEXT; 156 interface->fFramebufferTexture2DMultisample = glFramebufferTexture2D MultisampleEXT;
155 interface->fRenderbufferStorageMultisample = glRenderbufferStorageMu ltisampleEXT; 157 interface->fRenderbufferStorageMultisample = glRenderbufferStorageMu ltisampleEXT;
156 #else 158 #else
157 interface->fFramebufferTexture2DMultisample = (GrGLFramebufferTextur e2DMultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleEXT"); 159 interface->fFramebufferTexture2DMultisample = (GrGLFramebufferTextur e2DMultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleEXT");
158 interface->fRenderbufferStorageMultisample = (GrGLRenderbufferStorag eMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleEXT"); 160 interface->fRenderbufferStorageMultisample = (GrGLRenderbufferStorag eMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleEXT");
159 #endif 161 #endif
160 } else if (extensions.has("GL_IMG_multisampled_render_to_texture")) { 162 } else if (extensions.has("GL_IMG_multisampled_render_to_texture")) {
161 #if GL_IMG_multisampled_render_to_texture 163 #if GL_IMG_multisampled_render_to_texture
162 interface->fFramebufferTexture2DMultisample = glFramebufferTexture2D MultisampleIMG; 164 interface->fFramebufferTexture2DMultisample = glFramebufferTexture2D MultisampleIMG;
163 interface->fRenderbufferStorageMultisample = glRenderbufferStorageMu ltisampleIMG; 165 interface->fRenderbufferStorageMultisample = glRenderbufferStorageMu ltisampleIMG;
164 #else 166 #else
165 interface->fFramebufferTexture2DMultisample = (GrGLFramebufferTextur e2DMultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleIMG"); 167 interface->fFramebufferTexture2DMultisample = (GrGLFramebufferTextur e2DMultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleIMG");
166 interface->fRenderbufferStorageMultisample = (GrGLRenderbufferStorag eMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleIMG"); 168 interface->fRenderbufferStorageMultisample = (GrGLRenderbufferStorag eMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleIMG");
167 #endif 169 #endif
168 } 170 }
171
172 #else // GR_GL_IGNORE_ES3_MSAA
173
174 if (version >= GR_GL_VER(3,0)) {
175 #if GL_ES_VERSION_3_0
176 interface->fRenderbufferStorageMultisample = glRenderbufferStorageMu ltisample;
177 interface->fBlitFramebuffer = glBlitFramebuffer;
178 #else
179 interface->fRenderbufferStorageMultisample = (GrGLRenderbufferStorag eMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisample");
180 interface->fBlitFramebuffer = (GrGLBlitFramebufferProc) eglGetProcAd dress("glBlitFramebuffer");
181 #endif
182 }
183 if (extensions.has("GL_EXT_multisampled_render_to_texture")) {
184 #if GL_EXT_multisampled_render_to_texture
185 interface->fFramebufferTexture2DMultisample = glFramebufferTexture2D MultisampleEXT;
186 interface->fRenderbufferStorageMultisampleES2EXT = glRenderbufferSto rageMultisampleEXT;
187 #else
188 interface->fFramebufferTexture2DMultisample = (GrGLFramebufferTextur e2DMultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleEXT");
189 interface->fRenderbufferStorageMultisampleES2EXT = (GrGLRenderbuffer StorageMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleEXT") ;
190 #endif
191 } else if (extensions.has("GL_IMG_multisampled_render_to_texture")) {
192 #if GL_IMG_multisampled_render_to_texture
193 interface->fFramebufferTexture2DMultisample = glFramebufferTexture2D MultisampleIMG;
194 interface->fRenderbufferStorageMultisampleES2EXT = glRenderbufferSto rageMultisampleIMG;
195 #else
196 interface->fFramebufferTexture2DMultisample = (GrGLFramebufferTextur e2DMultisampleProc) eglGetProcAddress("glFramebufferTexture2DMultisampleIMG");
197 interface->fRenderbufferStorageMultisampleES2EXT = (GrGLRenderbuffer StorageMultisampleProc) eglGetProcAddress("glRenderbufferStorageMultisampleIMG") ;
198 #endif
199 }
200 #endif // GR_GL_IGNORE_ES3_MSAA
201
169 interface->fGenFramebuffers = glGenFramebuffers; 202 interface->fGenFramebuffers = glGenFramebuffers;
170 interface->fGenRenderbuffers = glGenRenderbuffers; 203 interface->fGenRenderbuffers = glGenRenderbuffers;
171 interface->fGetFramebufferAttachmentParameteriv = glGetFramebufferAttach mentParameteriv; 204 interface->fGetFramebufferAttachmentParameteriv = glGetFramebufferAttach mentParameteriv;
172 interface->fGetRenderbufferParameteriv = glGetRenderbufferParameteriv; 205 interface->fGetRenderbufferParameteriv = glGetRenderbufferParameteriv;
173 interface->fRenderbufferStorage = glRenderbufferStorage; 206 interface->fRenderbufferStorage = glRenderbufferStorage;
174 #if GL_OES_mapbuffer 207 #if GL_OES_mapbuffer
175 interface->fMapBuffer = glMapBufferOES; 208 interface->fMapBuffer = glMapBufferOES;
176 interface->fUnmapBuffer = glUnmapBufferOES; 209 interface->fUnmapBuffer = glUnmapBufferOES;
177 #else 210 #else
178 interface->fMapBuffer = (GrGLMapBufferProc) eglGetProcAddress("glMapBuff erOES"); 211 interface->fMapBuffer = (GrGLMapBufferProc) eglGetProcAddress("glMapBuff erOES");
179 interface->fUnmapBuffer = (GrGLUnmapBufferProc) eglGetProcAddress("glUnm apBufferOES"); 212 interface->fUnmapBuffer = (GrGLUnmapBufferProc) eglGetProcAddress("glUnm apBufferOES");
180 #endif 213 #endif
181 } 214 }
182 glInterface.get()->ref(); 215 glInterface.get()->ref();
183 return glInterface.get(); 216 return glInterface.get();
184 } 217 }
OLDNEW
« src/gpu/gl/GrGLInterface.cpp ('K') | « src/gpu/gl/GrGpuGL.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698