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

Side by Side Diff: src/gpu/gl/iOS/GrGLCreateNativeInterface_iOS.cpp

Issue 133073009: Move GrGLInterface function pointers into a nested struct (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: tip of tree Created 6 years, 11 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 #include "gl/GrGLInterface.h" 10 #include "gl/GrGLInterface.h"
11 11
12 #import <OpenGLES/ES2/gl.h> 12 #import <OpenGLES/ES2/gl.h>
13 #import <OpenGLES/ES2/glext.h> 13 #import <OpenGLES/ES2/glext.h>
14 14
15 const GrGLInterface* GrGLCreateNativeInterface() { 15 const GrGLInterface* GrGLCreateNativeInterface() {
16 GrGLInterface* interface = SkNEW(GrGLInterface); 16 GrGLInterface* interface = SkNEW(GrGLInterface);
17 17
18 interface->fActiveTexture = glActiveTexture; 18 functions->fActiveTexture = glActiveTexture;
19 interface->fAttachShader = glAttachShader; 19 functions->fAttachShader = glAttachShader;
20 interface->fBindAttribLocation = glBindAttribLocation; 20 functions->fBindAttribLocation = glBindAttribLocation;
21 interface->fBindBuffer = glBindBuffer; 21 functions->fBindBuffer = glBindBuffer;
22 interface->fBindTexture = glBindTexture; 22 functions->fBindTexture = glBindTexture;
23 interface->fBlendColor = glBlendColor; 23 functions->fBlendColor = glBlendColor;
24 interface->fBlendFunc = glBlendFunc; 24 functions->fBlendFunc = glBlendFunc;
25 interface->fBufferData = (GrGLBufferDataProc)glBufferData; 25 functions->fBufferData = (GrGLBufferDataProc)glBufferData;
26 interface->fBufferSubData = (GrGLBufferSubDataProc)glBufferSubData; 26 functions->fBufferSubData = (GrGLBufferSubDataProc)glBufferSubData;
27 interface->fClear = glClear; 27 functions->fClear = glClear;
28 interface->fClearColor = glClearColor; 28 functions->fClearColor = glClearColor;
29 interface->fClearStencil = glClearStencil; 29 functions->fClearStencil = glClearStencil;
30 interface->fColorMask = glColorMask; 30 functions->fColorMask = glColorMask;
31 interface->fCompileShader = glCompileShader; 31 functions->fCompileShader = glCompileShader;
32 interface->fCompressedTexImage2D = glCompressedTexImage2D; 32 functions->fCompressedTexImage2D = glCompressedTexImage2D;
33 interface->fCopyTexSubImage2D = glCopyTexSubImage2D; 33 functions->fCopyTexSubImage2D = glCopyTexSubImage2D;
34 interface->fCreateProgram = glCreateProgram; 34 functions->fCreateProgram = glCreateProgram;
35 interface->fCreateShader = glCreateShader; 35 functions->fCreateShader = glCreateShader;
36 interface->fCullFace = glCullFace; 36 functions->fCullFace = glCullFace;
37 interface->fDeleteBuffers = glDeleteBuffers; 37 functions->fDeleteBuffers = glDeleteBuffers;
38 interface->fDeleteProgram = glDeleteProgram; 38 functions->fDeleteProgram = glDeleteProgram;
39 interface->fDeleteShader = glDeleteShader; 39 functions->fDeleteShader = glDeleteShader;
40 interface->fDeleteTextures = glDeleteTextures; 40 functions->fDeleteTextures = glDeleteTextures;
41 interface->fDepthMask = glDepthMask; 41 functions->fDepthMask = glDepthMask;
42 interface->fDisable = glDisable; 42 functions->fDisable = glDisable;
43 interface->fDisableVertexAttribArray = glDisableVertexAttribArray; 43 functions->fDisableVertexAttribArray = glDisableVertexAttribArray;
44 interface->fDrawArrays = glDrawArrays; 44 functions->fDrawArrays = glDrawArrays;
45 interface->fDrawBuffer = NULL; 45 functions->fDrawBuffer = NULL;
46 interface->fDrawBuffers = NULL; 46 functions->fDrawBuffers = NULL;
47 interface->fDrawElements = glDrawElements; 47 functions->fDrawElements = glDrawElements;
48 interface->fEnable = glEnable; 48 functions->fEnable = glEnable;
49 interface->fEnableVertexAttribArray = glEnableVertexAttribArray; 49 functions->fEnableVertexAttribArray = glEnableVertexAttribArray;
50 interface->fFinish = glFinish; 50 functions->fFinish = glFinish;
51 interface->fFlush = glFlush; 51 functions->fFlush = glFlush;
52 interface->fFrontFace = glFrontFace; 52 functions->fFrontFace = glFrontFace;
53 interface->fGenBuffers = glGenBuffers; 53 functions->fGenBuffers = glGenBuffers;
54 interface->fGenerateMipmap = glGenerateMipmap; 54 functions->fGenerateMipmap = glGenerateMipmap;
55 interface->fGetBufferParameteriv = glGetBufferParameteriv; 55 functions->fGetBufferParameteriv = glGetBufferParameteriv;
56 interface->fGetError = glGetError; 56 functions->fGetError = glGetError;
57 interface->fGetIntegerv = glGetIntegerv; 57 functions->fGetIntegerv = glGetIntegerv;
58 interface->fGetProgramInfoLog = glGetProgramInfoLog; 58 functions->fGetProgramInfoLog = glGetProgramInfoLog;
59 interface->fGetProgramiv = glGetProgramiv; 59 functions->fGetProgramiv = glGetProgramiv;
60 interface->fGetShaderInfoLog = glGetShaderInfoLog; 60 functions->fGetShaderInfoLog = glGetShaderInfoLog;
61 interface->fGetShaderiv = glGetShaderiv; 61 functions->fGetShaderiv = glGetShaderiv;
62 interface->fGetString = glGetString; 62 functions->fGetString = glGetString;
63 interface->fGenTextures = glGenTextures; 63 functions->fGenTextures = glGenTextures;
64 interface->fGetUniformLocation = glGetUniformLocation; 64 functions->fGetUniformLocation = glGetUniformLocation;
65 interface->fLineWidth = glLineWidth; 65 functions->fLineWidth = glLineWidth;
66 interface->fLinkProgram = glLinkProgram; 66 functions->fLinkProgram = glLinkProgram;
67 interface->fPixelStorei = glPixelStorei; 67 functions->fPixelStorei = glPixelStorei;
68 interface->fReadBuffer = NULL; 68 functions->fReadBuffer = NULL;
69 interface->fReadPixels = glReadPixels; 69 functions->fReadPixels = glReadPixels;
70 interface->fScissor = glScissor; 70 functions->fScissor = glScissor;
71 interface->fShaderSource = glShaderSource; 71 functions->fShaderSource = glShaderSource;
72 interface->fStencilFunc = glStencilFunc; 72 functions->fStencilFunc = glStencilFunc;
73 interface->fStencilFuncSeparate = glStencilFuncSeparate; 73 functions->fStencilFuncSeparate = glStencilFuncSeparate;
74 interface->fStencilMask = glStencilMask; 74 functions->fStencilMask = glStencilMask;
75 interface->fStencilMaskSeparate = glStencilMaskSeparate; 75 functions->fStencilMaskSeparate = glStencilMaskSeparate;
76 interface->fStencilOp = glStencilOp; 76 functions->fStencilOp = glStencilOp;
77 interface->fStencilOpSeparate = glStencilOpSeparate; 77 functions->fStencilOpSeparate = glStencilOpSeparate;
78 // mac uses GLenum for internalFormat param (non-standard) 78 // mac uses GLenum for internalFormat param (non-standard)
79 // amounts to int vs. uint. 79 // amounts to int vs. uint.
80 interface->fTexImage2D = (GrGLTexImage2DProc)glTexImage2D; 80 functions->fTexImage2D = (GrGLTexImage2DProc)glTexImage2D;
81 #if GL_ARB_texture_storage 81 #if GL_ARB_texture_storage
82 interface->fTexStorage2D = glTexStorage2D; 82 functions->fTexStorage2D = glTexStorage2D;
83 #elif GL_EXT_texture_storage 83 #elif GL_EXT_texture_storage
84 interface->fTexStorage2D = glTexStorage2DEXT; 84 functions->fTexStorage2D = glTexStorage2DEXT;
85 #endif 85 #endif
86 #if GL_EXT_discard_framebuffer 86 #if GL_EXT_discard_framebuffer
87 interface->fDiscardFramebuffer = glDiscardFramebufferEXT; 87 functions->fDiscardFramebuffer = glDiscardFramebufferEXT;
88 #endif 88 #endif
89 interface->fTexParameteri = glTexParameteri; 89 functions->fTexParameteri = glTexParameteri;
90 interface->fTexParameteriv = glTexParameteriv; 90 functions->fTexParameteriv = glTexParameteriv;
91 interface->fTexSubImage2D = glTexSubImage2D; 91 functions->fTexSubImage2D = glTexSubImage2D;
92 interface->fUniform1f = glUniform1f; 92 functions->fUniform1f = glUniform1f;
93 interface->fUniform1i = glUniform1i; 93 functions->fUniform1i = glUniform1i;
94 interface->fUniform1fv = glUniform1fv; 94 functions->fUniform1fv = glUniform1fv;
95 interface->fUniform1iv = glUniform1iv; 95 functions->fUniform1iv = glUniform1iv;
96 interface->fUniform2f = glUniform2f; 96 functions->fUniform2f = glUniform2f;
97 interface->fUniform2i = glUniform2i; 97 functions->fUniform2i = glUniform2i;
98 interface->fUniform2fv = glUniform2fv; 98 functions->fUniform2fv = glUniform2fv;
99 interface->fUniform2iv = glUniform2iv; 99 functions->fUniform2iv = glUniform2iv;
100 interface->fUniform3f = glUniform3f; 100 functions->fUniform3f = glUniform3f;
101 interface->fUniform3i = glUniform3i; 101 functions->fUniform3i = glUniform3i;
102 interface->fUniform3fv = glUniform3fv; 102 functions->fUniform3fv = glUniform3fv;
103 interface->fUniform3iv = glUniform3iv; 103 functions->fUniform3iv = glUniform3iv;
104 interface->fUniform4f = glUniform4f; 104 functions->fUniform4f = glUniform4f;
105 interface->fUniform4i = glUniform4i; 105 functions->fUniform4i = glUniform4i;
106 interface->fUniform4fv = glUniform4fv; 106 functions->fUniform4fv = glUniform4fv;
107 interface->fUniform4iv = glUniform4iv; 107 functions->fUniform4iv = glUniform4iv;
108 interface->fUniform4fv = glUniform4fv; 108 functions->fUniform4fv = glUniform4fv;
109 interface->fUniformMatrix2fv = glUniformMatrix2fv; 109 functions->fUniformMatrix2fv = glUniformMatrix2fv;
110 interface->fUniformMatrix3fv = glUniformMatrix3fv; 110 functions->fUniformMatrix3fv = glUniformMatrix3fv;
111 interface->fUniformMatrix4fv = glUniformMatrix4fv; 111 functions->fUniformMatrix4fv = glUniformMatrix4fv;
112 interface->fUseProgram = glUseProgram; 112 functions->fUseProgram = glUseProgram;
113 interface->fVertexAttrib4fv = glVertexAttrib4fv; 113 functions->fVertexAttrib4fv = glVertexAttrib4fv;
114 interface->fVertexAttribPointer = glVertexAttribPointer; 114 functions->fVertexAttribPointer = glVertexAttribPointer;
115 interface->fViewport = glViewport; 115 functions->fViewport = glViewport;
116 interface->fGenFramebuffers = glGenFramebuffers; 116 functions->fGenFramebuffers = glGenFramebuffers;
117 interface->fGetFramebufferAttachmentParameteriv = glGetFramebufferAttachment Parameteriv; 117 functions->fGetFramebufferAttachmentParameteriv = glGetFramebufferAttachment Parameteriv;
118 interface->fGetRenderbufferParameteriv = glGetRenderbufferParameteriv; 118 functions->fGetRenderbufferParameteriv = glGetRenderbufferParameteriv;
119 interface->fBindFramebuffer = glBindFramebuffer; 119 functions->fBindFramebuffer = glBindFramebuffer;
120 interface->fFramebufferTexture2D = glFramebufferTexture2D; 120 functions->fFramebufferTexture2D = glFramebufferTexture2D;
121 interface->fCheckFramebufferStatus = glCheckFramebufferStatus; 121 functions->fCheckFramebufferStatus = glCheckFramebufferStatus;
122 interface->fDeleteFramebuffers = glDeleteFramebuffers; 122 functions->fDeleteFramebuffers = glDeleteFramebuffers;
123 interface->fRenderbufferStorage = glRenderbufferStorage; 123 functions->fRenderbufferStorage = glRenderbufferStorage;
124 interface->fGenRenderbuffers = glGenRenderbuffers; 124 functions->fGenRenderbuffers = glGenRenderbuffers;
125 interface->fDeleteRenderbuffers = glDeleteRenderbuffers; 125 functions->fDeleteRenderbuffers = glDeleteRenderbuffers;
126 interface->fFramebufferRenderbuffer = glFramebufferRenderbuffer; 126 functions->fFramebufferRenderbuffer = glFramebufferRenderbuffer;
127 interface->fBindRenderbuffer = glBindRenderbuffer; 127 functions->fBindRenderbuffer = glBindRenderbuffer;
128 128
129 #if GL_OES_mapbuffer 129 #if GL_OES_mapbuffer
130 interface->fMapBuffer = glMapBufferOES; 130 functions->fMapBuffer = glMapBufferOES;
131 interface->fUnmapBuffer = glUnmapBufferOES; 131 functions->fUnmapBuffer = glUnmapBufferOES;
132 #endif 132 #endif
133 133
134 #if GL_APPLE_framebuffer_multisample 134 #if GL_APPLE_framebuffer_multisample
135 interface->fRenderbufferStorageMultisample = glRenderbufferStorageMultisampl eAPPLE; 135 functions->fRenderbufferStorageMultisample = glRenderbufferStorageMultisampl eAPPLE;
136 interface->fResolveMultisampleFramebuffer = glResolveMultisampleFramebufferA PPLE; 136 functions->fResolveMultisampleFramebuffer = glResolveMultisampleFramebufferA PPLE;
137 #endif 137 #endif
138 138
139 #if GL_OES_vertex_array_object 139 #if GL_OES_vertex_array_object
140 interface->fBindVertexArray = glBindVertexArrayOES; 140 functions->fBindVertexArray = glBindVertexArrayOES;
141 interface->fDeleteVertexArrays = glDeleteVertexArraysOES; 141 functions->fDeleteVertexArrays = glDeleteVertexArraysOES;
142 interface->fGenVertexArrays = glGenVertexArraysOES; 142 functions->fGenVertexArrays = glGenVertexArraysOES;
143 #endif 143 #endif
144 144
145 interface->fStandard = kGLES_GrGLStandard; 145 interface->fStandard = kGLES_GrGLStandard;
146 interface->fExtensions.init(kGLES_GrGLStandard, glGetString, NULL, glGetInte gerv); 146 interface->fExtensions.init(kGLES_GrGLStandard, glGetString, NULL, glGetInte gerv);
147 return interface; 147 return interface;
148 } 148 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698