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