New compact texture type for OGL/D3D: RGB565

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2225 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
XTra.KrazzY
2009-02-12 22:32:33 +00:00
parent 57c4620902
commit e557e090dd
5 changed files with 31 additions and 11 deletions

View File

@ -58,6 +58,17 @@ LPDIRECT3DTEXTURE9 CreateTexture2D(const u8* buffer, const int width, const int
}
}
break;
case D3DFMT_R5G6B5:
{
const u16 *pIn = (u16*)buffer;
for (int y = 0; y < height; y++)
{
u16* pBits = (u16*)((u8*)Lock.pBits + (y * Lock.Pitch));
memcpy(pBits, pIn, width * 2);
pIn += pitch;
}
}
break;
case D3DFMT_A8L8:
{
const u8 *pIn = buffer;

View File

@ -176,9 +176,9 @@ void TextureCache::Load(int stage, u32 address, int width, int height, int forma
case PC_TEX_FMT_BGRA32:
d3d_fmt = D3DFMT_A8R8G8B8;
break;
/*case PC_TEX_FMT_BGRA16: is this of any use?
d3d_fmt = D3DFMT_A4R4G4B4;
break;*/
case PC_TEX_FMT_RGB565:
d3d_fmt = D3DFMT_R5G6B5;
break;
case PC_TEX_FMT_I8:
d3d_fmt = D3DFMT_A8L8;
break;