OLD | NEW |
---|---|
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 Loading... | |
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 } |
OLD | NEW |