diff options
author | bunnei <bunneidev@gmail.com> | 2018-04-29 02:40:03 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-04-29 02:40:03 +0200 |
commit | f87ea8fa8b5c28f0af2fe1e7ccffa52c43d5a099 (patch) | |
tree | f087a390c3c99076216bb42065690dc19d01ac41 /src/video_core/engines | |
parent | Merge pull request #414 from lioncash/cruft (diff) | |
download | yuzu-f87ea8fa8b5c28f0af2fe1e7ccffa52c43d5a099.tar yuzu-f87ea8fa8b5c28f0af2fe1e7ccffa52c43d5a099.tar.gz yuzu-f87ea8fa8b5c28f0af2fe1e7ccffa52c43d5a099.tar.bz2 yuzu-f87ea8fa8b5c28f0af2fe1e7ccffa52c43d5a099.tar.lz yuzu-f87ea8fa8b5c28f0af2fe1e7ccffa52c43d5a099.tar.xz yuzu-f87ea8fa8b5c28f0af2fe1e7ccffa52c43d5a099.tar.zst yuzu-f87ea8fa8b5c28f0af2fe1e7ccffa52c43d5a099.zip |
Diffstat (limited to 'src/video_core/engines')
-rw-r--r-- | src/video_core/engines/fermi_2d.cpp | 4 | ||||
-rw-r--r-- | src/video_core/engines/fermi_2d.h | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/video_core/engines/fermi_2d.cpp b/src/video_core/engines/fermi_2d.cpp index 9019f2504..6b9382f06 100644 --- a/src/video_core/engines/fermi_2d.cpp +++ b/src/video_core/engines/fermi_2d.cpp @@ -59,12 +59,12 @@ void Fermi2D::HandleSurfaceCopy() { // If the input is tiled and the output is linear, deswizzle the input and copy it over. Texture::CopySwizzledData(regs.src.width, regs.src.height, src_bytes_per_pixel, dst_bytes_per_pixel, src_buffer, dst_buffer, true, - regs.src.block_height); + regs.src.BlockHeight()); } else { // If the input is linear and the output is tiled, swizzle the input and copy it over. Texture::CopySwizzledData(regs.src.width, regs.src.height, src_bytes_per_pixel, dst_bytes_per_pixel, dst_buffer, src_buffer, false, - regs.dst.block_height); + regs.dst.BlockHeight()); } } diff --git a/src/video_core/engines/fermi_2d.h b/src/video_core/engines/fermi_2d.h index 0c5b413cc..70667cb94 100644 --- a/src/video_core/engines/fermi_2d.h +++ b/src/video_core/engines/fermi_2d.h @@ -49,6 +49,11 @@ public: return static_cast<GPUVAddr>((static_cast<GPUVAddr>(address_high) << 32) | address_low); } + + u32 BlockHeight() const { + // The block height is stored in log2 format. + return 1 << block_height; + } }; static_assert(sizeof(Surface) == 0x28, "Surface has incorrect size"); |