D3D11: Implement basic framebuffer readback.

Also make debug interfaces more consistent.
This commit is contained in:
Henrik Rydgard 2017-02-14 12:42:35 +01:00
parent 522ac5c739
commit 0e8aeaea3a
21 changed files with 118 additions and 177 deletions

View file

@ -152,6 +152,7 @@ namespace Draw {
class DrawContext;
}
struct GPUDebugBuffer;
class TextureCacheCommon;
class ShaderManagerCommon;
@ -264,6 +265,11 @@ public:
Draw::Framebuffer *GetTempFBO(u16 w, u16 h, Draw::FBColorDepth depth = Draw::FBO_8888);
// Debug features
virtual bool GetFramebuffer(u32 fb_address, int fb_stride, GEBufferFormat format, GPUDebugBuffer &buffer, int maxRes) = 0;
virtual bool GetDepthbuffer(u32 fb_address, int fb_stride, u32 z_address, int z_stride, GPUDebugBuffer &buffer) = 0;
virtual bool GetStencilbuffer(u32 fb_address, int fb_stride, GPUDebugBuffer &buffer) = 0;
protected:
virtual void SetViewport2D(int x, int y, int w, int h) = 0;
void CalculatePostShaderUniforms(int bufferWidth, int bufferHeight, int renderWidth, int renderHeight, PostShaderUniforms *uniforms);