1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Copyright 2017 Google Inc. 3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * 4fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Use of this source code is governed by a BSD-style license that can be 5fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * found in the LICENSE file. 6fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 7fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 8fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#ifndef GrMockBuffer_DEFINED 9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#define GrMockBuffer_DEFINED 10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "GrBuffer.h" 12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "GrCaps.h" 13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "GrMockGpu.h" 14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass GrMockBuffer : public GrBuffer { 16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotpublic: 17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot GrMockBuffer(GrMockGpu* gpu, size_t sizeInBytes, GrBufferType type, 18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot GrAccessPattern accessPattern) 19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot : INHERITED(gpu, sizeInBytes, type, accessPattern) { 20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot this->registerWithCache(SkBudgeted::kYes); 21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot } 22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprivate: 24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot void onMap() override { 25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot if (GrCaps::kNone_MapFlags != this->getGpu()->caps()->mapBufferFlags()) { 26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot fMapPtr = sk_malloc_throw(this->sizeInBytes()); 27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot } 28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot } 29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot void onUnmap() override { sk_free(fMapPtr); } 30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot bool onUpdateData(const void* src, size_t srcSizeInBytes) override { return true; } 31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot typedef GrBuffer INHERITED; 33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot}; 34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 35fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#endif 36