Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / cc / test / test_gles2_interface.h
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 #ifndef CC_TEST_TEST_GLES2_INTERFACE_H_
6 #define CC_TEST_TEST_GLES2_INTERFACE_H_
7
8 #include "gpu/command_buffer/client/gles2_interface_stub.h"
9
10 namespace cc {
11 class TestWebGraphicsContext3D;
12
13 class TestGLES2Interface : public gpu::gles2::GLES2InterfaceStub {
14  public:
15   explicit TestGLES2Interface(TestWebGraphicsContext3D* test_context);
16   ~TestGLES2Interface() override;
17
18   void GenTextures(GLsizei n, GLuint* textures) override;
19   void GenBuffers(GLsizei n, GLuint* buffers) override;
20   void GenFramebuffers(GLsizei n, GLuint* framebuffers) override;
21   void GenRenderbuffers(GLsizei n, GLuint* renderbuffers) override;
22   void GenQueriesEXT(GLsizei n, GLuint* queries) override;
23
24   void DeleteTextures(GLsizei n, const GLuint* textures) override;
25   void DeleteBuffers(GLsizei n, const GLuint* buffers) override;
26   void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers) override;
27   void DeleteQueriesEXT(GLsizei n, const GLuint* queries) override;
28
29   GLuint CreateShader(GLenum type) override;
30   GLuint CreateProgram() override;
31
32   void BindTexture(GLenum target, GLuint texture) override;
33
34   void GetIntegerv(GLenum pname, GLint* params) override;
35   void GetShaderiv(GLuint shader, GLenum pname, GLint* params) override;
36   void GetProgramiv(GLuint program, GLenum pname, GLint* params) override;
37   void GetShaderPrecisionFormat(GLenum shadertype,
38                                 GLenum precisiontype,
39                                 GLint* range,
40                                 GLint* precision) override;
41   GLenum CheckFramebufferStatus(GLenum target) override;
42
43   void ActiveTexture(GLenum target) override;
44   void Viewport(GLint x, GLint y, GLsizei width, GLsizei height) override;
45   void UseProgram(GLuint program) override;
46   void Scissor(GLint x, GLint y, GLsizei width, GLsizei height) override;
47   void DrawElements(GLenum mode,
48                     GLsizei count,
49                     GLenum type,
50                     const void* indices) override;
51   void ClearColor(GLclampf red,
52                   GLclampf green,
53                   GLclampf blue,
54                   GLclampf alpha) override;
55   void ClearStencil(GLint s) override;
56   void Clear(GLbitfield mask) override;
57   void Flush() override;
58   void Finish() override;
59   void ShallowFlushCHROMIUM() override;
60   void Enable(GLenum cap) override;
61   void Disable(GLenum cap) override;
62
63   void BindBuffer(GLenum target, GLuint buffer) override;
64   void BindRenderbuffer(GLenum target, GLuint buffer) override;
65   void BindFramebuffer(GLenum target, GLuint buffer) override;
66
67   void TexImage2D(GLenum target,
68                   GLint level,
69                   GLint internalformat,
70                   GLsizei width,
71                   GLsizei height,
72                   GLint border,
73                   GLenum format,
74                   GLenum type,
75                   const void* pixels) override;
76   void TexSubImage2D(GLenum target,
77                      GLint level,
78                      GLint xoffset,
79                      GLint yoffset,
80                      GLsizei width,
81                      GLsizei height,
82                      GLenum format,
83                      GLenum type,
84                      const void* pixels) override;
85   void TexStorage2DEXT(GLenum target,
86                        GLsizei levels,
87                        GLenum internalformat,
88                        GLsizei width,
89                        GLsizei height) override;
90   void TexImageIOSurface2DCHROMIUM(GLenum target,
91                                    GLsizei width,
92                                    GLsizei height,
93                                    GLuint io_surface_id,
94                                    GLuint plane) override;
95   void TexParameteri(GLenum target, GLenum pname, GLint param) override;
96
97   void AsyncTexImage2DCHROMIUM(GLenum target,
98                                GLint level,
99                                GLenum internalformat,
100                                GLsizei width,
101                                GLsizei height,
102                                GLint border,
103                                GLenum format,
104                                GLenum type,
105                                const void* pixels) override;
106   void AsyncTexSubImage2DCHROMIUM(GLenum target,
107                                   GLint level,
108                                   GLint xoffset,
109                                   GLint yoffset,
110                                   GLsizei width,
111                                   GLsizei height,
112                                   GLenum format,
113                                   GLenum type,
114                                   const void* pixels) override;
115   void CompressedTexImage2D(GLenum target,
116                             GLint level,
117                             GLenum internalformat,
118                             GLsizei width,
119                             GLsizei height,
120                             GLint border,
121                             GLsizei image_size,
122                             const void* data) override;
123   void WaitAsyncTexImage2DCHROMIUM(GLenum target) override;
124   GLuint CreateImageCHROMIUM(ClientBuffer buffer,
125                              GLsizei width,
126                              GLsizei height,
127                              GLenum internalformat) override;
128   void DestroyImageCHROMIUM(GLuint image_id) override;
129   GLuint CreateGpuMemoryBufferImageCHROMIUM(GLsizei width,
130                                             GLsizei height,
131                                             GLenum internalformat,
132                                             GLenum usage) override;
133   void BindTexImage2DCHROMIUM(GLenum target, GLint image_id) override;
134   void ReleaseTexImage2DCHROMIUM(GLenum target, GLint image_id) override;
135   void FramebufferRenderbuffer(GLenum target,
136                                GLenum attachment,
137                                GLenum renderbuffertarget,
138                                GLuint renderbuffer) override;
139   void FramebufferTexture2D(GLenum target,
140                             GLenum attachment,
141                             GLenum textarget,
142                             GLuint texture,
143                             GLint level) override;
144   void RenderbufferStorage(GLenum target,
145                            GLenum internalformat,
146                            GLsizei width,
147                            GLsizei height) override;
148
149   void* MapBufferCHROMIUM(GLuint target, GLenum access) override;
150   GLboolean UnmapBufferCHROMIUM(GLuint target) override;
151   void BufferData(GLenum target,
152                   GLsizeiptr size,
153                   const void* data,
154                   GLenum usage) override;
155
156   void WaitSyncPointCHROMIUM(GLuint sync_point) override;
157   GLuint InsertSyncPointCHROMIUM() override;
158
159   void BeginQueryEXT(GLenum target, GLuint id) override;
160   void EndQueryEXT(GLenum target) override;
161   void GetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint* params) override;
162
163   void DiscardFramebufferEXT(GLenum target,
164                              GLsizei count,
165                              const GLenum* attachments) override;
166   void GenMailboxCHROMIUM(GLbyte* mailbox) override;
167   void ProduceTextureCHROMIUM(GLenum target, const GLbyte* mailbox) override;
168   void ProduceTextureDirectCHROMIUM(GLuint texture,
169                                     GLenum target,
170                                     const GLbyte* mailbox) override;
171   void ConsumeTextureCHROMIUM(GLenum target, const GLbyte* mailbox) override;
172   GLuint CreateAndConsumeTextureCHROMIUM(GLenum target,
173                                          const GLbyte* mailbox) override;
174
175   void ResizeCHROMIUM(GLuint width, GLuint height, float device_scale) override;
176   void LoseContextCHROMIUM(GLenum current, GLenum other) override;
177
178  private:
179   TestWebGraphicsContext3D* test_context_;
180 };
181
182 }  // namespace cc
183
184 #endif  // CC_TEST_TEST_GLES2_INTERFACE_H_