1*8975f5c5SAndroid Build Coastguard Worker // 2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2015 The ANGLE Project Authors. All rights reserved. 3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker // 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard Worker // TextureImpl_mock.h: Defines a mock of the TextureImpl class. 8*8975f5c5SAndroid Build Coastguard Worker 9*8975f5c5SAndroid Build Coastguard Worker #ifndef LIBANGLE_RENDERER_TEXTUREIMPLMOCK_H_ 10*8975f5c5SAndroid Build Coastguard Worker #define LIBANGLE_RENDERER_TEXTUREIMPLMOCK_H_ 11*8975f5c5SAndroid Build Coastguard Worker 12*8975f5c5SAndroid Build Coastguard Worker #include "gmock/gmock.h" 13*8975f5c5SAndroid Build Coastguard Worker 14*8975f5c5SAndroid Build Coastguard Worker #include "libANGLE/renderer/TextureImpl.h" 15*8975f5c5SAndroid Build Coastguard Worker 16*8975f5c5SAndroid Build Coastguard Worker namespace rx 17*8975f5c5SAndroid Build Coastguard Worker { 18*8975f5c5SAndroid Build Coastguard Worker 19*8975f5c5SAndroid Build Coastguard Worker class MockTextureImpl : public TextureImpl 20*8975f5c5SAndroid Build Coastguard Worker { 21*8975f5c5SAndroid Build Coastguard Worker public: MockTextureImpl()22*8975f5c5SAndroid Build Coastguard Worker MockTextureImpl() : TextureImpl(mMockState), mMockState(gl::TextureType::_2D) {} ~MockTextureImpl()23*8975f5c5SAndroid Build Coastguard Worker virtual ~MockTextureImpl() { destructor(); } 24*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD9(setImage, 25*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 26*8975f5c5SAndroid Build Coastguard Worker const gl::ImageIndex &, 27*8975f5c5SAndroid Build Coastguard Worker GLenum, 28*8975f5c5SAndroid Build Coastguard Worker const gl::Extents &, 29*8975f5c5SAndroid Build Coastguard Worker GLenum, 30*8975f5c5SAndroid Build Coastguard Worker GLenum, 31*8975f5c5SAndroid Build Coastguard Worker const gl::PixelUnpackState &, 32*8975f5c5SAndroid Build Coastguard Worker gl::Buffer *, 33*8975f5c5SAndroid Build Coastguard Worker const uint8_t *)); 34*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD8(setSubImage, 35*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 36*8975f5c5SAndroid Build Coastguard Worker const gl::ImageIndex &, 37*8975f5c5SAndroid Build Coastguard Worker const gl::Box &, 38*8975f5c5SAndroid Build Coastguard Worker GLenum, 39*8975f5c5SAndroid Build Coastguard Worker GLenum, 40*8975f5c5SAndroid Build Coastguard Worker const gl::PixelUnpackState &, 41*8975f5c5SAndroid Build Coastguard Worker gl::Buffer *, 42*8975f5c5SAndroid Build Coastguard Worker const uint8_t *)); 43*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD7(setCompressedImage, 44*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 45*8975f5c5SAndroid Build Coastguard Worker const gl::ImageIndex &, 46*8975f5c5SAndroid Build Coastguard Worker GLenum, 47*8975f5c5SAndroid Build Coastguard Worker const gl::Extents &, 48*8975f5c5SAndroid Build Coastguard Worker const gl::PixelUnpackState &, 49*8975f5c5SAndroid Build Coastguard Worker size_t, 50*8975f5c5SAndroid Build Coastguard Worker const uint8_t *)); 51*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD7(setCompressedSubImage, 52*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 53*8975f5c5SAndroid Build Coastguard Worker const gl::ImageIndex &, 54*8975f5c5SAndroid Build Coastguard Worker const gl::Box &, 55*8975f5c5SAndroid Build Coastguard Worker GLenum, 56*8975f5c5SAndroid Build Coastguard Worker const gl::PixelUnpackState &, 57*8975f5c5SAndroid Build Coastguard Worker size_t, 58*8975f5c5SAndroid Build Coastguard Worker const uint8_t *)); 59*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD5(copyImage, 60*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 61*8975f5c5SAndroid Build Coastguard Worker const gl::ImageIndex &, 62*8975f5c5SAndroid Build Coastguard Worker const gl::Rectangle &, 63*8975f5c5SAndroid Build Coastguard Worker GLenum, 64*8975f5c5SAndroid Build Coastguard Worker gl::Framebuffer *)); 65*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD5(copySubImage, 66*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 67*8975f5c5SAndroid Build Coastguard Worker const gl::ImageIndex &, 68*8975f5c5SAndroid Build Coastguard Worker const gl::Offset &, 69*8975f5c5SAndroid Build Coastguard Worker const gl::Rectangle &, 70*8975f5c5SAndroid Build Coastguard Worker gl::Framebuffer *)); 71*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD9(copyTexture, 72*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 73*8975f5c5SAndroid Build Coastguard Worker const gl::ImageIndex &, 74*8975f5c5SAndroid Build Coastguard Worker GLenum, 75*8975f5c5SAndroid Build Coastguard Worker GLenum, 76*8975f5c5SAndroid Build Coastguard Worker GLint, 77*8975f5c5SAndroid Build Coastguard Worker bool, 78*8975f5c5SAndroid Build Coastguard Worker bool, 79*8975f5c5SAndroid Build Coastguard Worker bool, 80*8975f5c5SAndroid Build Coastguard Worker const gl::Texture *)); 81*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD9(copySubTexture, 82*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 83*8975f5c5SAndroid Build Coastguard Worker const gl::ImageIndex &, 84*8975f5c5SAndroid Build Coastguard Worker const gl::Offset &, 85*8975f5c5SAndroid Build Coastguard Worker GLint, 86*8975f5c5SAndroid Build Coastguard Worker const gl::Box &, 87*8975f5c5SAndroid Build Coastguard Worker bool, 88*8975f5c5SAndroid Build Coastguard Worker bool, 89*8975f5c5SAndroid Build Coastguard Worker bool, 90*8975f5c5SAndroid Build Coastguard Worker const gl::Texture *)); 91*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD2(copyCompressedTexture, 92*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, const gl::Texture *source)); 93*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD5( 94*8975f5c5SAndroid Build Coastguard Worker setStorage, 95*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, gl::TextureType, size_t, GLenum, const gl::Extents &)); 96*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD10(setStorageExternalMemory, 97*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 98*8975f5c5SAndroid Build Coastguard Worker gl::TextureType, 99*8975f5c5SAndroid Build Coastguard Worker size_t, 100*8975f5c5SAndroid Build Coastguard Worker GLenum, 101*8975f5c5SAndroid Build Coastguard Worker const gl::Extents &, 102*8975f5c5SAndroid Build Coastguard Worker gl::MemoryObject *, 103*8975f5c5SAndroid Build Coastguard Worker GLuint64, 104*8975f5c5SAndroid Build Coastguard Worker GLbitfield, 105*8975f5c5SAndroid Build Coastguard Worker GLbitfield, 106*8975f5c5SAndroid Build Coastguard Worker const void *)); 107*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD4(setImageExternal, 108*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 109*8975f5c5SAndroid Build Coastguard Worker gl::TextureType, 110*8975f5c5SAndroid Build Coastguard Worker egl::Stream *, 111*8975f5c5SAndroid Build Coastguard Worker const egl::Stream::GLTextureDescription &)); 112*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD3(setEGLImageTarget, 113*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, gl::TextureType, egl::Image *)); 114*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD1(generateMipmap, angle::Result(const gl::Context *)); 115*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD2(bindTexImage, angle::Result(const gl::Context *, egl::Surface *)); 116*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD1(releaseTexImage, angle::Result(const gl::Context *)); 117*8975f5c5SAndroid Build Coastguard Worker 118*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD5(getAttachmentRenderTarget, 119*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 120*8975f5c5SAndroid Build Coastguard Worker GLenum, 121*8975f5c5SAndroid Build Coastguard Worker const gl::ImageIndex &, 122*8975f5c5SAndroid Build Coastguard Worker GLsizei, 123*8975f5c5SAndroid Build Coastguard Worker FramebufferAttachmentRenderTarget **)); 124*8975f5c5SAndroid Build Coastguard Worker 125*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD6(setStorageMultisample, 126*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 127*8975f5c5SAndroid Build Coastguard Worker gl::TextureType, 128*8975f5c5SAndroid Build Coastguard Worker GLsizei, 129*8975f5c5SAndroid Build Coastguard Worker GLint, 130*8975f5c5SAndroid Build Coastguard Worker const gl::Extents &, 131*8975f5c5SAndroid Build Coastguard Worker bool)); 132*8975f5c5SAndroid Build Coastguard Worker 133*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD2(setBaseLevel, angle::Result(const gl::Context *, GLuint)); 134*8975f5c5SAndroid Build Coastguard Worker 135*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD3(syncState, 136*8975f5c5SAndroid Build Coastguard Worker angle::Result(const gl::Context *, 137*8975f5c5SAndroid Build Coastguard Worker const gl::Texture::DirtyBits &, 138*8975f5c5SAndroid Build Coastguard Worker gl::Command source)); 139*8975f5c5SAndroid Build Coastguard Worker 140*8975f5c5SAndroid Build Coastguard Worker MOCK_METHOD0(destructor, void()); 141*8975f5c5SAndroid Build Coastguard Worker 142*8975f5c5SAndroid Build Coastguard Worker protected: 143*8975f5c5SAndroid Build Coastguard Worker gl::TextureState mMockState; 144*8975f5c5SAndroid Build Coastguard Worker }; 145*8975f5c5SAndroid Build Coastguard Worker } // namespace rx 146*8975f5c5SAndroid Build Coastguard Worker 147*8975f5c5SAndroid Build Coastguard Worker #endif // LIBANGLE_RENDERER_TEXTUREIMPLMOCK_H_ 148