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