|
|
|
@ -41,6 +41,10 @@ namespace Core::Frontend { |
|
|
|
class EmuWindow; |
|
|
|
} |
|
|
|
|
|
|
|
namespace Tegra { |
|
|
|
class MemoryManager; |
|
|
|
} |
|
|
|
|
|
|
|
namespace OpenGL { |
|
|
|
|
|
|
|
struct ScreenInfo; |
|
|
|
@ -53,12 +57,16 @@ public: |
|
|
|
ScreenInfo& info); |
|
|
|
~RasterizerOpenGL() override; |
|
|
|
|
|
|
|
void InitMemoryMananger(Tegra::MemoryManager& memory_manager) override; |
|
|
|
|
|
|
|
void DrawArrays() override; |
|
|
|
void Clear() override; |
|
|
|
void FlushAll() override; |
|
|
|
void FlushRegion(CacheAddr addr, u64 size) override; |
|
|
|
void InvalidateRegion(CacheAddr addr, u64 size) override; |
|
|
|
void InvalidateRegionEx(GPUVAddr gpu_addr, CacheAddr addr, u64 size); |
|
|
|
void FlushAndInvalidateRegion(CacheAddr addr, u64 size) override; |
|
|
|
void FlushAndInvalidateRegionEx(GPUVAddr gpu_addr, CacheAddr addr, u64 size) override; |
|
|
|
bool AccelerateSurfaceCopy(const Tegra::Engines::Fermi2D::Regs::Surface& src, |
|
|
|
const Tegra::Engines::Fermi2D::Regs::Surface& dst, |
|
|
|
const Common::Rectangle<u32>& src_rect, |
|
|
|
|