Home | History | Annotate | Download | only in test
      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_
    199