Merge pull request #8049 from stenzek/crop

Renderer: Adjust source rectangle when crop would draw off screen
This commit is contained in:
Connor McLaughlin
2019-06-08 20:57:52 +10:00
committed by GitHub
8 changed files with 83 additions and 28 deletions

View File

@ -94,11 +94,12 @@ std::unique_ptr<AbstractPipeline> SWRenderer::CreatePipeline(const AbstractPipel
}
// Called on the GPU thread
void SWRenderer::RenderXFBToScreen(const AbstractTexture* texture,
const MathUtil::Rectangle<int>& xfb_region)
void SWRenderer::RenderXFBToScreen(const MathUtil::Rectangle<int>& target_rc,
const AbstractTexture* source_texture,
const MathUtil::Rectangle<int>& source_rc)
{
if (!IsHeadless())
m_window->ShowImage(texture, xfb_region);
m_window->ShowImage(source_texture, source_rc);
}
u32 SWRenderer::AccessEFB(EFBAccessType type, u32 x, u32 y, u32 InputData)

View File

@ -42,8 +42,9 @@ public:
u16 BBoxRead(int index) override;
void BBoxWrite(int index, u16 value) override;
void RenderXFBToScreen(const AbstractTexture* texture,
const MathUtil::Rectangle<int>& rc) override;
void RenderXFBToScreen(const MathUtil::Rectangle<int>& target_rc,
const AbstractTexture* source_texture,
const MathUtil::Rectangle<int>& source_rc) override;
void ClearScreen(const MathUtil::Rectangle<int>& rc, bool colorEnable, bool alphaEnable,
bool zEnable, u32 color, u32 z) override;