citra-emu
/
citra-canary
Archived
1
0
Fork 0

Merge pull request #742 from archshift/i4

Implement I4 texture format
This commit is contained in:
Tony Wasserka 2015-05-11 13:08:18 +02:00
commit 244ba1a610
2 changed files with 12 additions and 1 deletions

View File

@ -393,6 +393,17 @@ const Math::Vec4<u8> LookupTexture(const u8* source, int x, int y, const Texture
} }
} }
case Regs::TextureFormat::I4:
{
u32 morton_offset = VideoCore::GetMortonOffset(x, y, 1);
const u8* source_ptr = source + morton_offset / 2;
u8 i = (morton_offset % 2) ? ((*source_ptr & 0xF0) >> 4) : (*source_ptr & 0xF);
i = Color::Convert4To8(i);
return { i, i, i, 255 };
}
case Regs::TextureFormat::A4: case Regs::TextureFormat::A4:
{ {
u32 morton_offset = VideoCore::GetMortonOffset(x, y, 1); u32 morton_offset = VideoCore::GetMortonOffset(x, y, 1);

View File

@ -156,7 +156,7 @@ struct Regs {
I8 = 7, I8 = 7,
A8 = 8, A8 = 8,
IA4 = 9, IA4 = 9,
I4 = 10,
A4 = 11, A4 = 11,
ETC1 = 12, // compressed ETC1 = 12, // compressed
ETC1A4 = 13, // compressed ETC1A4 = 13, // compressed