mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-08-04 07:09:51 +00:00
gl: fix wcb regression
- Partial framebuffers and blit targets are possible!
This commit is contained in:
parent
493d4e8613
commit
0fc67aa2f6
1 changed files with 15 additions and 2 deletions
|
@ -493,13 +493,26 @@ namespace gl
|
||||||
require_manual_shuffle = true;
|
require_manual_shuffle = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (real_pitch >= rsx_pitch || scaled_texture != 0)
|
if (real_pitch >= rsx_pitch || scaled_texture != 0 || valid_range.second <= rsx_pitch)
|
||||||
{
|
{
|
||||||
memcpy(dst, src, valid_range.second);
|
memcpy(dst, src, valid_range.second);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fmt::throw_exception("Unreachable");
|
if (valid_range.second % rsx_pitch)
|
||||||
|
{
|
||||||
|
fmt::throw_exception("Unreachable" HERE);
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 *_src = (u8*)src;
|
||||||
|
u8 *_dst = (u8*)dst;
|
||||||
|
const auto num_rows = valid_range.second / rsx_pitch;
|
||||||
|
for (u32 row = 0; row < num_rows; ++row)
|
||||||
|
{
|
||||||
|
memcpy(_dst, _src, real_pitch);
|
||||||
|
_src += real_pitch;
|
||||||
|
_dst += rsx_pitch;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (require_manual_shuffle)
|
if (require_manual_shuffle)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue