summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-04-25 04:58:45 +0200
committerSubv <subv2112@gmail.com>2018-04-25 18:55:30 +0200
commit1dd4861d38b862724052a5db66067d77ede468d4 (patch)
tree8e6db1e5dcbe180ce341f9872ba6e382d8baaac9
parentGPU: Added a function to retrieve the bytes per pixel of the render target formats. (diff)
downloadyuzu-1dd4861d38b862724052a5db66067d77ede468d4.tar
yuzu-1dd4861d38b862724052a5db66067d77ede468d4.tar.gz
yuzu-1dd4861d38b862724052a5db66067d77ede468d4.tar.bz2
yuzu-1dd4861d38b862724052a5db66067d77ede468d4.tar.lz
yuzu-1dd4861d38b862724052a5db66067d77ede468d4.tar.xz
yuzu-1dd4861d38b862724052a5db66067d77ede468d4.tar.zst
yuzu-1dd4861d38b862724052a5db66067d77ede468d4.zip
-rw-r--r--src/video_core/textures/decoders.cpp5
-rw-r--r--src/video_core/textures/decoders.h4
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.
*/