// Copyright 2022 Dolphin Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "VideoCommon/BoundingBox.h" #include #include "VideoBackends/Metal/MRCHelpers.h" namespace Metal { class BoundingBox final : public ::BoundingBox { public: ~BoundingBox() override; bool Initialize() override; protected: std::vector Read(u32 index, u32 length) override; void Write(u32 index, const std::vector& values) override; private: BBoxType* m_cpu_buffer_ptr; MRCOwned> m_download_fence; MRCOwned> m_upload_fence; MRCOwned> m_cpu_buffer; MRCOwned> m_gpu_buffer; }; } // namespace Metal