#pragma once #include "tiler.hpp" #include #include namespace amdgpu { struct GpuTiler { struct Impl; GpuTiler(); ~GpuTiler(); void detile(Scheduler &scheduler, const amdgpu::SurfaceInfo &info, amdgpu::TileMode tileMode, std::uint64_t srcTiledAddress, std::uint64_t dstLinearAddress, int mipLevel, int baseArray, int arrayCount); void tile(Scheduler &scheduler, const amdgpu::SurfaceInfo &info, amdgpu::TileMode tileMode, std::uint64_t srcLinearAddress, std::uint64_t dstTiledAddress, int mipLevel, int baseArray, int arrayCount); private: std::unique_ptr mImpl; }; } // namespace amdgpu