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