diff options
| author | bunnei <bunneidev@gmail.com> | 2018-04-25 20:40:17 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-04-25 20:40:17 -0400 |
| commit | 42d43ea741886b9592fd7dfd57c33228afacf44c (patch) | |
| tree | abfeb405b9c710816ad9ea8e06ea14854c0eb4a9 /src/video_core/textures | |
| parent | d0825c951902d7aecc3c89c7f31f246b75befd95 (diff) | |
| parent | 20d86d8a36dca4bf1b465193745a365c3ab9abcd (diff) | |
Merge pull request #387 from Subv/maxwell_2d
GPU: Partially implemented the 2D surface copy engine
Diffstat (limited to 'src/video_core/textures')
| -rw-r--r-- | src/video_core/textures/decoders.cpp | 5 | ||||
| -rw-r--r-- | src/video_core/textures/decoders.h | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/video_core/textures/decoders.cpp b/src/video_core/textures/decoders.cpp index 9c3ae875c..8b39b2bdf 100644 --- a/src/video_core/textures/decoders.cpp +++ b/src/video_core/textures/decoders.cpp @@ -27,9 +27,8 @@ static u32 GetSwizzleOffset(u32 x, u32 y, u32 image_width, u32 bytes_per_pixel, return address; } -static void CopySwizzledData(u32 width, u32 height, u32 bytes_per_pixel, u32 out_bytes_per_pixel, - u8* swizzled_data, u8* unswizzled_data, bool unswizzle, - u32 block_height) { +void CopySwizzledData(u32 width, u32 height, u32 bytes_per_pixel, u32 out_bytes_per_pixel, + u8* swizzled_data, u8* unswizzled_data, bool unswizzle, u32 block_height) { u8* data_ptrs[2]; for (unsigned y = 0; y < height; ++y) { for (unsigned x = 0; x < width; ++x) { diff --git a/src/video_core/textures/decoders.h b/src/video_core/textures/decoders.h index a700911cf..2562c4b06 100644 --- a/src/video_core/textures/decoders.h +++ b/src/video_core/textures/decoders.h @@ -17,6 +17,10 @@ namespace Texture { std::vector<u8> UnswizzleTexture(VAddr address, TextureFormat format, u32 width, u32 height, u32 block_height = TICEntry::DefaultBlockHeight); +/// Copies texture data from a buffer and performs swizzling/unswizzling as necessary. +void CopySwizzledData(u32 width, u32 height, u32 bytes_per_pixel, u32 out_bytes_per_pixel, + u8* swizzled_data, u8* unswizzled_data, bool unswizzle, u32 block_height); + /** * Decodes an unswizzled texture into a A8R8G8B8 texture. */ |
