// Copyright 2022 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include #include #include #include "common/common_types.h" #include "common/math_util.h" namespace OpenGL { class CachedSurface; using Surface = std::shared_ptr; // Declare rasterizer interval types using SurfaceInterval = boost::icl::right_open_interval; using SurfaceSet = std::set; using SurfaceRegions = boost::icl::interval_set; using SurfaceMap = boost::icl::interval_map; using SurfaceCache = boost::icl::interval_map; static_assert(std::is_same() && std::is_same(), "Incorrect interval types"); using SurfaceRect_Tuple = std::tuple>; using SurfaceSurfaceRect_Tuple = std::tuple>; using PageMap = boost::icl::interval_map; } // namespace OpenGL