| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CC_TEST_TEST_GLES2_INTERFACE_H_ |
| #define CC_TEST_TEST_GLES2_INTERFACE_H_ |
| |
| #include "gpu/command_buffer/client/gles2_interface_stub.h" |
| |
| namespace cc { |
| class TestWebGraphicsContext3D; |
| |
| class TestGLES2Interface : public gpu::gles2::GLES2InterfaceStub { |
| public: |
| explicit TestGLES2Interface(TestWebGraphicsContext3D* test_context); |
| virtual ~TestGLES2Interface(); |
| |
| virtual void GenTextures(GLsizei n, GLuint* textures) override; |
| virtual void GenBuffers(GLsizei n, GLuint* buffers) override; |
| virtual void GenFramebuffers(GLsizei n, GLuint* framebuffers) override; |
| virtual void GenRenderbuffers(GLsizei n, GLuint* renderbuffers) override; |
| virtual void GenQueriesEXT(GLsizei n, GLuint* queries) override; |
| |
| virtual void DeleteTextures(GLsizei n, const GLuint* textures) override; |
| virtual void DeleteBuffers(GLsizei n, const GLuint* buffers) override; |
| virtual void DeleteFramebuffers(GLsizei n, |
| const GLuint* framebuffers) override; |
| virtual void DeleteQueriesEXT(GLsizei n, const GLuint* queries) override; |
| |
| virtual GLuint CreateShader(GLenum type) override; |
| virtual GLuint CreateProgram() override; |
| |
| virtual void BindTexture(GLenum target, GLuint texture) override; |
| |
| virtual void GetIntegerv(GLenum pname, GLint* params) override; |
| virtual void GetShaderiv(GLuint shader, GLenum pname, GLint* params) override; |
| virtual void GetProgramiv(GLuint program, |
| GLenum pname, |
| GLint* params) override; |
| virtual void GetShaderPrecisionFormat(GLenum shadertype, |
| GLenum precisiontype, |
| GLint* range, |
| GLint* precision) override; |
| virtual GLenum CheckFramebufferStatus(GLenum target) override; |
| |
| virtual void ActiveTexture(GLenum target) override; |
| virtual void Viewport(GLint x, GLint y, GLsizei width, GLsizei height) |
| override; |
| virtual void UseProgram(GLuint program) override; |
| virtual void Scissor(GLint x, GLint y, GLsizei width, GLsizei height) |
| override; |
| virtual void DrawElements(GLenum mode, |
| GLsizei count, |
| GLenum type, |
| const void* indices) override; |
| virtual void ClearColor(GLclampf red, |
| GLclampf green, |
| GLclampf blue, |
| GLclampf alpha) override; |
| virtual void ClearStencil(GLint s) override; |
| virtual void Clear(GLbitfield mask) override; |
| virtual void Flush() override; |
| virtual void Finish() override; |
| virtual void ShallowFlushCHROMIUM() override; |
| virtual void Enable(GLenum cap) override; |
| virtual void Disable(GLenum cap) override; |
| |
| virtual void BindBuffer(GLenum target, GLuint buffer) override; |
| virtual void BindRenderbuffer(GLenum target, GLuint buffer) override; |
| virtual void BindFramebuffer(GLenum target, GLuint buffer) override; |
| |
| virtual void TexImage2D(GLenum target, |
| GLint level, |
| GLint internalformat, |
| GLsizei width, |
| GLsizei height, |
| GLint border, |
| GLenum format, |
| GLenum type, |
| const void* pixels) override; |
| virtual void TexSubImage2D(GLenum target, |
| GLint level, |
| GLint xoffset, |
| GLint yoffset, |
| GLsizei width, |
| GLsizei height, |
| GLenum format, |
| GLenum type, |
| const void* pixels) override; |
| virtual void TexStorage2DEXT(GLenum target, |
| GLsizei levels, |
| GLenum internalformat, |
| GLsizei width, |
| GLsizei height) override; |
| virtual void TexImageIOSurface2DCHROMIUM(GLenum target, |
| GLsizei width, |
| GLsizei height, |
| GLuint io_surface_id, |
| GLuint plane) override; |
| virtual void TexParameteri(GLenum target, GLenum pname, GLint param) override; |
| |
| virtual void AsyncTexImage2DCHROMIUM(GLenum target, |
| GLint level, |
| GLenum internalformat, |
| GLsizei width, |
| GLsizei height, |
| GLint border, |
| GLenum format, |
| GLenum type, |
| const void* pixels) override; |
| virtual void AsyncTexSubImage2DCHROMIUM(GLenum target, |
| GLint level, |
| GLint xoffset, |
| GLint yoffset, |
| GLsizei width, |
| GLsizei height, |
| GLenum format, |
| GLenum type, |
| const void* pixels) override; |
| virtual void CompressedTexImage2D(GLenum target, |
| GLint level, |
| GLenum internalformat, |
| GLsizei width, |
| GLsizei height, |
| GLint border, |
| GLsizei image_size, |
| const void* data) override; |
| virtual void WaitAsyncTexImage2DCHROMIUM(GLenum target) override; |
| virtual GLuint CreateImageCHROMIUM(ClientBuffer buffer, |
| GLsizei width, |
| GLsizei height, |
| GLenum internalformat) override; |
| virtual void DestroyImageCHROMIUM(GLuint image_id) override; |
| virtual GLuint CreateGpuMemoryBufferImageCHROMIUM(GLsizei width, |
| GLsizei height, |
| GLenum internalformat, |
| GLenum usage) override; |
| virtual void BindTexImage2DCHROMIUM(GLenum target, GLint image_id) override; |
| virtual void ReleaseTexImage2DCHROMIUM(GLenum target, |
| GLint image_id) override; |
| virtual void FramebufferRenderbuffer(GLenum target, |
| GLenum attachment, |
| GLenum renderbuffertarget, |
| GLuint renderbuffer) override; |
| virtual void FramebufferTexture2D(GLenum target, |
| GLenum attachment, |
| GLenum textarget, |
| GLuint texture, |
| GLint level) override; |
| virtual void RenderbufferStorage(GLenum target, |
| GLenum internalformat, |
| GLsizei width, |
| GLsizei height) override; |
| |
| virtual void* MapBufferCHROMIUM(GLuint target, GLenum access) override; |
| virtual GLboolean UnmapBufferCHROMIUM(GLuint target) override; |
| virtual void BufferData(GLenum target, |
| GLsizeiptr size, |
| const void* data, |
| GLenum usage) override; |
| |
| virtual void WaitSyncPointCHROMIUM(GLuint sync_point) override; |
| virtual GLuint InsertSyncPointCHROMIUM() override; |
| |
| virtual void BeginQueryEXT(GLenum target, GLuint id) override; |
| virtual void EndQueryEXT(GLenum target) override; |
| virtual void GetQueryObjectuivEXT(GLuint id, |
| GLenum pname, |
| GLuint* params) override; |
| |
| virtual void DiscardFramebufferEXT(GLenum target, |
| GLsizei count, |
| const GLenum* attachments) override; |
| virtual void GenMailboxCHROMIUM(GLbyte* mailbox) override; |
| virtual void ProduceTextureCHROMIUM(GLenum target, |
| const GLbyte* mailbox) override; |
| virtual void ProduceTextureDirectCHROMIUM(GLuint texture, |
| GLenum target, |
| const GLbyte* mailbox) override; |
| virtual void ConsumeTextureCHROMIUM(GLenum target, |
| const GLbyte* mailbox) override; |
| virtual GLuint CreateAndConsumeTextureCHROMIUM( |
| GLenum target, |
| const GLbyte* mailbox) override; |
| |
| virtual void ResizeCHROMIUM(GLuint width, |
| GLuint height, |
| float device_scale) override; |
| virtual void LoseContextCHROMIUM(GLenum current, GLenum other) override; |
| |
| private: |
| TestWebGraphicsContext3D* test_context_; |
| }; |
| |
| } // namespace cc |
| |
| #endif // CC_TEST_TEST_GLES2_INTERFACE_H_ |