|
|
|
@ -34,6 +34,7 @@ using SurfaceTarget = VideoCore::Surface::SurfaceTarget; |
|
|
|
using SurfaceType = VideoCore::Surface::SurfaceType; |
|
|
|
using PixelFormat = VideoCore::Surface::PixelFormat; |
|
|
|
using ComponentType = VideoCore::Surface::ComponentType; |
|
|
|
using Maxwell = Tegra::Engines::Maxwell3D::Regs; |
|
|
|
|
|
|
|
struct SurfaceParams { |
|
|
|
enum class SurfaceClass { |
|
|
|
@ -449,6 +450,9 @@ private: |
|
|
|
/// Tries to get a reserved surface for the specified parameters |
|
|
|
Surface TryGetReservedSurface(const SurfaceParams& params); |
|
|
|
|
|
|
|
/// When a render target is changed, this method is called with the previous render target |
|
|
|
void NotifyFrameBufferChange(Surface triggering_surface); |
|
|
|
|
|
|
|
/// Performs a slow but accurate surface copy, flushing to RAM and reinterpreting the data |
|
|
|
void AccurateCopySurface(const Surface& src_surface, const Surface& dst_surface); |
|
|
|
void FastLayeredCopySurface(const Surface& src_surface, const Surface& dst_surface); |
|
|
|
@ -469,7 +473,8 @@ private: |
|
|
|
/// using the new format. |
|
|
|
OGLBuffer copy_pbo; |
|
|
|
|
|
|
|
std::array<Surface, Tegra::Engines::Maxwell3D::Regs::NumRenderTargets> last_color_buffers; |
|
|
|
std::array<Surface, Maxwell::NumRenderTargets> last_color_buffers; |
|
|
|
std::array<Surface, Maxwell::NumRenderTargets> current_color_buffers; |
|
|
|
Surface last_depth_buffer; |
|
|
|
}; |
|
|
|
|
|
|
|
|