// SPDX-License-Identifier: MPL-2.0 // Copyright © 2022 Ryujinx Team and Contributors (https://github.com/ryujinx/) // Copyright © 2022 Skyline Team and Contributors (https://github.com/skyline-emu/) #pragma once #include namespace skyline::gpu { class GPU; } namespace skyline::soc::gm20b { struct ChannelContext; } namespace skyline::gpu::interconnect { class CommandExecutor; /** * @brief Handles translating Maxwell DMA operations to Vulkan */ class MaxwellDma { private: GPU &gpu; soc::gm20b::ChannelContext &channelCtx; gpu::interconnect::CommandExecutor &executor; public: MaxwellDma(GPU &gpu, soc::gm20b::ChannelContext &channelCtx); void Copy(span dstMapping, span srcMapping); void Clear(span mapping, u32 value); }; }