|
|
|
@ -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,
|
|
|
|
|