- add sources.
[platform/framework/web/crosswalk.git] / src / webkit / common / gpu / gl_bindings_skia_cmd_buffer.cc
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "webkit/common/gpu/gl_bindings_skia_cmd_buffer.h"
6
7 #ifndef GL_GLEXT_PROTOTYPES
8 #define GL_GLEXT_PROTOTYPES
9 #endif
10 #include "gpu/GLES2/gl2extchromium.h"
11 #include "third_party/khronos/GLES2/gl2.h"
12 #include "third_party/khronos/GLES2/gl2ext.h"
13 #include "third_party/skia/include/gpu/gl/GrGLInterface.h"
14
15 namespace webkit {
16 namespace gpu {
17
18 GrGLInterface* CreateCommandBufferSkiaGLBinding() {
19   GrGLInterface* interface = new GrGLInterface;
20   interface->fBindingsExported = kES2_GrGLBinding;
21   interface->fActiveTexture = glActiveTexture;
22   interface->fAttachShader = glAttachShader;
23   interface->fBindAttribLocation = glBindAttribLocation;
24   interface->fBindBuffer = glBindBuffer;
25   interface->fBindTexture = glBindTexture;
26   interface->fBindVertexArray = glBindVertexArrayOES;
27   interface->fBlendColor = glBlendColor;
28   interface->fBlendFunc = glBlendFunc;
29   interface->fBufferData = glBufferData;
30   interface->fBufferSubData = glBufferSubData;
31   interface->fClear = glClear;
32   interface->fClearColor = glClearColor;
33   interface->fClearStencil = glClearStencil;
34   interface->fColorMask = glColorMask;
35   interface->fCompileShader = glCompileShader;
36   interface->fCompressedTexImage2D = glCompressedTexImage2D;
37   interface->fCopyTexSubImage2D = glCopyTexSubImage2D;
38   interface->fCreateProgram = glCreateProgram;
39   interface->fCreateShader = glCreateShader;
40   interface->fCullFace = glCullFace;
41   interface->fDeleteBuffers = glDeleteBuffers;
42   interface->fDeleteProgram = glDeleteProgram;
43   interface->fDeleteShader = glDeleteShader;
44   interface->fDeleteTextures = glDeleteTextures;
45   interface->fDeleteVertexArrays = glDeleteVertexArraysOES;
46   interface->fDepthMask = glDepthMask;
47   interface->fDisable = glDisable;
48   interface->fDisableVertexAttribArray = glDisableVertexAttribArray;
49   interface->fDrawArrays = glDrawArrays;
50   interface->fDrawElements = glDrawElements;
51   interface->fEnable = glEnable;
52   interface->fEnableVertexAttribArray = glEnableVertexAttribArray;
53   interface->fFinish = glFinish;
54   interface->fFlush = glFlush;
55   interface->fFrontFace = glFrontFace;
56   interface->fGenBuffers = glGenBuffers;
57   interface->fGenTextures = glGenTextures;
58   interface->fGenVertexArrays = glGenVertexArraysOES;
59   interface->fGetBufferParameteriv = glGetBufferParameteriv;
60   interface->fGetError = glGetError;
61   interface->fGetIntegerv = glGetIntegerv;
62   interface->fGetProgramInfoLog = glGetProgramInfoLog;
63   interface->fGetProgramiv = glGetProgramiv;
64   interface->fGetShaderInfoLog = glGetShaderInfoLog;
65   interface->fGetShaderiv = glGetShaderiv;
66   interface->fGetString = glGetString;
67   interface->fGetUniformLocation = glGetUniformLocation;
68   interface->fLineWidth = glLineWidth;
69   interface->fLinkProgram = glLinkProgram;
70   interface->fPixelStorei = glPixelStorei;
71   interface->fReadPixels = glReadPixels;
72   interface->fScissor = glScissor;
73   interface->fShaderSource = glShaderSource;
74   interface->fStencilFunc = glStencilFunc;
75   interface->fStencilFuncSeparate = glStencilFuncSeparate;
76   interface->fStencilMask = glStencilMask;
77   interface->fStencilMaskSeparate = glStencilMaskSeparate;
78   interface->fStencilOp = glStencilOp;
79   interface->fStencilOpSeparate = glStencilOpSeparate;
80   interface->fTexImage2D = glTexImage2D;
81   interface->fTexParameteri = glTexParameteri;
82   interface->fTexParameteriv = glTexParameteriv;
83   interface->fTexStorage2D = glTexStorage2DEXT;
84   interface->fTexSubImage2D = glTexSubImage2D;
85   interface->fUniform1f = glUniform1f;
86   interface->fUniform1i = glUniform1i;
87   interface->fUniform1fv = glUniform1fv;
88   interface->fUniform1iv = glUniform1iv;
89   interface->fUniform2f = glUniform2f;
90   interface->fUniform2i = glUniform2i;
91   interface->fUniform2fv = glUniform2fv;
92   interface->fUniform2iv = glUniform2iv;
93   interface->fUniform3f = glUniform3f;
94   interface->fUniform3i = glUniform3i;
95   interface->fUniform3fv = glUniform3fv;
96   interface->fUniform3iv = glUniform3iv;
97   interface->fUniform4f = glUniform4f;
98   interface->fUniform4i = glUniform4i;
99   interface->fUniform4fv = glUniform4fv;
100   interface->fUniform4iv = glUniform4iv;
101   interface->fUniformMatrix2fv = glUniformMatrix2fv;
102   interface->fUniformMatrix3fv = glUniformMatrix3fv;
103   interface->fUniformMatrix4fv = glUniformMatrix4fv;
104   interface->fUseProgram = glUseProgram;
105   interface->fVertexAttrib4fv = glVertexAttrib4fv;
106   interface->fVertexAttribPointer = glVertexAttribPointer;
107   interface->fViewport = glViewport;
108   interface->fBindFramebuffer = glBindFramebuffer;
109   interface->fBindRenderbuffer = glBindRenderbuffer;
110   interface->fCheckFramebufferStatus = glCheckFramebufferStatus;
111   interface->fDeleteFramebuffers = glDeleteFramebuffers;
112   interface->fDeleteRenderbuffers = glDeleteRenderbuffers;
113   interface->fFramebufferRenderbuffer = glFramebufferRenderbuffer;
114   interface->fFramebufferTexture2D = glFramebufferTexture2D;
115   interface->fFramebufferTexture2DMultisample =
116     glFramebufferTexture2DMultisampleEXT;
117   interface->fGenFramebuffers = glGenFramebuffers;
118   interface->fGenRenderbuffers = glGenRenderbuffers;
119   interface->fGetFramebufferAttachmentParameteriv =
120     glGetFramebufferAttachmentParameteriv;
121   interface->fGetRenderbufferParameteriv = glGetRenderbufferParameteriv;
122   interface->fRenderbufferStorage = glRenderbufferStorage;
123   interface->fRenderbufferStorageMultisample =
124     glRenderbufferStorageMultisampleEXT;
125   interface->fBlitFramebuffer = glBlitFramebufferEXT;
126   return interface;
127 }
128
129 }  // namespace gpu
130 }  // namespace webkit