blob: d2f6baf4006655f9c4ef7d8d5695cd1d039871dc [file] [log] [blame]
Brian Salomoncfe910d2017-07-06 16:40:18 -04001/*
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
14class GrMockGpuCommandBuffer : public GrGpuCommandBuffer {
15public:
16 GrMockGpuCommandBuffer(GrMockGpu* gpu) : fGpu(gpu) {}
17
18 GrGpu* gpu() override { return fGpu; }
Robert Phillips4f101a72017-07-28 08:42:04 -040019 void inlineUpload(GrOpFlushState*, GrDrawOp::DeferredUploadFn&,
20 GrRenderTargetProxy*) override {}
21 void discard(GrRenderTargetProxy*) override {}
Robert Phillips65a88fa2017-08-08 08:36:22 -040022 void insertEventMarker(GrRenderTargetProxy*, const char*) override {}
Robert Phillips95214472017-08-08 18:00:03 -040023 void begin() override {}
Brian Salomoncfe910d2017-07-06 16:40:18 -040024 void end() override {}
25
26 int numDraws() const { return fNumDraws; }
27
28private:
29 void onSubmit() override { fGpu->submitCommandBuffer(this); }
30 void onDraw(const GrPipeline&, const GrPrimitiveProcessor&, const GrMesh[],
31 const GrPipeline::DynamicState[], int meshCount, const SkRect& bounds) override {
32 ++fNumDraws;
33 }
Robert Phillips4f101a72017-07-28 08:42:04 -040034 void onClear(GrRenderTargetProxy*, const GrFixedClip&, GrColor) override {}
35 void onClearStencilClip(GrRenderTargetProxy*, const GrFixedClip&,
36 bool insideStencilMask) override {}
Brian Salomoncfe910d2017-07-06 16:40:18 -040037 GrRenderTarget* renderTarget() override { return nullptr; }
38
39 GrMockGpu* fGpu;
40 int fNumDraws = 0;
41
42 typedef GrGpuCommandBuffer INHERITED;
43};
44
45#endif