summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-08-16 22:17:12 -0400
committerbunnei <bunneidev@gmail.com>2015-08-16 22:17:12 -0400
commit1f18c9f8dd68b44fe949ef50e3fad753f4dc52d0 (patch)
treeafb04ab5b7ecce023d8b147c594d889c43a02263 /src/video_core
parent734f4b704147e1b42c318b2b7adab6ac27e04adb (diff)
parent7d0c17d2ae1d090ead31d9b412d707223575960f (diff)
Merge pull request #1034 from yuriks/rg8-textures
videocore: Added RG8 texture support
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/debug_utils/debug_utils.cpp6
-rw-r--r--src/video_core/pica.h3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/video_core/debug_utils/debug_utils.cpp b/src/video_core/debug_utils/debug_utils.cpp
index 21664aab6..8ad77f0c8 100644
--- a/src/video_core/debug_utils/debug_utils.cpp
+++ b/src/video_core/debug_utils/debug_utils.cpp
@@ -410,6 +410,12 @@ const Math::Vec4<u8> LookupTexture(const u8* source, int x, int y, const Texture
}
}
+ case Regs::TextureFormat::RG8:
+ {
+ auto res = Color::DecodeRG8(source + VideoCore::GetMortonOffset(x, y, 2));
+ return { res.r(), res.g(), 0, 255 };
+ }
+
case Regs::TextureFormat::I8:
{
const u8* source_ptr = source + VideoCore::GetMortonOffset(x, y, 1);
diff --git a/src/video_core/pica.h b/src/video_core/pica.h
index 36916f862..58b924f9e 100644
--- a/src/video_core/pica.h
+++ b/src/video_core/pica.h
@@ -174,7 +174,7 @@ struct Regs {
RGB565 = 3,
RGBA4 = 4,
IA8 = 5,
-
+ RG8 = 6, ///< @note Also called HILO8 in 3DBrew.
I8 = 7,
A8 = 8,
IA4 = 9,
@@ -215,6 +215,7 @@ struct Regs {
case TextureFormat::RGB565:
case TextureFormat::RGBA4:
case TextureFormat::IA8:
+ case TextureFormat::RG8:
return 4;
case TextureFormat::I4: