Path: blob/21.2-virgl/src/panfrost/ds/pan_pps_perf.h
4560 views
/*1* Copyright © 2021 Collabora, Ltd.2* Author: Antonio Caggiano <[email protected]>3*4* SPDX-License-Identifier: MIT5*/67#pragma once89struct panfrost_device;10struct panfrost_perf;1112namespace pps13{14class PanfrostDevice15{16public:17PanfrostDevice(int fd);18~PanfrostDevice();1920PanfrostDevice(const PanfrostDevice &) = delete;21PanfrostDevice &operator=(const PanfrostDevice &) = delete;2223PanfrostDevice(PanfrostDevice&&);24PanfrostDevice& operator=(PanfrostDevice&&);2526void *ctx = nullptr;27struct panfrost_device* dev = nullptr;28};2930class PanfrostPerf31{32public:33PanfrostPerf(const PanfrostDevice& dev);34~PanfrostPerf();3536PanfrostPerf(const PanfrostPerf &) = delete;37PanfrostPerf &operator=(const PanfrostPerf &) = delete;3839PanfrostPerf(PanfrostPerf&&);40PanfrostPerf& operator=(PanfrostPerf&&);4142int enable() const;43void disable() const;44int dump() const;4546struct panfrost_perf *perf = nullptr;47};4849} // namespace pps505152