rasterizer_accelerated.h 770 B

12345678910111213141516171819202122232425262728293031
  1. // Copyright 2019 yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <mutex>
  6. #include <boost/icl/interval_map.hpp>
  7. #include "common/common_types.h"
  8. #include "video_core/rasterizer_interface.h"
  9. namespace VideoCore {
  10. /// Implements the shared part in GPU accelerated rasterizers in RasterizerInterface.
  11. class RasterizerAccelerated : public RasterizerInterface {
  12. public:
  13. explicit RasterizerAccelerated();
  14. ~RasterizerAccelerated() override;
  15. void UpdatePagesCachedCount(VAddr addr, u64 size, int delta) override;
  16. private:
  17. using CachedPageMap = boost::icl::interval_map<u64, int>;
  18. CachedPageMap cached_pages;
  19. std::mutex pages_mutex;
  20. };
  21. } // namespace VideoCore