1 // Copyright (c) 2012 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.
5 // This file contains the mock GLES2Decoder class.
7 #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_MOCK_H_
8 #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_MOCK_H_
12 #include "base/callback.h"
13 #include "gpu/command_buffer/common/mailbox.h"
14 #include "gpu/command_buffer/service/gles2_cmd_decoder.h"
15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "ui/gfx/geometry/size.h"
24 class AsyncPixelTransferDelegate
;
33 class MockGLES2Decoder
: public GLES2Decoder
{
36 virtual ~MockGLES2Decoder();
38 error::Error
FakeDoCommands(unsigned int num_commands
,
41 int* entries_processed
);
43 MOCK_METHOD6(Initialize
,
44 bool(const scoped_refptr
<gfx::GLSurface
>& surface
,
45 const scoped_refptr
<gfx::GLContext
>& context
,
47 const gfx::Size
& size
,
48 const DisallowedFeatures
& disallowed_features
,
49 const std::vector
<int32
>& attribs
));
50 MOCK_METHOD1(Destroy
, void(bool have_context
));
51 MOCK_METHOD1(SetSurface
, void(const scoped_refptr
<gfx::GLSurface
>& surface
));
52 MOCK_METHOD1(ProduceFrontBuffer
, void(const Mailbox
& mailbox
));
53 MOCK_METHOD1(ResizeOffscreenFrameBuffer
, bool(const gfx::Size
& size
));
54 MOCK_METHOD0(MakeCurrent
, bool());
55 MOCK_METHOD1(GetServiceIdForTesting
, uint32(uint32 client_id
));
56 MOCK_METHOD0(GetGLES2Util
, GLES2Util
*());
57 MOCK_METHOD0(GetGLSurface
, gfx::GLSurface
*());
58 MOCK_METHOD0(GetGLContext
, gfx::GLContext
*());
59 MOCK_METHOD0(GetContextGroup
, ContextGroup
*());
60 MOCK_METHOD0(GetContextState
, const ContextState
*());
61 MOCK_METHOD0(GetCapabilities
, Capabilities());
62 MOCK_CONST_METHOD0(HasPendingQueries
, bool());
63 MOCK_METHOD1(ProcessPendingQueries
, void(bool));
64 MOCK_CONST_METHOD0(HasMoreIdleWork
, bool());
65 MOCK_METHOD0(PerformIdleWork
, void());
66 MOCK_METHOD1(RestoreState
, void(const ContextState
* prev_state
));
67 MOCK_CONST_METHOD0(RestoreActiveTexture
, void());
69 RestoreAllTextureUnitBindings
, void(const ContextState
* state
));
71 RestoreActiveTextureUnitBinding
, void(unsigned int target
));
72 MOCK_CONST_METHOD0(RestoreBufferBindings
, void());
73 MOCK_CONST_METHOD0(RestoreFramebufferBindings
, void());
74 MOCK_CONST_METHOD0(RestoreGlobalState
, void());
75 MOCK_CONST_METHOD0(RestoreProgramBindings
, void());
76 MOCK_METHOD0(RestoreRenderbufferBindings
, void());
77 MOCK_CONST_METHOD1(RestoreTextureState
, void(unsigned service_id
));
78 MOCK_CONST_METHOD1(RestoreTextureUnitBindings
, void(unsigned unit
));
79 MOCK_CONST_METHOD0(ClearAllAttributes
, void());
80 MOCK_CONST_METHOD0(RestoreAllAttributes
, void());
81 MOCK_METHOD0(GetQueryManager
, gpu::gles2::QueryManager
*());
82 MOCK_METHOD0(GetVertexArrayManager
, gpu::gles2::VertexArrayManager
*());
83 MOCK_METHOD0(GetImageManager
, gpu::gles2::ImageManager
*());
84 MOCK_METHOD0(GetValuebufferManager
, gpu::gles2::ValuebufferManager
*());
86 SetResizeCallback
, void(const base::Callback
<void(gfx::Size
, float)>&));
87 MOCK_METHOD1(SetIgnoreCachedStateForTest
, void(bool ignore
));
88 MOCK_METHOD1(SetAllowExit
, void(bool allow
));
89 MOCK_METHOD3(DoCommand
, error::Error(unsigned int command
,
90 unsigned int arg_count
,
91 const void* cmd_data
));
92 MOCK_METHOD4(DoCommands
,
93 error::Error(unsigned int num_commands
,
96 int* entries_processed
));
97 MOCK_METHOD2(GetServiceTextureId
, bool(uint32 client_texture_id
,
98 uint32
* service_texture_id
));
99 MOCK_METHOD0(GetContextLostReason
, error::ContextLostReason());
100 MOCK_CONST_METHOD1(GetCommandName
, const char*(unsigned int command_id
));
101 MOCK_METHOD9(ClearLevel
,
102 bool(Texture
* texture
,
111 MOCK_METHOD0(GetErrorState
, ErrorState
*());
113 MOCK_METHOD0(GetLogger
, Logger
*());
114 MOCK_METHOD1(SetShaderCacheCallback
,
115 void(const ShaderCacheCallback
& callback
));
116 MOCK_METHOD1(SetWaitSyncPointCallback
,
117 void(const WaitSyncPointCallback
& callback
));
118 MOCK_METHOD1(WaitForReadPixels
,
119 void(base::Closure callback
));
120 MOCK_METHOD0(GetTextureUploadCount
, uint32());
121 MOCK_METHOD0(GetTotalTextureUploadTime
, base::TimeDelta());
122 MOCK_METHOD0(GetTotalProcessingCommandsTime
, base::TimeDelta());
123 MOCK_METHOD1(AddProcessingCommandsTime
, void(base::TimeDelta
));
124 MOCK_CONST_METHOD0(WasContextLost
, bool());
125 MOCK_CONST_METHOD0(WasContextLostByRobustnessExtension
, bool());
126 MOCK_METHOD1(MarkContextLost
, void(gpu::error::ContextLostReason reason
));
128 DISALLOW_COPY_AND_ASSIGN(MockGLES2Decoder
);
134 #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_MOCK_H_