blob: f21843fe1aabb488d2e1ca1d228f83c533f428be [file] [log] [blame]
/*
* Copyright 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <bpf/BpfMap.h>
#include <gpumem/GpuMem.h>
namespace android {
class TestableGpuMem {
public:
TestableGpuMem() = default;
explicit TestableGpuMem(GpuMem *gpuMem) : mGpuMem(gpuMem) {}
void setInitialized() { mGpuMem->mInitialized.store(true); }
void setGpuMemTotalMap(bpf::BpfMapRO<uint64_t, uint64_t>& map) {
mGpuMem->setGpuMemTotalMap(map);
}
std::string getGpuMemTraceGroup() { return mGpuMem->kGpuMemTraceGroup; }
std::string getGpuMemTotalTracepoint() { return mGpuMem->kGpuMemTotalTracepoint; }
std::string getGpuMemTotalProgPath() { return mGpuMem->kGpuMemTotalProgPath; }
std::string getGpuMemTotalMapPath() { return mGpuMem->kGpuMemTotalMapPath; }
private:
GpuMem *mGpuMem;
};
} // namespace android