mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-16 07:50:28 +02:00
d3d: Add RebindFramebuffer().
This commit is contained in:
1 parent
6f991a1042
commit
9af3befc59
4 files changed
+14
-4
No files matched your search
@@ -110,6 +110,7 @@ public:
|
||||
}
|
||||
DoSetRenderFrameBuffer();
|
||||
}
|
||||
virtual void RebindFramebuffer() = 0;
|
||||
|
||||
size_t NumVFBs() const { return vfbs_.size(); }
|
||||
|
||||
|
||||
@@ -331,6 +331,14 @@ namespace DX9 {
|
||||
delete v;
|
||||
}
|
||||
|
||||
void FramebufferManagerDX9::RebindFramebuffer() {
|
||||
if (currentRenderVfb_ && currentRenderVfb_->fbo) {
|
||||
fbo_bind_as_render_target(currentRenderVfb_->fbo);
|
||||
} else {
|
||||
fbo_unbind();
|
||||
}
|
||||
}
|
||||
|
||||
void FramebufferManagerDX9::ResizeFramebufFBO(VirtualFramebuffer *vfb, u16 w, u16 h, bool force) {
|
||||
float renderWidthFactor = (float)vfb->renderWidth / (float)vfb->bufferWidth;
|
||||
float renderHeightFactor = (float)vfb->renderHeight / (float)vfb->bufferHeight;
|
||||
@@ -750,6 +758,7 @@ namespace DX9 {
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
RebindFramebuffer();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1006,9 +1015,7 @@ namespace DX9 {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: RebindFramebuffer();
|
||||
fbo_unbind();
|
||||
currentRenderVfb_ = 0;
|
||||
RebindFramebuffer();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -86,6 +86,8 @@ public:
|
||||
bool GetCurrentDepthbuffer(GPUDebugBuffer &buffer);
|
||||
bool GetCurrentStencilbuffer(GPUDebugBuffer &buffer);
|
||||
|
||||
virtual void RebindFramebuffer() override;
|
||||
|
||||
protected:
|
||||
virtual void DisableState() override;
|
||||
virtual void ClearBuffer() override;
|
||||
|
||||
@@ -119,7 +119,7 @@ public:
|
||||
bool GetCurrentDepthbuffer(GPUDebugBuffer &buffer);
|
||||
bool GetCurrentStencilbuffer(GPUDebugBuffer &buffer);
|
||||
|
||||
void RebindFramebuffer();
|
||||
virtual void RebindFramebuffer() override;
|
||||
|
||||
FBO *GetTempFBO(u16 w, u16 h, FBOColorDepth depth = FBO_8888);
|
||||
|
||||
|
||||
Reference in new issue
Block a user