• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2017 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #ifndef GrMockGpuCommandBuffer_DEFINED
9 #define GrMockGpuCommandBuffer_DEFINED
10 
11 #include "GrGpuCommandBuffer.h"
12 #include "GrMockGpu.h"
13 
14 class GrMockGpuTextureCommandBuffer : public GrGpuTextureCommandBuffer {
15 public:
GrMockGpuTextureCommandBuffer(GrTexture * texture,GrSurfaceOrigin origin)16     GrMockGpuTextureCommandBuffer(GrTexture* texture, GrSurfaceOrigin origin)
17         : INHERITED(texture, origin) {
18     }
19 
~GrMockGpuTextureCommandBuffer()20     ~GrMockGpuTextureCommandBuffer() override {}
21 
copy(GrSurface * src,GrSurfaceOrigin srcOrigin,const SkIRect & srcRect,const SkIPoint & dstPoint)22     void copy(GrSurface* src, GrSurfaceOrigin srcOrigin, const SkIRect& srcRect,
23               const SkIPoint& dstPoint) override {}
insertEventMarker(const char *)24     void insertEventMarker(const char*) override {}
25 
26 private:
27     typedef GrGpuTextureCommandBuffer INHERITED;
28 };
29 
30 class GrMockGpuRTCommandBuffer : public GrGpuRTCommandBuffer {
31 public:
GrMockGpuRTCommandBuffer(GrMockGpu * gpu,GrRenderTarget * rt,GrSurfaceOrigin origin)32     GrMockGpuRTCommandBuffer(GrMockGpu* gpu, GrRenderTarget* rt, GrSurfaceOrigin origin)
33             : INHERITED(rt, origin)
34             , fGpu(gpu) {
35     }
36 
gpu()37     GrGpu* gpu() override { return fGpu; }
inlineUpload(GrOpFlushState *,GrDeferredTextureUploadFn &)38     void inlineUpload(GrOpFlushState*, GrDeferredTextureUploadFn&) override {}
discard()39     void discard() override {}
insertEventMarker(const char *)40     void insertEventMarker(const char*) override {}
begin()41     void begin() override {}
end()42     void end() override {}
copy(GrSurface * src,GrSurfaceOrigin srcOrigin,const SkIRect & srcRect,const SkIPoint & dstPoint)43     void copy(GrSurface* src, GrSurfaceOrigin srcOrigin, const SkIRect& srcRect,
44               const SkIPoint& dstPoint) override {}
45 
numDraws()46     int numDraws() const { return fNumDraws; }
47 
48 private:
onDraw(const GrPrimitiveProcessor &,const GrPipeline &,const GrPipeline::FixedDynamicState *,const GrPipeline::DynamicStateArrays *,const GrMesh[],int meshCount,const SkRect & bounds)49     void onDraw(const GrPrimitiveProcessor&, const GrPipeline&,
50                 const GrPipeline::FixedDynamicState*, const GrPipeline::DynamicStateArrays*,
51                 const GrMesh[], int meshCount, const SkRect& bounds) override {
52         ++fNumDraws;
53     }
onClear(const GrFixedClip &,const SkPMColor4f &)54     void onClear(const GrFixedClip&, const SkPMColor4f&) override {}
onClearStencilClip(const GrFixedClip &,bool insideStencilMask)55     void onClearStencilClip(const GrFixedClip&, bool insideStencilMask) override {}
56 
57     GrMockGpu* fGpu;
58     int fNumDraws = 0;
59 
60     typedef GrGpuRTCommandBuffer INHERITED;
61 };
62 
63 #endif
64