Chromium Code Reviews| 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 |